*DECK T5X                                                                T5X
*                                                                        T5X
*** T5X GENERAL INFORMATION -------------------------------------------- T5X
*** T5X  - 60X/65X TAPE TEST -                                           T5X
*** T5X OVERVIEW                                                         T5X
**                                                                       T5X
*                                                                        T5X
*   AUTHORS  - (T7X)  J.E. SIPPER                                        T5X
*              CONSULTANT - SOUTHEAST REGION                             T5X
*              ENGINEERING SERVICES                                      T5X
*              SEPTEMBER 1978                                            T5X
*                                                                        T5X
*                                                                        T5X
*            - T5X (DERIVATIVE OF T7X)  DON ROSBOROUGH                   T5X
*              EASTERN REGION TECH SUPPORT                               T5X
*              ENGINEERING SERVICES                                      T5X
*              SEPTEMBER 1978                                            T5X
*                                                                        T5X
*                                                                        T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         T5X IS A TAPE UNIT DIAGNOSTIC THAT RUNS UNDER THE MALET SOFT-  T5X
*         WARE SUBSYSTEM.  IT IS DESIGNED TO TEST ONE 607 OR 65X         T5X
*         TRANSPORT AT A TIME.                                           T5X
*                                                                        T5X
*         PARAMETERS  SELECTED  VIA  THE  *PARAM* DIRECTIVE ARE USED TO  T5X
*         DETERMINE THE TAPE SPEED, DENSITY, ASSEMBLY/DISASSEMBLY MODE,  T5X
*         TRANSLATION  MODE, EVEN/ODD  PARITY, AND RECORD LENGTH. THESE  T5X
*         PARAMETERS MUST  BE  SPECIFIED.   OTHER  OPTIONAL  PARAMETERS  T5X
*         INCLUDE  THE  FOLLOWING  -  BYPASS  RECORD NUMBERING, COMPARE  T5X
*         DATA, MAINTENANCE MODE, BYPASS WAIT NOT BUSY, FILE COUNT AND   T5X
*         RECORD COUNT.                                                  T5X
*                                                                        T5X
*         WHEN AN ERROR HAS BEEN DETECTED,   A TYPICAL MODULE WILL CALL  T5X
*         STATUS  ANALYSIS  MODULES  TO  DISPLAY ERROR MESSAGES AND THE  T5X
*         CURRENT STATUS OF THE SUBSYSTEM.  THE LAST 6681/6684 FUNCTION  T5X
*         AND STATUS ARE ALSO DISPLAYED.                                 T5X
*                                                                        T5X
*         IN ORDER TO SHORTEN THE TOTAL RUN-TIME OF T5X, IT IS           T5X
*         RECOMMENDED THAT A 600 FOOT REEL OF TAPE BE USED (MODULE       T5X
*         T5X61 MUST MOVE TO END OF TAPE TO TEST THE EOT SENSOR).        T5X
*         IN ADDITION, THE FOLLOWING VALUES SHOULD BE USED FOR           T5X
*         A NORMAL PASS.                                                 T5X
*                                                                        T5X
*         ****************************************************           T5X
*         *      TL = 600D   (10 MIN. MODULE TIME LIMIT)     *           T5X
*         *      P2 = 500    (500B WORDS PER RECORD)         *           T5X
*         *      P4 = 2000   (RANDOM DATA)                   *           T5X
*         *      P7 = 4      (LOCK ON RANDOM PATTERN)        *           T5X
*         *      P8 = 2      (2 FILES)                       *           T5X
*         *      P9 = 240    (240B RECORDS PER FILE)         *           T5X
*         ****************************************************           T5X
*                                                                        T5X
*         IT IS RECOMMENDED THAT BOTH NRZI AND PHASE ENCODED MODES       T5X
*         BE TESTED ON 9 TRACK UNITS.  ONE FULL PASS SHOULD BE MADE      T5X
*         AT THE MOST USED DENSITY, THEN MODULES 23-45, 56 AND 57        T5X
*         SHOULD BE EXECUTED AT THE OTHER DENSITY.                       T5X
*                                                                        T5X
*** T5X MODULES                                                          T5X
*                                                                        T5X
**                                                                       T5X
*   1.0   MODULES                                                        T5X
*                                                                        T5X
*         T5X IS COMPOSED OF TWO GROUPS OF MODULES.  THE FIRST GROUP     T5X
*         CAN BE USED TOGETHER AS A CONFIDENCE LEVEL DIAGNOSTIC OR       T5X
*         MODULES USED INDEPENDENTLY TO PERFORM REPAIR.  THE SECOND      T5X
*         GROUP IS PROVIDED STRICTLY FOR REPAIR OR FOR SPECIAL           T5X
*         APPLICATIONS.                                                  T5X
*                                                                        T5X
*         ALTHOUGH MOST MODULES ARE STAND-ALONE AND MAY BE RUN IN ANY    T5X
*         SEQUENCE, THERE ARE SPECIFIC MODULES WHICH READ TAPE THAT      T5X
*         REQUIRE A MODULE TO BE EXECUTED FIRST, IN ITS ENTIRETY, TO     T5X
*         WRITE THE TAPE.  ERRORS MAY BE EXPECTED IN A READ MODULE IF    T5X
*         THE WRITE MODULE IS STOPPED BEFORE TERMINATING NORMALLY.       T5X
*         REPEAT MODULE AND CONDITION SHOULD BE USED WITH CARE IN THESE  T5X
*         SITUATIONS (DO NOT REPEAT A WRITE MODULE AND AFTER SEVERAL     T5X
*         PASSES, STOP IT AND THEN EXECUTE A READ MODULE - THE CORRECT   T5X
*         SEQUENCE FOR TERMINATING A WRITE MODULE THAT IS BEING          T5X
*         REPEATED IS TO STOP IT, CLEAR THE REPEAT OPTION AND THEN GIVE  T5X
*         THE MODULE A GO TO CONTINUE TO NORMAL TERMINATION).            T5X
*                                                                        T5X
*         THE FOLLOWING MODULES RELY UPON PROPER SEQUENCING OF THE       T5X
*         WRITE MODULE PRIOR TO EXECUTION OF THE READ MODULE:            T5X
*                                                                        T5X
*                  READ                        WRITE                     T5X
*                                                                        T5X
*           T5X42 - READ TAPE MARKS    T5X41 - WRITE TAPE MARKS          T5X
*           T5X44,45 - READ            T5X43 - WRITE                     T5X
*           T5X57 - RANDOM READ        T5X56 - RANDOM WRITE              T5X
*                                                                        T5X
*         THE MAJORITY OF T5X MODULES SUPPORT THE SCOPING LOOP OPTION    T5X
*         (SE CLEAR AND RM OR RC SET).  THIS ALLOWS A FAILING SEQUENCE   T5X
*         TO BE REPEATED RAPIDLY FOR SCOPING, SHOCK TESTING, ETC. TO     T5X
*         PERFORM REPAIR.  DURING A SCOPING LOOP SITUATION, ONLY THE     T5X
*         PASS COUNT AND ERROR COUNT IS PRESENTED AS OUTPUT.  THE        T5X
*         FOLLOWING MODULES DO NOT SUPPORT SCOPING LOOPS.                T5X
*                                                                        T5X
*           T5X00 - PARAMETER VALIDATION                                 T5X
*           T5X21 - VALVE TEST                                           T5X
*           T5X59 - POSITION TEST                                        T5X
*           T5X60 - CREEP                                                T5X
*           T5X61 - EOT TEST                                             T5X
*           T5X73 - LADDER TEST                                          T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*   1.1   PART ONE - DIAGNOSTIC PASS                                     T5X
*                                                                        T5X
*      1. VERIFY PARAMETERS                                              T5X
*                                                                        T5X
*         T5X00 - PARAMETER VALIDATION                                   T5X
*                                                                        T5X
*                                                                        T5X
*      2. VERIFY TAPE HANDLING CAPABILITIES                              T5X
*                                                                        T5X
*         T5X20 - LOOPS                                                  T5X
*         T5X21 - VALVE TEST                                             T5X
*                                                                        T5X
*                                                                        T5X
*      3. PRELIMINARY DATA INTEGRITY TESTING BY TRACK                    T5X
*                                                                        T5X
*         T5X23 - TRACK TEST                                             T5X
*                                                                        T5X
*                                                                        T5X
*      4. TEST DATA INTEGRITY OF SINGLE OPERATIONS                       T5X
*                                                                        T5X
*         T5X40 - ERASE                                                  T5X
*         T5X41 - WRITE TAPE MARK/FILE MARK                              T5X
*         T5X42 - READ TAPE MARK/FILE MARK                               T5X
*         T5X43 - WRITE                                                  T5X
*         T5X44 - READ FORWARD                                           T5X
*         T5X45 - READ FORWARD/REVERSE                                   T5X
*                                                                        T5X
*                                                                        T5X
*      5. PERFORMANCE TEST USING SEQUENCES OF OPERATIONS                 T5X
*                                                                        T5X
*         T5X50 - BACKSPACE                                              T5X
*         T5X51 - BACKSPACE INCREMENTING LENGTH                          T5X
*         T5X52 - CONTROLLED BACKSPACE                                   T5X
*         T5X53 - CONTROLLED BACKSPACE INCR. LENGTH                      T5X
*         T5X54 - WRITE SKIP TO ERASE                                    T5X
*         T5X55 - WRITE SKIP INCR. LENGTH                                T5X
*         T5X56 - RANDOM WRITE                                           T5X
*         T5X57 - RANDOM READ FORWARD /REVERSE                           T5X
*         T5X59 - POSITION TEST                                          T5X
*         T5X60 - CREEP TEST                                             T5X
*         T5X61 - EOT TEST                                               T5X
*                                                                        T5X
*                                                                        T5X
*   1.2   PART TWO - REPAIR OR SPECIAL APPLICATION MODULES               T5X
*                                                                        T5X
*                                                                        T5X
*         T5X70 - TAPE PATH DAMAGE                                       T5X
*         T5X72 - STATUS                                                 T5X
*         T5X73 - LADDER TEST                                            T5X
*         T5X74 - CLIPPING LEVELS                                        T5X
*         T5X80 - COMPATIBILITY TEST
*         T5X81 - COMPATIBILITY TAPE CLEAN-UP 
*                                                                        T5X
*                                                                        T5X
*** T5X PARAMETERS                                                       T5X
*                                                                        T5X
**                                                                       T5X
*   2.0   T5X PARAMETER REGISTER CONTENTS                                T5X
*                                                                        T5X
*         PARAMETER VALIDATION IS DONE BY MODULE T5X00,                  T5X
*         NORMALLY THE FIRST MODULE EXECUTED IF THE *RUN*                T5X
*         DIRECTIVE IS  RUN T5X  OR  RUN T5X00.  HOWEVER,                T5X
*         THE USER CAN RUN SPECIFIC MODULES, THUS BYPASSING              T5X
*         THE EXECUTION OF T5X00.  IT IS RECOMMENDED THAT                T5X
*         T5X00 ALWAYS BE EXECUTED INITIALLY TO VALIDATE                 T5X
*         PARAMETERS.  EXAMPLE:                                          T5X
*                                                                        T5X
*                              RUN T5X(00,20)                            T5X
*                                                                        T5X
*                                  OR                                    T5X
*                                                                        T5X
*                              RUN T5X(00)                               T5X
*                              RUN T5X40                                 T5X
*                                                                        T5X
*                                                                        T5X
*         IF THIS PROCEDURE IS NOT FOLLOWED, ERRORS MAY RESULT           T5X
*         DUE TO ILLEGAL PARAMETERS.  (T5X IS DESIGNED TO ALLOW          T5X
*         ILLEGAL PARAMETERS FOR SPECIAL CASES WHERE ERROR               T5X
*         GENERATION IS DESIRED).                                        T5X
*                                                                        T5X
*         PARAMETER REGISTERS ARE SET BY THE USER WITH THE *PARAM*       T5X
*         DIRECTIVE.  ANY REGISTER NOT SET WILL DEFAULT TO 0000.         T5X
*         REGISTERS P0, P1 AND P2 MUST BE SET BY THE USER TO DEFINE      T5X
*         OPERATING MODES.  ALL OTHER REGISTERS MAY BE LEFT AT THEIR     T5X
*         DEFAULT VALUE OF ZERO.                                         T5X
*                                                                        T5X
*                                                                        T5X
***                                                                      T5X
**                                                                       T5X
*         THE FOLLOWING CROSS-REFERENCE TABLE DEFINES WHICH MODULES      T5X
*         OF T5X USE SPECIFIC PARAMETER REGISTERS.                       T5X
*                                                                        T5X
*                 P0   P1   P2   P3   P4   P5   P6   P7   P8   P9        T5X
*                -------------------------------------------------       T5X
*         T5X00    X    X    X    X    X                                 T5X
*         T5X20    X    X                                                T5X
*         T5X21         X    X    X         X    X                       T5X
*         T5X23         X    X                                           T5X
*         T5X40         X         X         X    X         X             T5X
*         T5X41         X         X         X    X         X             T5X
*         T5X42         X         X         X    X         X             T5X
*         T5X43         X    X    X    X    X    X    X    X    X        T5X
*         T5X44         X    X    X    X    X    X         X    X        T5X
*         T5X45         X    X    X    X    X    X         X    X        T5X
*         T5X50         X    X    X         X    X         X             T5X
*         T5X51         X         X         X    X         X             T5X
*         T5X52         X    X    X         X    X         X             T5X
*         T5X53         X         X         X    X         X             T5X
*         T5X54         X    X    X    X    X    X    X    X             T5X
*         T5X55         X         X    X    X    X    X    X             T5X
*         T5X56         X         X    X    X    X    X    X    X        T5X
*         T5X57         X         X    X    X    X         X    X        T5X
*         T5X59         X    X    X                        X             T5X
*         T5X60         X    X                                           T5X
*         T5X61         X                                                T5X
*         T5X70         X         X                                      T5X
*         T5X72         X                                                T5X
*         T5X73         X         X    X              X                  T5X
*         T5X74         X    X    X                                      T5X
*         T5X80         X    X    X                             X 
*         T5X81         X         X                        X
*                                                                        T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*  PARAMETER REGISTER SETTINGS                                           T5X
*                                                                        T5X
*     P0 - TAPE SPEED   VALUE INDICATES SPEED AS FOLLOWS -               T5X
*                                                                        T5X
*          P0 =  37B = 37.5 IPS                                          T5X
*                75B = 75   IPS                                          T5X
*               112B = 112  IPS                                          T5X
*               150B = 150  IPS                                          T5X
*                                                                        T5X
*           NOTE:  IF A VALID, BUT INCORRECT SPEED IS SELECTED,          T5X
*                  THE RECORD GAP MEASUREMENTS REPORTED BY MODULE        T5X
*                  T5X21 (VALVE TEST) AND THE CREEP REPORTED BY          T5X
*                  T5X60 WILL BE INVALID.                                T5X
*                                                                        T5X
*     P1 - TAPE ID                                                       T5X
*                                                                        T5X
*          PXXX - PARITY                                                 T5X
*                                                                        T5X
*                 0XXX = ODD PARITY                                      T5X
*                 1XXX = EVEN PARITY                                     T5X
*                                                                        T5X
*          XCXX - CODE CONVERSION OFF/ON                                 T5X
*                                                                        T5X
*                 X0XX = OFF                                             T5X
*                 X1XX = ON                                              T5X
*                                                                        T5X
*          XXAX - 3N+2 OFF/ON                                            T5X
*                                                                        T5X
*                 XX0X = OFF                                             T5X
*                 XX1X = ON                                              T5X
*                                                                        T5X
*                 CAUTION - 3N+2 SELECTION AT 1600 BPI ON A 1X SPEED     T5X
*                           PPU MAY CAUSE LOST DATA ERRORS ON WRITE      T5X
*                           OPERATIONS. 3N+2 SHOULD BE TESTED AT 800     T5X
*                           BPI IF THIS SITUATION OCCURS.                T5X
*                                                                        T5X
*          XXXD - DENSITY                                                T5X
*                                                                        T5X
*                 XXX0 = 556 BPI                                         T5X
*                 XXX1 = 800 BPI                                         T5X
*                 XXX2 = 1600 BPI                                        T5X
*                 XXX3 = 200 BPI                                         T5X
*                                                                        T5X
*                                                                        T5X
*     P2 = RECORD LENGTH                                                 T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*     P3 = FLAG AND MARGIN BITS                                          T5X
*                                                                        T5X
*          XCXX - CLIP LEVEL                                             T5X
*                                                                        T5X
*                 X0XX = NORMAL READ CLIP + IRG                          T5X
*                 X1XX = LOW    READ CLIP + IRG                          T5X
*                 X2XX = HYPER  READ CLIP + IRG                          T5X
*                 X3XX = HIGH   READ CLIP + IRG                          T5X
*                 X4XX = NORMAL READ CLIP - IRG                          T5X
*                 X5XX = LOW    READ CLIP - IRG                          T5X
*                 X6XX = HYPER  READ CLIP - IRG                          T5X
*                 X7XX = HIGH   READ CLIP - IRG                          T5X
*                                                                        T5X
*          XXFF - FLAG BITS                                              T5X
*                                                                        T5X
*                 XX4X = MAINTENANCE MODE IF THIS BIT IS A ONE,          T5X
*                        DIAGNOSTIC MODE IF THIS BIT IS A ZERO.          T5X
*                        IN MAINTENANCE MODE, MODULES WHOSE              T5X
*                        DURATION IS CONTROLLED BY P8 (FILE COUNT)       T5X
*                        OR P9 (RECORD COUNT) USE THE VALUES             T5X
*                        SUPPLIED BY THE USER IN P8 AND P9 (IF           T5X
*                        THESE VALUES ARE ZERO OR NOT SPECIFIED,         T5X
*                        THE FULL REEL OF TAPE IS USED TO CONTROL        T5X
*                        DURATION).                                      T5X
*                        IN DIAGNOSTIC MODE, MODULES WHOSE DURATION      T5X
*                        IS CONTROLLED BY P8 (FILE COUNT) WILL           T5X
*                        IGNORE THE VALUE SUPPLIED BY THE USER IN        T5X
*                        P8 AND WILL DEFAULT THE FILE COUNT TO 31        T5X
*                        OCTAL.  HOWEVER, MODULES WHICH USE REGISTER     T5X
*                        P9 STILL DEPEND UPON USER SUPPLIED VALUES       T5X
*                        IN P8 AND P9 TO CONTROL DURATION (SEE           T5X
*                        PARAMETER CROSS-REFERENCE TABLE).               T5X
*                                                                        T5X
*                 XX2X - BYPASS WAIT NOT BUSY IF THIS BIT IS A ONE,      T5X
*                        WAIT NOT BUSY AFTER EACH OPERATION IF THIS      T5X
*                        BIT IS A ZERO.                                  T5X
*                                                                        T5X
*                 XX1X - IF THIS BIT IS A ONE, MODULE T5X21 WILL TAKE    T5X
*                        A PICTURE OF THE GAP SIZES FOR BOTH DELAYED     T5X
*                        WRITE AND NON-DELAYED WRITE GAPS DURING THE     T5X
*                        VALVE TEST.  IF THIS BIT IS A ZERO, A PICTURE   T5X
*                        IS NOT TAKEN.                                   T5X
*                                                                        T5X
*                 XXX4 - LOCK TO BASE NUMBER IF THIS BIT IS A ONE        T5X
*                        AND RANDOM DATA PATTERN IS SELECTED.  P7        T5X
*                        WILL HOLD THE RANDOM STARTER.                   T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*                 XXX2 - COMPARE DATA IF THIS BIT IS A ONE.  THE         T5X
*                        FIRST 400 OCTAL WORDS OF A RECORD READ IS       T5X
*                        COMPARED WITH THE EXPECTED DATA PATTERN.        T5X
*                                                                        T5X
*                 XXX1 - BYPASS RECORD NUMBERING IF THIS BIT IS A        T5X
*                        ONE. OTHERWISE, POSITION DATA IS PLACED IN      T5X
*                        THE OUTPUT BUFFER AND WRITTEN ON TAPE AS        T5X
*                        FOLLOWS -                                       T5X
*                          OB(1) = CURRENT FILE NUMBER                   T5X
*                          OB(2) = CURRENT RECORD NUMBER                 T5X
*                          OB(3) = RECORD LENGTH                         T5X
*                                                                        T5X
*     P4 - DATA PATTERN GENERATION CONTROL                               T5X
*                                                                        T5X
*          P4 = 0XXX - SELECT FIXED PATTERN XXX                          T5X
*                      XXX IS A 6 OR 8 BIT PATTERN DEPENDING             T5X
*                      ON DRIVE TYPE (7 OR 9 TRACK).                     T5X
*                                                                        T5X
*             = 1XXX - SELECT ALTERNATE PATTERN XXX                      T5X
*                                                                        T5X
*                      PATTERN XXX IS STORED IN THE 1ST,3RD,             T5X
*                      5TH, ETC 6 OR 8 BIT BYTES OF OUTPUT               T5X
*                      BUFFER.  THE COMPLEMENT OF XXX IS                 T5X
*                      STORED IN THE 2ND, 4TH, 6TH ETC BYTES.            T5X
*                      (6 BIT STORES ARE DONE FOR 7TK AND                T5X
*                      8 BIT STORES ARE DONE FOR 9TK).                   T5X
*                      EXAMPLE:  P4=1000   (ASSUME 7TK)                  T5X
*                                                                        T5X
*                       DATA STORED= 0077 0077 0077 ETC.                 T5X
*                                                                        T5X
*             = 2XXX = SELECT RANDOM PATTERN                             T5X
*                      THE RANDOM PATTERN GENERATED IS                   T5X
*                      DETERMINED BY THE BASE RANDOM                     T5X
*                      NUMBER(P7).AND.THE LOCK TO BASE                   T5X
*                      NUMBER BIT(P3=XXX4)                               T5X
*                                                                        T5X
*               4XXX - REPORT FM/TM ERRORS (ERR - 207)                   T5X
*                                                                        T5X
*                                                                        T5X
*     P5 - RANDOM MILLISECOND DELAY MASK                                 T5X
*          P5 = 0000 - DISABLES USE OF RT CLOCK FOR                      T5X
*                      GENERATION OF RANDOM DELAYS.                      T5X
*                      WITH P5=0000 ANY VALUE ENTERED IN P6              T5X
*                      BECOMES A FIXED MILLISECOND DELAY.                T5X
*                                                                        T5X
*          P5 = XXXX - LOGICAL PRODUCT OF XXXX AND THE RT                T5X
*                      CLOCK PRODUCES  THE VALUE USED FOR                T5X
*                      THE MILLISECOND DELAY                             T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*     P6 - FIXED MILLISECOND DELAY                                       T5X
*          P6 = XXXX - IF P5=0000, P6 WILL BE USED AS FIXED              T5X
*                      DELAY OF XXXX MILLISECONDS                        T5X
*                                                                        T5X
*     P7 - BASE RANDOM NUMBER                                            T5X
*          P7 = 0000 - THE RANDOM STARTER WILL BE                        T5X
*                      OBTAINED FROM THE RT CLOCK                        T5X
*          P7 = XXXX - XXXX IS THE RANDOM NUMBER STARTER                 T5X
*                                                                        T5X
*     P8 - FILE COUNT                                                    T5X
*          P8 = 0000 - INFINITE FILE COUNT                               T5X
*                      RESULTS IN COMPLETE USE OF TAPE                   T5X
*                      BETWEEN BOT AND EOT                               T5X
*          P8 = XXXX - MAXIMUM NUMBER OF FILES TO WRITE/                 T5X
*                      READ PER MODULE                                   T5X
*                                                                        T5X
*     P9 - RECORD COUNT                                                  T5X
*          P9 = 0000 - INFINITE RECORD COUNT                             T5X
*                      RESULTS IN COMPLETE USE OF TAPE                   T5X
*                      BETWEEN BOT AND EOT                               T5X
*          P9 = XXXX - MAXIMUM NUMBER OF RECORDS TO                      T5X
*                      WRITE/READ PER FILE                               T5X
*          P9 = SSSS - SYSTEM ID (MODULE T5X80 ONLY)
*                                                                        T5X
*** T5X ERROR MESSAGES                                                   T5X
**                                                                       T5X
*   3.0   T5X MESSAGES                                                   T5X
*                                                                        T5X
*                                                                        T5X
*         ERRORS MAY BE REPORTED FROM THE FOLLOWING SOURCES              T5X
*                                                                        T5X
*          1. MODULE TEST SEQUENCE-    EC 1XX-2XX ERRORS                 T5X
*                                                                        T5X
*          2. PRODUCT OVERLAY -        E50XX ERROR CODES                 T5X
*                                                                        T5X
*          THE SUBSYSTEM STATUS IS DISPLAYED WHEN ERRORS                 T5X
*          ARE REPORTED.                                                 T5X
*                                                                        T5X
*                                                                        T5X
*   3.1   MODULE TEST SEQUENCE DETECTED ERRORS                           T5X
*                                                                        T5X
*                                                                        T5X
*           EC 070 - TAPE MOUNTED IS NOT A -COMPAT- TAPE
* 
*           EC 071 - RECORD COUNT=*OCT IN FILE *OCT, EXP=0311 
* 
*           EC 072 - RECORD COUNT=*OCT AT EOF *OCT, EXP=*OCT
* 
*           EC 073 - FILE COUNT=*OCT AT LOAD POINT, EXP=0000
*                                                                        T5X
*           EC 105 - DATA COMPARE ERROR. THE FIRST 400B WDS              T5X
*                    (OR THE RECORD LENGTH IN P2) THAT WERE              T5X
*                    TRANSFERED DO NOT COMPARE ALTHOUGH NO               T5X
*                    SUBSYSTEM ERRORS WERE REPORTED.                     T5X
*                                                                        T5X
*           EC 122 - NO FM/TM STATUS IN GENERAL STATUS AT                T5X
*                    END OF OPERATION AFTER A WRITE FM/TM                T5X
*                                                                        T5X
*           EC 123 - TAPE TOO SHORT FOR USE BY THE CURRENT MODULE        T5X
*                                                                        T5X
*           EC 124 - UNEXPECTED END OF TAPE STATUS                       T5X
*                                                                        T5X
*           EC 125 - STILL AT EOT AFTER 3 BACKSPACES                     T5X
*                                                                        T5X
*           EC 126 - CLIPPING LEVEL MODULE, RECORD TWO WAS NOT           T5X
*                    READ AFTER A BACKSPACE OVER IT AND THEN A           T5X
*                    READ.                                               T5X
*                                                                        T5X
*           EC 127 - INCORRECT RECORD LENGTH WAS ENCOUNTERED             T5X
*                    DURING A .TIME GAPS. FUNCTION                       T5X
*                                                                        T5X
*           EC 130 - BOT AND EOT AT THE SAME TIME                        T5X
*                                                                        T5X
*           EC 131 - UNEXPECTED BOT                                      T5X
*                                                                        T5X
*           EC 132 - ABNORMAL STATUS                                     T5X
*                                                                        T5X
*           EC 133 - NO EOT AFTER 3 READ FORWARDS                        T5X
*                                                                        T5X
*           EC 134 - CREEP IS OUT OF SPECIFICATIONS                      T5X
*                                                                        T5X
*           EC 137 - STILL AT BOT AFTER AN ERASE                         T5X
*                                                                        T5X
*           EC 14X - STATUS ERR-LAST DIGIT=DATA BIT                      T5X
*                                                                        T5X
*           EC 200 - AN UNEXPECTED BIT APPEARED IN GENERAL               T5X
*                    STATUS DURING A WRITE OPERATION. NOTE               T5X
*                    THAT GENERAL STATUS WAS MASKED WITH                 T5X
*                    6410B.                                              T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*                                                                        T5X
*           EC 202 - A STATUS ERROR OCCURRED ON A REVERSE                T5X
*                    READ. THE INPUT BUFFER CONTAINS THE                 T5X
*                    DATA JUST READ.                                     T5X
*                                                                        T5X
*           EC 203 - ALERT BIT IN GENERAL STATUS WAS SET                 T5X
*                    DURING A READ FORWARD OPERATION. THE                T5X
*                    INPUT BUFFER CONTAINS THE DATA READ.                T5X
*                                                                        T5X
*                                                                        T5X
*           EC 207 - A FM/TM WAS DETECTED OUT OF EXPECTED                T5X
*                    POSITION ON A READ OPERATION.  FOR THIS             T5X
*                    ERROR TO BE REPORTED, P4=4XXX.                      T5X
*                                                                        T5X
*           EC 211 - INCORRECT FILE DETECTED DURING A RANDOM             T5X
*                    READ.                                               T5X
*                                                                        T5X
*           EC 212 - INCORRECT RECORD HAS BEEN DETECTED                  T5X
*                    DURING A RANDOM READ.                               T5X
*                                                                        T5X
*           EC 213 - INCORRECT RECORD LENGTH HAS BEEN                    T5X
*                    DETECTED DURING A RANDOM READ.                      T5X
*                                                                        T5X
*           EC 217 - ALERT IS SET AFTER A CONTROLLED BKSP.               T5X
*                                                                        T5X
*           EC 220 - A STATUS ERROR OCCURRED ON THE READ                 T5X
*                    BACKWARDS FOLLOWING A CONTROLLED BKSP.              T5X
*                                                                        T5X
*           EC 221 - AN INCORRECT RECORD HAS BEEN DETECTED               T5X
*                    FOLLOWING A CONTROLLED BACKSPACE. B1                T5X
*                    WILL CONTAIN THE ACTUAL RECORD DETECTED.            T5X
*                                                                        T5X
*           EC 222 - IMPROPER RECORD LENGTH WAS DETECTED ON              T5X
*                    A REVERSE READ FOLLOWING A CONTROLLED               T5X
*                    BKSP.  SEE WC AND WT.                               T5X
*                                                                        T5X
*                                                                        T5X
*           EC 226 - ERROR HAS OCCURRED DURING A READ FWD                T5X
*                    OPERATION IN THE TAPE PATH DAMAGE TEST.             T5X
*                                                                        T5X
*           EC 227 - ERROR HAS OCCURRED DURING A READ REV                T5X
*                    OPERATION IN THE TAPE PATH DAMAGE TEST.             T5X
*                                                                        T5X
*                                                                        T5X
*           EC 240 - AN ABNORMAL STATUS WAS DETECTED DURING              T5X
*                    A CONTROLLED BKSP IN THE POSITION TEST.             T5X
*                                                                        T5X
*           EC 241 - AN ABNORMAL STATUS WAS DETECTED DURING              T5X
*                    A BACKSPACE IN THE POSITION TEST.                   T5X
*                                                                        T5X
*           EC 242 - AN ABNORMAL STATUS WAS DETECTED DURING              T5X
*                    A READ FWD IN THE POSITION TEST.                    T5X
*                                                                        T5X
***                                                                      T5X
**                                                                       T5X
*           EC 243 - A COMPARE ERROR HAS OCCURRED WHEN THE WRITE         T5X
*                    AND READ DATA (1ST WORD) WERE COMPARED FOR          T5X
*                    RECORDS 1,2 OR 3 IN THE POSITION TEST.              T5X
*                                                                        T5X
*           EC 244 - AN ABNORMAL STATUS WAS DETECTED DURING              T5X
*                    THE READ FORWARD OF RECORD 6 IN THE                 T5X
*                    POSITION TEST.                                      T5X
*                                                                        T5X
*           EC 245 - THE 1ST WORD WRITTEN AND 1ST WORD READ              T5X
*                    FOR RECORD 6 HAVE FAILED TO COMPARE IN THE          T5X
*                    POSITION TEST. B6=EXPECTED  IB(0)=ACTUAL            T5X
*                                                                        T5X
*           EC 246 - AN ALERT STATUS OCCURRED AFTER AN ERASE.            T5X
*                                                                        T5X
*                                                                        T5X
*           EC 251 - FILE MARK STATUS IS MISSING AT END-OF               T5X
*                    OP DURING A READ FILE MARK REVERSE.                 T5X
*                                                                        T5X
*           EC 252 - FILE MARK STATUS IS MISSING AT END-OF-              T5X
*                    OP DURING A READ FILE MARK FORWARD.                 T5X
*                                                                        T5X
*           EC 253 - A STATUS ERROR OCCURRED ON A BACKSPACE.             T5X
*                                                                        T5X
*           EC 254 - THE ALERT BIT WAS SET IN GENERAL STATUS             T5X
*                    FOLLOWING THE FIRST READ REV AFTER A                T5X
*                    BACKSPACE.                                          T5X
*                                                                        T5X
*           EC 255 - AN INCORRECT RECORD LENGTH WAS DETECTED             T5X
*                    ON A REVERSE READ FOLLOWING A BACKSPACE             T5X
*                    OPERATION.                                          T5X
*                                                                        T5X
*           EC 256 - AN INCORRECT RECORD WAS DETECTED ON A               T5X
*                    READ REVERSE FOLLOWING A BACKSPACE.                 T5X
*                                                                        T5X
*                                                                        T5X
*           EC 267 - THE NUMBER OF RECORDS WRITTEN AND THE               T5X
*                    NUMBER OF RECORDS READ IN REVERSE DO                T5X
*                    NOT COMPARE. THE CONTENTS OF B0 AND B1              T5X
*                    SHOULD BE ZERO BUT ARE NOT.  THE PLUS               T5X
*                    OR MINUS VALUE OF THE COUNTS RECORDED               T5X
*                    IN B0 AND B1 AT LOAD POINT (AFTER THE               T5X
*                    READ REVERSE) ARE EQUAL TO THE NUMBER               T5X
*                    OF RECORDS MISSED OR PICKED UP.                     T5X
*                                                                        T5X
***                                                                      T5X
*                                                                        T5X
**                                                                       T5X
*   3.2   MODULE STATUS ANALYSIS DISPLAY                                 T5X
*                                                                        T5X
*                                                                        T5X
*        LINE 1  -   CH=*OCT  EQ=*OCT  UN=*OCT  DC=*OCT  EA=*OCT         T5X
*                                                                        T5X
*              CHANNEL NUMBER, EQUIPMENT NUMBER, UNIT NUMBER,            T5X
*              DEVICE CODE, AND ERROR ADDRESS                            T5X
*                                                                        T5X
*              (ERROR ADDRESS IS THE LINE NUMBER IN                      T5X
*              THE MODULE AT WHICH THE ERROR OCCURRED)                   T5X
*                                                                        T5X
*                                                                        T5X
*        LINE 2  -  LF=*OCT L81F=*OCT L81S=*OCT WC=*OCT WT=*OCT*OCT      T5X
*                                                                        T5X
*              THE LAST EQUIPMENT FUNCTION ISSUED TO                     T5X
*              THE CONTROLLER.                                           T5X
*                                                                        T5X
*              THE LAST FUNCTION ISSUED TO THE 6681 OR 6684              T5X
*                                                                        T5X
*              THE LAST STATUS OF THE 6681 OR 6684                       T5X
*                                                                        T5X
*              THE CONTENTS OF THE WORD COUNT REGISTER                   T5X
*              (USUALLY LOADED BY PARAMETER SETTINGS)                    T5X
*              AND,                                                      T5X
*                                                                        T5X
*              THE NUMBER OF WORDS TRANSMITTED BY                        T5X
*              THE LAST I/O OPERATION                                    T5X
*                                                                        T5X
*                                                                        T5X
*        LINE 3  -   FILE=*OCT  RECORD=*OCT     ERROR COUNT=*OCT         T5X
*                                                                        T5X
*              THE FILE NUMBER ON WHICH THE ERROR OCCURRED,              T5X
*              THE RECORD NUMBER ON WHICH THE ERROR OCCURRED,            T5X
*              AND THE CURRENT CONTENTS OF THE ERROR COUNTER             T5X
*                                                                        T5X
*                                                                        T5X
*        LINE 4 -  SB(0-2) =*OCT *OCT *OCT                               T5X
*                                                                        T5X
*              THE CURRENT CONTENTS OF THREE STATUS BUFFER               T5X
*              WORDS WHICH ARE AS FOLLOWS                                T5X
*                                                                        T5X
*                 SB(0) - EQUIPMENT STATUS (1ST WORD)                    T5X
*                 SB(1) - EQUIPMENT STATUS (2ND WORD IF 65X)             T5X
*                 SB(2) - THE ---LAST--- 668X STATUS                     T5X
*                                                                        T5X
***                                                                      T5X
**                                                                       T5X
*        LINE 5 -   OB(0-7) =*OCT*OCT*OCT*OCT*OCT*OCT*OCT*OCT            T5X
*                                                                        T5X
*              THE CURRENT CONTENTS OF THE FIRST EIGHT                   T5X
*              WORDS OF THE 500B WORD OUTPUT BUFFER                      T5X
*                                                                        T5X
*                                                                        T5X
*        LINE 6  -   IB(0-7) =*OCT*OCT*OCT*OCT*OCT*OCT*OCT*OCT           T5X
*                                                                        T5X
*              THE CURRENT CONTENTS OF FIRST EIGHT                       T5X
*              WORDS OF THE 500B WORD INPUT BUFFER                       T5X
*                                                                        T5X
*                                                                        T5X
*        LINE 6  -   B0-B7   =*OCT*OCT*OCT*OCT*OCT*OCT*OCT*OCT           T5X
*                                                                        T5X
*              THE CURRENT CONTENTS OF THE EIGHT INDEX REGISTERS         T5X
*                                                                        T5X
*                                                                        T5X
*        LINE 7  -   P0-P7   =*OCT*OCT*OCT*OCT*OCT*OCT*OCT*OCT           T5X
*                                                                        T5X
*              THE CURRENT CONTENTS OF THE FIRST EIGHT PARAMETER         T5X
*              REGISTERS                                                 T5X
*                                                                        T5X
*                                                                        T5X
*        LINE 8  -   P8-P9   =*OCT*OCT                                   T5X
*                                                                        T5X
*              THE CURRENT CONTENTS OF THE LAST TWO PARAMETER            T5X
*              REGISTERS                                                 T5X
*                                                                        T5X
*                                                                        T5X
*                                                                        T5X
*        IF THE *COMPARE DATA* PARAMETER HAS BEEN SELECTED IN P3         T5X
*        AND THERE IS A MISMATCH BETWEEN THE 1ST 400B WORDS OF           T5X
*        THE INPUT AND OUTPUT BUFFERS, THE FOLLOWING MESSAGE             T5X
*        WILL APPEAR:                                                    T5X
*                                                                        T5X
*                               DATA ERROR(S)                            T5X
*                    ERR.. WD=*OCT  AC=*OCT  EX=*OCT  DIFF=*OCT          T5X
*                                                                        T5X
*              THE SECOND LINE OF THE MESSAGE GIVES THE ADDRESS IN       T5X
*              THE BUFFER OF THE 1ST MISMATCH, THE ACTUAL WORD IN        T5X
*              THAT ADDRESS, THE WORD THAT WAS EXPECTED TO BE IN         T5X
*              THAT ADDRESS, AND THE DIFFERENCE BETWEEN THE TWO          T5X
*              WORDS                                                     T5X
*                                                                        T5X
*                                                                        T5X
*        THE FOLLOWING MESSAGE INDICATES THAT A 668X STATUS WAS          T5X
*        RETURNED THAT IS NOT LEGITIMATE                                 T5X
*                                                                        T5X
*                  WRONG 6681 REJECT STATUS, SEE SB(2)                   T5X
*                                                                        T5X
***                                                                      T5X
**                                                                       T5X
*        A LIST OF ALL POSSIBLE STATUS CONDITIONS, IN                    T5X
*        THE FORMAT IN WHICH THEY WILL APPEAR, IF THE                    T5X
*        CORRESPONDING CONDITION OCCURS, FOLLOWS:                        T5X
*                                                                        T5X
*                    STATUS = 6681 XMISSION P.E.                         T5X
*                    STATUS = 6681 INTERNAL REJECT                       T5X
*                    STATUS = 6681 EXTERNAL REJECT                       T5X
*                    STATUS = READY                                      T5X
*                    STATUS = BUSY                                       T5X
*                    STATUS = WRITE ENABLE                               T5X
*                    STATUS = FILE MARK                                  T5X
*                    STATUS = LOAD POINT                                 T5X
*                    STATUS = END OF TAPE                                T5X
*                    STATUS = 200 BPI                                    T5X
*                    STATUS = 556 BPI                                    T5X
*                    STATUS = 800 BPI                                    T5X
*                    STATUS = 1600 BPI                                   T5X
*                    STATUS = LOST DATA                                  T5X
*                    STATUS = END OF OPERATION                           T5X
*                    STATUS = ALERT                                      T5X
*                    STATUS = UNIT RESERVED                              T5X
*                    STATUS = TAPE PARITY ERROR                          T5X
*                    STATUS = MEMORY PARITY ERROR                        T5X
*                    STATUS = FLAG BIT ERROR                             T5X
*                    STATUS = CRC ERROR                                  T5X
*                    STATUS = MULTI-TRK OR UNCORRECTABLE CRC ERROR       T5X
*                    STATUS = CHARACTER FILL                             T5X
*                    STATUS = CHAR CROWD OR DROP AND FALSE END OF OP     T5X
*                    STATUS = PHASE ERROR CORRECTION                     T5X
*                    STATUS = FALSE POSTAMBLE DETECTED                   T5X
*                    STATUS = COLD START ERROR                           T5X
*                    STATUS = ---- UNIT NOT READY ----                   T5X
*                    STATUS = VERTICAL PARITY ERROR                      T5X
*                    STATUS = (TAPE AT E.O.T. AND B.O.T.)                T5X
*                                                                        T5X
*                                                                        T5X
*** T5X ABBREVIATIONS                                                    T5X
*                                                                        T5X
**                                                                       T5X
*     4.0 ABBREVIATIONS                                                  T5X
*                                                                        T5X
*         AC      - ACTUAL (DATA OR STATUS)                              T5X
*         ALT     - ALTERNATE                                            T5X
*         AUX     - AUXILLARY                                            T5X
*         B       - OCTAL VALUE (IE. 500B = 500 OCTAL)                   T5X
*         BFR     - BUFFER                                               T5X
*         BKSP    - BACKSPACE                                            T5X
*         BOT     - BEGINNING OF TAPE                                    T5X
*         B.O.T.  - BOT                                                  T5X
*         CH      - CHANNEL (OR CHANNEL NUMBER)                          T5X
*         CHAR    - CHARACTER                                            T5X
*         COND    - CONDITION                                            T5X
*         CONVR   - CONVERSION                                           T5X
*         CORR    - CORRECTION                                           T5X
*         CRC     - CYCLIC REDUNDANCY CHECK, OR CHARACTER                T5X
*         DC      - DEVICE CODE                                          T5X
*         DEC     - DECIMAL                                              T5X
*         *DEC    - REPLACED BY A DECIMAL VALUE                          T5X
*         DIAG    - DIAGNOSTIC                                           T5X
*         DIFF    - DIFFERENCE (BETWEEN ACTUAL AND EXPECTED)             T5X
*         EA      - ERROR ADDRESS                                        T5X
*         EC      - ERROR CODE                                           T5X
*         EOF     - END OF FILE                                          T5X
*         E.O.F.  - EOF                                                  T5X
*         EOP     - END OF OPERATION                                     T5X
*         EOT     - END OF TAPE                                          T5X
*         E.O.T.  - EOT                                                  T5X
*         EQ      - EQUIPMENT (OR EQUIPMENT NUMBER)                      T5X
*         ERR(S)  - ERROR OR ERRORS                                      T5X
*         EX      - EXPECTED (DATA OR STATUS)                            T5X
*         EXP     - EXPECTED                                             T5X
*         FCN     - FUNCTION                                             T5X
*         FM/TM   - FILE MARK/TAPE MARK                                  T5X
*         FWD     - FORWARD                                              T5X
*         IB      - INPUT BUFFER                                         T5X
*         IBG     - INTER BLOCK GAP                                      T5X
*         IPS     - INCHES PER SECOND                                    T5X
*         IRGS    - INTER RECORD GAPS                                    T5X
*         I/O     - INPUT/OUTPUT                                         T5X
*         LF      - LAST FUNCTION                                        T5X
*         L81F    - LAST 6681 (OR 6684) FUNCTION                         T5X
*         L81S    - LAST 6681 (OR 6684) STATUS                           T5X
*         MAINT   - MAINTENANCE                                          T5X
*         MAX     - MAXIMUM                                              T5X
*         MIN     - MINIMUM                                              T5X
*         MSG     - MESSAGE                                              T5X
*         OB      - OUTPUT BUFFER                                        T5X
*         OCT     - OCTAL                                                T5X
*         *OCT    - REPLACED BY AN OCTAL VALUE                           T5X
*         OP      - OPERATION                                            T5X
*         OP.     - OP                                                   T5X
*         P       - PARAMETER REGISTER                                   T5X
*         PE      - PHASE ENCODED                                        T5X
*         P.E.    - PARITY ERROR                                         T5X
*         PP      - PERIPHERAL PROCESSOR                                 T5X
*         PPU     - PERIPHERAL PROCESSOR UNIT                            T5X
*         PTRN    - PATTERN                                              T5X
*         REC     - RECORD                                               T5X
*         REG     - REGISTER                                             T5X
*         REV     - REVERSE                                              T5X
*         R/W     - READ/WRITE                                           T5X
*         SB      - STATUS BUFFER                                        T5X
*         TK(S)   - TRACK OR TRACKS                                      T5X
*         TRK     - TRACK                                                T5X
*         TCU     - TAPE CONTROL UNIT                                    T5X
*         UN      - UNIT (OR UNIT NUMBER)                                T5X
*         WC      - WORD COUNT                                           T5X
*         WDS     - WORDS                                                T5X
*         WORD    - 12 BITS                                              T5X
*         WT      - WORDS TRANSMITTED                                    T5X
*         XLATE   - TRANSLATE                                            T5X
*                                                                        T5X
*                                                                        T5X
*                                                                        T5X
*   END OF T5X GENERAL INFORMATION ------------------------------------- T5X
*                                                                        T5X
   MODULE T5X00,65X(40,41,50,51)LOCK   - PARAMETER TESTING -             T5X
*** T5X00 - PARAMETER VALIDATION                                         T5X
*                                                                        T5X
**  T5X00 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         T5X00 VERIFIES THAT THE PARAMETERS THAT HAVE BEEN              T5X
*         ENTERED INTO PARAMETER REGISTERS P0 THRU P9 ARE                T5X
*         WITHIN LEGAL RANGE FOR USE BY THE REMAINING MODULES            T5X
*         THAT MAKE UP T5X.                                              T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1.  T5X00 - PARAMETER ERROR(S)                                 T5X
*         2.  9TK EVEN PARITY IS ILLEGAL         -(P1)-                  T5X
*         3.  ILLEGAL 3N+2 SELECTION             -(P1)-                  T5X
*         4.  ILLEGAL CONVERSION MODE SELECTION  -(P1)-                  T5X
*         5.  7TK AND 3N+2 MODE IS ILLEGAL       -(P1)-                  T5X
*         6.  7TK EVEN PARITY MUST HAVE CONVR=1  -(P1)-                  T5X
*         7.  ILLEGAL PARITY SELECTION           -(P1)-                  T5X
*         8.  ILLEGAL DENSITY SELECTION          -(P1)-                  T5X
*         9.  ILLEGAL RECORD LENGTH SELECTION    -(P2)-                  T5X
*        10.  ILLEGAL PATTERN SELECTION          -(P4)-                  T5X
*        11.  9TK 200/556 DENSITY IS ILLEGAL     -(P1)-                  T5X
*        12.  7TK 1600 DENSITY IS ILLEGAL        -(P1)-                  T5X
*                                                                        T5X
*                                                                        T5X
*** T5X00 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*                                                                        T5X
*   REGISTER USAGE                                                       T5X
*                                                                        T5X
*         B6 = MESSAGE LINE NUMBER                                       T5X
*                                                                        T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         NONE                                                           T5X
*                                                                        T5X
*                                                                        T5X
*                                                                        T5X
 1 FORMAT T5X00 - PARAMETER VALIDATION                                   T5X
 2 FORMAT T5X00 - PARAMETER ERROR(S)                                     T5X
 3 FORMAT    9TK EVEN PARITY IS ILLEGAL         -(P1)-                   T5X
 4 FORMAT    ILLEGAL 3N+2 SELECTION             -(P1)-                   T5X
 5 FORMAT    ILLEGAL CONVERSION MODE SELECTION  -(P1)-                   T5X
 6 FORMAT    7TK AND 3N+2 MODE IS ILLEGAL       -(P1)-                   T5X
 7 FORMAT    7TK EVEN PARITY MUST HAVE CONVR=1  -(P1)-                   T5X
10 FORMAT    ILLEGAL PARITY SELECTION           -(P1)-                   T5X
13 FORMAT    ILLEGAL DENSITY SELECTION          -(P1)-                   T5X
14 FORMAT    ILLEGAL RECORD LENGTH SELECTION    -(P2)-                   T5X
16 FORMAT    ILLEGAL PATTERN SELECTION          -(P4)-                   T5X
17 FORMAT    9TK 200/556 DENSITY IS ILLEGAL     -(P1)-                   T5X
20 FORMAT    7TK 1600 DENSITY IS ILLEGAL        -(P1)-                   T5X
21 FORMAT P0=*OCT  P1=*OCT  P2=*OCT  P3=*OCT  P4=*OCT                    T5X
22 FORMAT P5=*OCT  P6=*OCT  P7=*OCT  P8=*OCT  P9=*OCT                    T5X
30 MSG 1 TO DISPLAY,PRINT    *RUNNING MESSAGE                            T5X
   B6 = 1                    *SET LINE NUMBER FOR ERROR MSGS             T5X
   IF(P1.AND.6000.NE.0) ERROR 10/0, GOSUB 70   *BAD PARITY               T5X
   IF(P1.AND.600.NE.0)ERROR 5/0, GOSUB 70      *BAD CONVR                T5X
   IF(P1.AND.60.NE.0)ERROR 4/0, GOSUB 70       *BAD 3N+2                 T5X
   IF(P1.AND.0004.NE.0)ERROR 13/0, GOSUB 70    *BAD DENSITY              T5X
   IF(DC.AND.10.EQ.0) GOTO 40     *7TRK UNIT                             T5X
*                                                                        T5X
*---------TEST 9TK OPTIONS                                               T5X
*                                                                        T5X
   IF(P1.AND.1000.NE.0) ERROR 3/0, GOSUB 70    *BAD PARITY               T5X
33 IF(P1.AND.7.EQ.0) ERROR 17/0, GOSUB 70     *BAD DENSITY               T5X
   IF(P1.AND.7.EQ.3) ERROR 17/0, GOSUB 70     *BAD DENSITY               T5X
   GOTO 50                                                               T5X
*                                                                        T5X
*---------TEST 7TK OPTIONS                                               T5X
*                                                                        T5X
40 IF(P1.AND.70.NE.0) ERROR 6/0, GOSUB 70     *BAD 3N+2                  T5X
   IF(P1.AND.1000.EQ.0) GOTO 41        *ODD PARITY                       T5X
   IF(DC.EQ.40) GOTO 41                *IF 60X UNIT                      T5X
   IF(P1.AND.100.NE.100)ERROR 7/0, GOSUB 70      *BAD CONVR              T5X
41 IF(P1.AND.7.EQ.2) ERROR 20/0, GOSUB 70     *BAD DENSITY               T5X
*                                                                        T5X
*---------TEST OTHER PARAMETER REGISTERS                                 T5X
*                                                                        T5X
50 IF(P2.EQ.0) ERROR 14/0, GOSUB 70             *BAD WC                  T5X
   IF(P4.AND.3000.EQ.3000) ERROR 16/0,GOSUB 70  *BAD PATTERN             T5X
*                                                                        T5X
*---------IF ERRORS, REPORT THEM AND TERMINATE                           T5X
*                                                                        T5X
   IF(B6.NE.1) GOTO 51       *IF ERRORS                                  T5X
   EXIT                      *NORMAL EXIT                                T5X
51 MSG 2 TO LINE 0                                                       T5X
   MSG 21(P0,P1,P2,P3,P4) TO LINE B6                                     T5X
   B6 = B6 + 1                                                           T5X
   MSG 22(P5,P6,P7,P8,P9) TO LINE B6                                     T5X
   PICTURE                   *REPORT ERRORS TO OUTPUT FILE               T5X
   GOTO 77                   *ABNORMAL TERMINATION                       T5X
*                                                                        T5X
*---------ADD ERROR TO DISPLAY                                           T5X
*                                                                        T5X
70 MSG EM TO LINE B6                                                     T5X
   B6 = B6 + 1               *BUMP DISPLAY LINE NUMBER                   T5X
   RETURN                                                                T5X
77 END 30                                                                T5X
COMPILE    - T5X00 -                                                     T5X
   MODULE T5X20,65X(40,41,50,51)LOCK   - LOOPS -                         T5X
*** T5X20 - LOOPS                                                        T5X
*                                                                        T5X
**  T5X20 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         T5X20 TESTS THE ABILITY OF THE TAPE UNIT TO MOVE TAPE          T5X
*         FORWARD AND REVERSE WITHOUT CAUSING LOOP FAULTS.               T5X
*         DATA IS IGNORED.  ONLY READY, BOT AND EOT ARE CHECKED.         T5X
*         TAPE IS MOVED 8 FEET FORWARD AND THEN REWOUND.                 T5X
*                                                                        T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. POST RUNNING MESSAGE.                                       T5X
*         2. RESERVE.                                                    T5X
*         3. REWIND.                                                     T5X
*         4. VERIFY STATUS. REPORT EC 132 IF ERROR.                      T5X
*            REPORT EC 123 AND EXIT IF EOT.                              T5X
*         5. RESERVE.                                                    T5X
*         6. VERIFY STATUS. REPORT EC 132 IF ERROR.                      T5X
*            REPORT EC 123 AND EXIT IF EOT.                              T5X
*         7. ERASE 6 INCHES OF TAPE.                                     T5X
*         8. REPORT EC 137 IF BOT STATUS.                                T5X
*         9. VERIFY STATUS. REPORT EC 132 IF ERROR.                      T5X
*            REPORT EC 123 AND EXIT IF EOT.                              T5X
*        10. REPEAT STEPS 5 THROUGH 9 SIXTEEN TIMES.                     T5X
*        11. REWIND.                                                     T5X
*        12. VERIFY STATUS. REPORT EC 132 IF ERROR.                      T5X
*            REPORT EC 123 AND EXIT IF EOT.                              T5X
*        13. REPEAT MODULE OR EXIT.                                      T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS.                                 T5X
*                                                                        T5X
*         2. T5X20 - ABORT ON .RES. COMMAND                              T5X
*         3. T5X20 - ABORT ON .REWIND. COMMAND                           T5X
*         4. T5X20 - ABORT ON .ERASE. COMMAND                            T5X
*         5. T5X20 - ABORT ON .STATUS. COMMAND                           T5X
*                                                                        T5X
*         6. T5X20 - EC 123 - TAPE TOO SHORT                             T5X
*         7. T5X20 - EC 132 - ABNORMAL STATUS                            T5X
*         8. T5X20 - EC 137 - STILL AT BOT AFTER AN ERASE                T5X
*                                                                        T5X
*                                                                        T5X
*** T5X20 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   REGISTER USAGE                                                       T5X
*                                                                        T5X
*         B1 = CURRENT ERASE COUNT (NUMBER DONE)                         T5X
*         B5 = MESSAGE NUMBER IN CASE OF COMMAND ABORT                   T5X
*         B6 = PASS COUNT FOR SCOPING LOOPS                              T5X
*         BA = ERROR COUNTER                                             T5X
*                                                                        T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*                                                                        T5X
 1 FORMAT T5X20 - LOOPS                                                  T5X
 2 FORMAT T5X20 - EC 132 - ABNORMAL STATUS                               T5X
 3 FORMAT T5X20 - ERRS=*DEC LOOPS=*DEC                                   T5X
 4 FORMAT T5X20 ERROR(S) IN MODULE =  *DEC                               T5X
 5 FORMAT T5X20 - EC 137 - STILL AT BOT AFTER AN ERASE                   T5X
10 FORMAT T5X20 - ABORT ON .RES. COMMAND                                 T5X
11 FORMAT T5X20 - ABORT ON .REWIND. COMMAND                              T5X
12 FORMAT T5X20 - ABORT ON .ERASE. COMMAND                               T5X
13 FORMAT T5X20 - ABORT ON .STATUS. COMMAND                              T5X
14 FORMAT T5X20 - EC 123 - TAPE TOO SHORT                                T5X
*                                                                        T5X
   EQUATE READY TO 1, EOT TO 40, BOT TO 20                               T5X
*                                                                        T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY,PRINT      *POST RUNNING MESSAGE                     T5X
*                                                                        T5X
*---------TEST LOOPS----------                                           T5X
*                                                                        T5X
21 B5 = 10                                                               T5X
   RES P1, ABT 70                                                        T5X
23 B5 = 11                                                               T5X
   REWIND, ABT 70                                                        T5X
   GOSUB 60          *VERIFY STATUS                                      T5X
   B1 = 0   *CLEAR CURRENT ERASE COUNT                                   T5X
24 B5 = 10                                                               T5X
   RES P1, ABT 70                                                        T5X
   GOSUB 60          *VERIFY STATUS                                      T5X
   B5 = 12                                                               T5X
25 ERASE, ABT 70     *MOVE 6 INCHES OF TAPE                              T5X
   IF(SB.AND.BOT.NE.0) ERROR 5/0, GOTO 70                                T5X
   GOSUB 60          *VERIFY STATUS                                      T5X
   GOTO 24 WHILE (B1+1.NE.16D)                                           T5X
   B5 = 11                                                               T5X
   REWIND, ABT 70                                                        T5X
   GOSUB 60          *VERIFY STATUS                                      T5X
   GOTO 72           *TEST REPEAT COND. AND MODULE                       T5X
*                                                                        T5X
*----------TEST STATUS SUBROUTINE------------                            T5X
*                                                                        T5X
60 IF(SB.AND.EOT.NE.0) ERROR 14/0, GOTO 62  *SHORT TAPE                  T5X
61 IF(SB.AND.READY.NE.1) ERROR 2/0, GOTO 62   *DROPPED READY             T5X
   RETURN                                                                T5X
*                                                                        T5X
*-------ERROR PROCESSOR-----------------------------                     T5X
*                                                                        T5X
62 ENDSUB                                                                T5X
   STATUS, ABT 63                *GET 2ND WORD FOR 65X                   T5X
   GOTO 70                                                               T5X
63 B5 = 13                       *SET MSG INDEX FOR STATUS ABORT         T5X
70 BA = BA + 1       *BUMP ERROR COUNT                                   T5X
   IF(ES.AND.SL.NE.0) GOTO 73  *SCOPING                                  T5X
   IF(EM.LT.100) GOTO 71      *NO DRIVER ERROR                           T5X
   MSG B5 TO LINE 0                                                      T5X
71 MSG EM TO LINE 1                                                      T5X
   CALL 980          *CALL STATUS CRACKER                                T5X
   MSG 1 TO DISPLAY  *RE-POST RUNNING MESSAGE                            T5X
72 IF(ES.AND.SL.EQ.0) GOTO 74  *NOT SCOPING                              T5X
73 B6 = B6 + 1       *BUMP PASS COUNT                                    T5X
   MSG 3(BA,B6) TO DISPLAY    *POST SCOPING MSG                          T5X
74 IF(ES.AND.CM.NE.0) GOTO 21  *RC OR RM                                 T5X
   IF(BA.EQ.0) GOTO 76        *NO MODULE ERRORS                          T5X
   MSG 4(BA) TO DAYFILE       *INDICATE ERRORS TO DAYFILE                T5X
76 EXIT                                                                  T5X
   END 20                                                                T5X
COMPILE   - T5X20 -                                                      T5X
   MODULE T5X21,65X(40,41,50,51)LOCK   - VALVE TEST PART 1 -             T5X
*** T5X21 - VALVE TEST PART 1 (DELAYED WRITES FOR MEASUREMENTS)          T5X
*                                                                        T5X
**  T5X21 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*    BACKGROUND -                                                        T5X
*                                                                        T5X
*         THIS VALVE TEST IS INTENDED TO TEST CAPSTAN VALVES,            T5X
*         HOWEVER THERE ARE SEVERAL THINGS THAT CAN CAUSE                T5X
*         SUBSTANDARD PERFORMANCE.  IN FACT, ANYTHING THAT CAN           T5X
*         CAUSE START/STOP PROBLEMS, CAN ALSO CAUSE THESE                T5X
*         PLOTS TO EXCEED ALLOWABLE LIMITS.  A UNIT MAY RUN              T5X
*         WITHIN LIMITS ONE TIME INDICATING THAT EVERYTHING              T5X
*         IS NORMAL, BUT THEN FAIL ON SUCEEDING PASSES.  IF              T5X
*         THE CAPSTAN VALVES HAVE BEEN CHANGED AND THERE IS              T5X
*         NO REASON TO SUSPECT THEM, OTHER PROBLEMS MIGHT                T5X
*         BE CONSIDERED.  REFER TO THE MAINTENANCE MANUAL                T5X
*         FOR START/STOP PROBLEM ISOLATION.  IN ADDITION TO              T5X
*         THE ITEMS LISTED IN THE MANUAL, CHECK FOR WORN                 T5X
*         CAPSTAN SHAFT BEARINGS, FLYWHEELS, AND A BADLY                 T5X
*         GROOVED READ/WRITE HEAD.                                       T5X
*                                                                        T5X
*                    ------ NOTE ------                                  T5X
*          TEST RESULTS MAY IMPROVE IF THE TAPE PATH IS                  T5X
*          THOROUGHLY CLEANED PRIOR TO RUNNING THIS TEST                 T5X
*          SECTION.                                                      T5X
*                                                                        T5X
*         TO ELIMINATE THE POSSIBILITY THAT THE MEDIA IS                 T5X
*         CAUSING A PROBLEM, USE A GOOD TAPE AND INSURE                  T5X
*         THAT IT HAS NO EDGE DAMAGE.                                    T5X
*                                                                        T5X
*           NOTE:  IF A VALID, BUT INCORRECT SPEED IS SELECTED,          T5X
*                  THE RECORD GAP MEASUREMENTS REPORTED BY MODULE        T5X
*                  T5X21 (VALVE TEST) AND THE CREEP REPORTED BY          T5X
*                  T5X60 WILL BE INVALID.                                T5X
*                                                                        T5X
*         DUE TO THE NATURE OF THE VALVE TEST, REPEAT CONDITION AND      T5X
*         SCOPING LOOPS ARE NOT SUPPORTED.                               T5X
*                                                                        T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         52D RECORDS ARE WRITTEN AT THE LENGTH AND DENSITY              T5X
*         SPECIFIED BY THE *PARAM* DIRECTIVE.  A 2 SECOND DELAY          T5X
*         IS EXECUTED BETWEEN EACH RECORD WRITTEN (UNLESS A USER         T5X
*         DELAY IS SPECIFIED IN P6).  ALL STATUS EXCEPT READY            T5X
*         AND EOT ARE IGNORED.                                           T5X
*         IF P6(DELAY TIME) IS NOT ZERO, THIS MODULE USES P5             T5X
*         AND P6 TO CONTROL THE DELAY BETWEEN WRITES.  IT SHOULD         T5X
*         BE NOTED THAT THE PURPOSE OF THIS MODULE CAN BE NEGATED        T5X
*         IF THE DELAY SPECIFIED IS LESS THAN 2 SECONDS.                 T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. FILL OUTPUT BUFFER WITH 7777B.                              T5X
*         2. RESERVE.                                                    T5X
*         3. REWIND.                                                     T5X
*         4. RELEASE, DELAY 2 SECONDS (OR SELECTED VALUE), RESERVE.      T5X
*         5. WRITE.                                                      T5X
*         6. WAIT *NOT BUSY*                                             T5X
*         7. REPORT -EC 123- AND EXIT IF E.O.T.                          T5X
*         8. REPEAT STEPS 4 THROUGH 7 FOR 52 RECORDS.                    T5X
*         9. WRITE A FILE MARK.                                          T5X
*        10. WAIT *NOT BUSY*                                             T5X
*        11. REWIND.                                                     T5X
*        12. RELEASE.                                                    T5X
*        13. EXIT TO MODULE T5X21A.                                      T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS                                  T5X
*                                                                        T5X
*         2. T5X21 - ERROR CODE = *OCT  AT LINE (EA) = *OCT              T5X
*         3. T5X21 - ABORT ON .ENDFILE. COMMAND -                        T5X
*         4. T5X21 - ABORT ON .WRITE. COMMAND -                          T5X
*         5. T5X21 - ABORT ON .RES. COMMAND -                            T5X
*         6. T5X21 - ABORT ON .REWIND. COMMAND -                         T5X
*         7. T5X21 - ABORT ON .REL. COMMAND -                            T5X
*         8. T5X21 - ABORT ON .WAITNB. COMMAND -                         T5X
*         9. T5X21 - ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*        10. -EC 123- TAPE TOO SHORT.                                    T5X
*                                                                        T5X
*                                                                        T5X
*** T5X21 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*                                                                        T5X
*   REGISTER USAGE                                                       T5X
*                                                                        T5X
*         B0 = CURRENT FILE COUNT                                        T5X
*         B1 = INDEX FOR DUP STATEMENT                                   T5X
*            = CURRENT RECORD COUNT                                      T5X
*         B2 = REMAINING RECORDS COUNT                                   T5X
*         B5 = MSG NUMBER(SET BEFORE ENTRY) FOR MESSAGE PROCESSOR        T5X
*            = DELAY VALUE FOR REL/RES                                   T5X
*         B6 = LOOP COUNT                                                T5X
*         BA = ERROR COUNT                                               T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
 1 FORMAT T5X21 - VALVE TEST PART 1 (DELAYED WRITE) -                    T5X
 2 FORMAT T5X21 - ERROR CODE = *OCT  AT LINE (EA) = *OCT                 T5X
 3 FORMAT         (THIS MODULE EXECUTES FOR 2 MINUTES)                   T5X
 4 FORMAT T5X21 - ABORT ON .ENDFILE. COMMAND -                           T5X
 5 FORMAT T5X21 - ABORT ON .WRITE. COMMAND -                             T5X
 6 FORMAT T5X21 - ABORT ON .RES. COMMAND -                               T5X
10 FORMAT T5X21 - ABORT ON .REWIND. COMMAND -                            T5X
11 FORMAT T5X21 - ABORT ON .REL. COMMAND -                               T5X
12 FORMAT T5X21 - ABORT ON .WAITNB. COMMAND -                            T5X
13 FORMAT T5X21 - ABORT ON .STATUS. COMMAND -                            T5X
15 FORMAT T5X21 ERROR(S) IN MODULE = *DEC                                T5X
16 FORMAT T5X21 - EC 123 - TAPE TOO SHORT                                T5X
17 FORMAT T5X21 - RECORDS TO GO = *DECD                                  T5X
*                                                                        T5X
   EQUATE EOT TO 40                                                      T5X
*                                                                        T5X
*                                                                        T5X
21 MSG 1 TO DISPLAY,PRINT    *RUNNING MESSAGE.                           T5X
   MSG 3 TO PRINT            *RUN TIME WARNING                           T5X
   BA = 0                    *INITIALIZE ABORT COUNTER                   T5X
*                                                                        T5X
*---------FILL BUFFER                                                    T5X
*                                                                        T5X
   DUP 7777 TO OB FOR 500                                                T5X
   WC = P2                                                               T5X
26 B0 = 0                    *CLEAR FILE COUNT                           T5X
   B1 = 1                    *SET RECORD COUNT                           T5X
   B2 = 52D                  *SET RECORDS TO GO                          T5X
*                                                                        T5X
*---------RESERVE, REWIND, RELEASE, DELAY, AND RESERVE                   T5X
*                                                                        T5X
30 B5 = 6                                                                T5X
   RES P1, ABT 74            *RESERVE                                    T5X
   B5 = 10                                                               T5X
   REWIND,ABT 74             *REWIND                                     T5X
40 B5 = 11                                                               T5X
   REL, ABT 74                                                           T5X
   B5 = 2000D                *2 SECOND DELAY                             T5X
   IF(P6.EQ.0) GOTO 41       *OPTIONAL DELAY NOT SELECTED                T5X
   B5 = P6                   *DELAY PARAM TO B5                          T5X
41 IF(P5.EQ.0) GOTO 42       *USE FIXED DELAY FROM P6                    T5X
   B5 = RT.AND.P5            *USE RT CLOCK AND MASK                      T5X
42 DELAY B5 MSEC                                                         T5X
   B5 = 6                                                                T5X
   RES P1, ABT 74            *RESERVE                                    T5X
*                                                                        T5X
*-------- WRITE 52D RECORDS                                              T5X
*                                                                        T5X
   B5 = 5                                                                T5X
   WRITE, ABT 43               *IGNORE WRITE ABORTS                      T5X
43 B2 = B2 - 1               *DECREMENT RECORD COUNT                     T5X
   MSG 17(B2) TO DISPLAY     *RECORDS REMAINING TO OPERATOR              T5X
44 B5 = 12                                                               T5X
   WAITNB, ABT 74                                                        T5X
46 IF(SB.AND.EOT.EQ.0) GOTO 47     *STILL TAPE LEFT                      T5X
   MSG 16 TO LINE 1          *TAPE TOO SHORT                             T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   CALL 980                  *GET STATUS                                 T5X
   GOTO 60                   *SHORT TAPE EXIT                            T5X
47 GOTO 40 WHILE (B1+1.LE.52D)                                           T5X
   B0 = B0 + 1                *INCREMENT FILE COUNT                      T5X
*                                                                        T5X
*---------WRITE .EOF.                                                    T5X
*                                                                        T5X
51 B5 = 4                                                                T5X
   ENDFILE, ABT 52           *IGNORE ENDFILE ABORTS                      T5X
52 B5 = 12                                                               T5X
   WAITNB, ABT 74                                                        T5X
   B5 = 10                                                               T5X
   REWIND, ABT 74                                                        T5X
   B5 = 11                                                               T5X
   REL, ABT 74                                                           T5X
54 B6 = B6 + 1                *LOOP COUNT                                T5X
55 IF(ES.AND.CM.NE.0)GOTO 26  *IF REPEAT MODULE/CONDITION                T5X
   IF(BA.EQ.0)GOTO 57                 *NO ERRORS                         T5X
56 MSG 15 (BA) TO DAYFILE             *REPORT ERRORS                     T5X
   IF(BA.GE.2) GOTO 60                                                   T5X
57 EXIT TO 21A               *NORMAL TERMINATION                         T5X
60 EXIT                      *SHORT TAPE OR BAD UNIT OR TAPE EXIT        T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(BA.LT.2)GOTO 26         *NOT SECOND TRY                            T5X
   GOTO 55                    *ABNORMAL TERMINATION                      T5X
   END 21                                                                T5X
COMPILE   - T5X21 -                                                      T5X
   MODULE T5X21A,65X(40,41,50,51)LOCK  - VALVE TEST PART 2 -             T5X
*** T5X21A - VALVE TEST PART TWO -                                       T5X
*                                                                        T5X
**  T5X21A EXTERNAL DOCUMENTATION -                                      T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         T5X21A COMPUTES AND PLOTS THE GAP                              T5X
*         SIZES BETWEEN RECORDS WRITTEN BY                               T5X
*         T5X21 (DELAYED WRITE).  IT ALSO                                T5X
*         STORES THE GAP VALUES IN THE OUT-                              T5X
*         PUT BUFFER FOR LATER USE BY                                    T5X
*         T5X21D.  THIS PLOT IS NOT                                      T5X
*         PRINTED UNLESS P3 = XX1X.                                      T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. BUILD THE PLOT OUTLINE.                                     T5X
*         2. RESERVE AND REWIND.                                         T5X
*         3. RESERVE, TIME 50 GAPS AND RELEASE.                          T5X
*         4. PLOT 50 GAPS.                                               T5X
*         5. IF P3 = XX1X, SEND A PICTURE OF THE PLOT                    T5X
*            TO PRINT.                                                   T5X
*         6. IF REPEAT MODULE IS SELECTED                                T5X
*            GO TO STEP 2.                                               T5X
*         7. EXIT.                                                       T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS.                                 T5X
*                                                                        T5X
*         2. T5X21A - ABORT ON .RES. COMMAND                             T5X
*         3. T5X21A - ABORT ON .TIME GAPS. COMMAND                       T5X
*         4. T5X21A - ABORT ON .STATUS. COMMAND                          T5X
*         5. T5X21A - ABORT ON .REWIND. COMMAND                          T5X
*         6. T5X21A - ABORT ON .REL. COMMAND                             T5X
*                                                                        T5X
*** T5X21A INTERNAL DOCUMENTATION -                                      T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B0 = NUMBER OF TRACKS                                          T5X
*            = GAP VALUE                                                 T5X
*            = CURRENT FILE COUNT                                        T5X
*         B1 = COLUMN NUMBER FOR PLOTS                                   T5X
*            = CURRENT RECORD COUNT                                      T5X
*         B2 = OUTPUT BUFFER INDEX                                       T5X
*         B3 = MAXIMUM PLOT VALUE                                        T5X
*         B4 = MINIMUM PLOT VALUE                                        T5X
*         B5 = MAXIMUM PLOT VALUE                                        T5X
*         B6 = LINE NUMBER FOR MESSAGES                                  T5X
*         B7 = INPUT BUFFER INDEX                                        T5X
*                                                                        T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*                                                                        T5X
 1 FORMAT T5X21A - VALVE TEST PART 2 (DELAYED WRITE PLOT) -              T5X
 2 FORMAT        *DEC TRACK GAP SIZES IN HUNDRETHS OF INCHES             T5X
 3 FORMAT   BIG                                                          T5X
 4 FORMAT  *DEC                                                          T5X
 5 FORMAT SMALL                                                          T5X
10 FORMAT T5X21A - ABORT ON .RES. COMMAND                                T5X
11 FORMAT T5X21A - ABORT ON .TIME GAPS. COMMAND                          T5X
12 FORMAT T5X21A - ABORT ON .STATUS. COMMAND                             T5X
13 FORMAT T5X21A - ABORT ON .REWIND. COMMAND                             T5X
15 FORMAT T5X21A - ABORT ON .REL. COMMAND                                T5X
16 FORMAT T5X21A ERROR(S) IN MODULE = *DEC                               T5X
*                                                                        T5X
*---------- BUILD PLOT SHELL ----------                                  T5X
*                                                                        T5X
30 MSG 1 TO DISPLAY, PRINT                                               T5X
   B0 = 7                        *NUMBER OF TRACKS                       T5X
   IF(DC.AND.10.EQ.0) GOTO 31    *IF 7 TRACK UNIT                        T5X
   B0 = 9D                       *NUMBER OF TRACKS                       T5X
31 MSG 2(B0) TO LINE 1           *HEADER                                 T5X
   MSG 3 TO LINE 3               *OVER                                   T5X
   B6 = 4                        *MSG LINE NUMBER                        T5X
   B3 = 100D                     *MAX 7 TRK VALUE                        T5X
   B4 = 70D                      *MIN 7 TRK VALUE                        T5X
   IF(B0.EQ.7) GOTO 32           *IF 7 TRACK                             T5X
   B3 = 80D                      *MAX 9 TRK VALUE                        T5X
   B4 = 50D                      *MIN 9 TRK VALUE                        T5X
32 MSG 4(B3) TO LINE B6          *POST A VALUE                           T5X
   B6 = B6 +1                   *BUMP MSG LINE NUMBER                    T5X
   GOTO 32 WHILE (B3-1.GE.B4)    *POST ALL VALUES                        T5X
   MSG 5 TO LINE B6             *POST SMALL GAP LINE                     T5X
   B3 = B4 + 30D                                                         T5X
*                                                                        T5X
*---------- REWIND                                                       T5X
*                                                                        T5X
33 B5 = 10                                                               T5X
   RES P1, ABT 60                                                        T5X
   B5 = 13                                                               T5X
   REWIND, ABT 60                                                        T5X
*                                                                        T5X
*---------- MEASURE AND PLOT GAPS ----------                             T5X
*                                                                        T5X
   B2 = 0                        *CLEAR OB INDEX                         T5X
40 B5 = 10                                                               T5X
   RES P1, ABT 60                                                        T5X
   B5 = 11                                                               T5X
   TIME 50D GAPS TO IB, ABT 60   *GET 50 GAPS                            T5X
   B5 = 15                                                               T5X
   REL, ABT 60                                                           T5X
   B1 = 7                        *RESET COLUMN NUMBER                    T5X
   B7 = 0                        *RESET IB INDEX                         T5X
41 B0 = IB(B7)                   *GAP SIZE TO B0                         T5X
   IF(B0.LE.B3) GOTO 42          *POTENTIAL PLOTABLE GAP SIZE            T5X
   B0 = B3 +1                    *SET IT TO MAX PLUS ONE                 T5X
42 IF(B0.GE.B4) GOTO 44          *PLOTABLE GAP                           T5X
   B0 = B4 - 1                   *SET IT TO MIN MINUS ONE                T5X
44 B5 = B0 - B4 + 5              *LINE BIAS FOR PLOT                     T5X
   PLOT LINE B5 CHAR B1          *PLOT PLOTABLE GAP                      T5X
45 OB(B2) = IB(B7)               *STORE GAP SIZE IN OB                   T5X
   B2 = B2 + 1                   *BUMP OB INDEX                          T5X
   B7 = B7 + 3                   *BUMP IB INDEX TO NEXT GAP              T5X
   GOTO 41 WHILE (B1+1.LE.56D)   *PLOT AND STORE 50 GAPS                 T5X
46 OB(B2) = 7777               *TERMINATE FLAG                           T5X
   IF(P3.AND.10.EQ.0) GOTO 47                                            T5X
   PICTURE AND BLANK                                                     T5X
47 IF(ES.AND.RM.NE.0) GOTO 33     *REPEAT MODULE                         T5X
   EXIT TO 21B                                                           T5X
*                                                                        T5X
*---------- ERROR PROCESSOR -----------                                  T5X
*                                                                        T5X
60 BA = BA + 1                    *BUMP ERROR COUNT                      T5X
   PICTURE AND BLANK                                                     T5X
   MSG B5 TO LINE 0               *POST ABORT MESSAGE                    T5X
   MSG EM TO LINE 1               *POST PRODUCT OVERLAY MESSAGE          T5X
   B0 = 0                     *FILE COUNT                                T5X
   B1 = 1                     *RECORD COUNT                              T5X
   CALL 980                       *GET STATUS                            T5X
   MSG 16(BA) TO DAYFILE                                                 T5X
   EXIT                           *GIVE UP IF ERROR                      T5X
   END 30                                                                T5X
COMPILE   - T5X21A -                                                     T5X
   MODULE T5X21B,65X(40,41,50,51)LOCK  - VALVE TEST PART 3 -             T5X
*** T5X21B- VALVE TEST PART 3 (NO DELAY WRITES FOR MEASUREMENTS)         T5X
*                                                                        T5X
**  T5X21B- EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         52D RECORDS ARE WRITTEN AT THE LENGTH AND DENSITY              T5X
*         SPECIFIED BY THE *PARAM* DIRECTIVE.                            T5X
*         ALL STATUS EXCEPT READY AND EOT ARE IGNORED.                   T5X
*                                                                        T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. SET WORD COUNT TO P2.                                       T5X
*         2. RESERVE.                                                    T5X
*         3. REWIND.                                                     T5X
*         4. RESERVE.                                                    T5X
*         5. WRITE.                                                      T5X
*         6. WAIT *NOT BUSY*                                             T5X
*         7. REPORT -EC 123- AND EXIT IF E.O.T.                          T5X
*         8. REPEAT STEPS 4 THROUGH 7 FOR 52 RECORDS.                    T5X
*         9. WRITE A FILE MARK.                                          T5X
*        10. WAIT *NOT BUSY*                                             T5X
*        11. REWIND.                                                     T5X
*        12. RELEASE.                                                    T5X
*        13. EXIT TO MODULE T5X21C.                                      T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS                                  T5X
*                                                                        T5X
*         2. T5X21B- ERROR CODE = *OCT  AT LINE (EA) = *OCT              T5X
*         3. T5X21B- ABORT ON .ENDFILE. COMMAND -                        T5X
*         4. T5X21B- ABORT ON .WRITE. COMMAND -                          T5X
*         5. T5X21B- ABORT ON .RES. COMMAND -                            T5X
*         6. T5X21B- ABORT ON .REWIND. COMMAND -                         T5X
*         7. T5X21B- ABORT ON .REL. COMMAND -                            T5X
*         8. T5X21B- ABORT ON .WAITNB. COMMAND -                         T5X
*         9. T5X21B_ ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*        10. -EC 123- TAPE TOO SHORT.                                    T5X
*                                                                        T5X
*                                                                        T5X
*** T5X21B- INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*                                                                        T5X
*   REGISTER USAGE                                                       T5X
*                                                                        T5X
*         B0 = CURRENT FILE COUNT                                        T5X
*         B1 = INDEX FOR DUP STATEMENT                                   T5X
*            = CURRENT RECORD COUNT                                      T5X
*         B2 = REMAINING RECORDS COUNT                                   T5X
*         B5 = MSG NUMBER(SET BEFORE ENTRY) FOR MESSAGE PROCESSOR        T5X
*            = DELAY VALUE FOR REL/RES                                   T5X
*         B6 = LOOP COUNT                                                T5X
*         BA = ERROR COUNT                                               T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
 1 FORMAT T5X21B - VALVE TEST PART 3 (NO DELAY WRITES) -                 T5X
 2 FORMAT T5X21B- ERROR CODE = *OCT  AT LINE (EA) = *OCT                 T5X
 4 FORMAT T5X21B- ABORT ON .ENDFILE. COMMAND -                           T5X
 5 FORMAT T5X21B- ABORT ON .WRITE. COMMAND -                             T5X
 6 FORMAT T5X21B- ABORT ON .RES. COMMAND -                               T5X
10 FORMAT T5X21B- ABORT ON .REWIND. COMMAND -                            T5X
11 FORMAT T5X21B- ABORT ON .REL. COMMAND -                               T5X
12 FORMAT T5X21B- ABORT ON .WAITNB. COMMAND -                            T5X
13 FORMAT T5X21B- ABORT ON .STATUS. COMMAND -                            T5X
15 FORMAT T5X21B ERROR(S) IN MODULE = *DEC                               T5X
16 FORMAT T5X21B- EC 123 - TAPE TOO SHORT                                T5X
*                                                                        T5X
   EQUATE EOT TO 40                                                      T5X
*                                                                        T5X
*                                                                        T5X
21 MSG 1 TO DISPLAY,PRINT    *RUNNING MESSAGE.                           T5X
   BA = 0                    *INITIALIZE ABORT COUNTER                   T5X
*                                                                        T5X
*---------FILL BUFFER                                                    T5X
*                                                                        T5X
   WC = P2                                                               T5X
26 B0 = 0                    *CLEAR FILE COUNT                           T5X
   B1 = 1                    *SET RECORD COUNT                           T5X
*                                                                        T5X
*---------RESERVE, REWIND, AND RESERVE                                   T5X
*                                                                        T5X
30 B5 = 6                                                                T5X
   RES P1, ABT 74            *RESERVE                                    T5X
   B5 = 10                                                               T5X
   REWIND,ABT 74             *REWIND                                     T5X
40 B5 = 6                                                                T5X
   RES P1, ABT 74            *RESERVE                                    T5X
*                                                                        T5X
*-------- WRITE 52D RECORDS                                              T5X
*                                                                        T5X
   B5 = 5                                                                T5X
   WRITE, ABT 44             *IGNORE WRITE ABORTS                        T5X
44 B5 = 12                                                               T5X
   WAITNB, ABT 74                                                        T5X
46 IF(SB.AND.EOT.EQ.0) GOTO 47     *STILL TAPE LEFT                      T5X
   MSG 16 TO LINE 1          *TAPE TOO SHORT                             T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   CALL 980                  *GET STATUS                                 T5X
   GOTO 60                   *SHORT TAPE EXIT                            T5X
47 GOTO 40 WHILE (B1+1.LE.52D)                                           T5X
   B0 = B0 + 1                *INCREMENT FILE COUNT                      T5X
*                                                                        T5X
*---------WRITE .EOF.                                                    T5X
*                                                                        T5X
51 B5 = 4                                                                T5X
   ENDFILE, ABT 52           *IGNORE ENDFILE ABORTS                      T5X
52 B5 = 12                                                               T5X
   WAITNB, ABT 74                                                        T5X
   B5 = 10                                                               T5X
   REWIND, ABT 74                                                        T5X
   B5 = 11                                                               T5X
   REL, ABT 74                                                           T5X
54 B6 = B6 + 1                *LOOP COUNT                                T5X
55 IF(ES.AND.CM.NE.0)GOTO 26  *IF REPEAT MODULE/CONDITION                T5X
   IF(BA.EQ.0)GOTO 57                 *NO ERRORS                         T5X
56 MSG 15 (BA) TO DAYFILE             *REPORT ERRORS                     T5X
   IF(BA.GE.2) GOTO 60                                                   T5X
57 EXIT TO 21C               *NORMAL TERMINATION                         T5X
60 EXIT                      *SHORT TAPE OR BAD UNIT OR TAPE EXIT        T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(BA.LT.2)GOTO 26         *NOT SECOND TRY                            T5X
   GOTO 55                    *ABNORMAL TERMINATION                      T5X
   END 21                                                                T5X
COMPILE   - T5X21B-                                                      T5X
   MODULE T5X21C,65X(40,41,50,51)LOCK  - VALVE TEST PART 4 -             T5X
*** T5X21C - VALVE TEST PART FOUR -                                      T5X
*                                                                        T5X
**  T5X21C EXTERNAL DOCUMENTATION -                                      T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         T5X21C COMPUTES AND PLOTS THE GAP                              T5X
*         SIZES BETWEEN RECORDS WRITTEN BY                               T5X
*         T5X21B (NO DELAYS WRITE). IT ALSO                              T5X
*         STORES THE GAP VALUES IN THE INPUT                             T5X
*         BUFFER FOR LATER USE BY                                        T5X
*         T5X21D.  THIS PLOT IS NOT                                      T5X
*         PRINTED UNLESS P3 = XX1X.                                      T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. BUILD THE PLOT OUTLINE.                                     T5X
*         2. RESERVE AND REWIND.                                         T5X
*         3. RESERVE, TIME 50 GAPS AND RELEASE.                          T5X
*         4. PLOT 50 GAPS.                                               T5X
*         5. IF P3 = XX1X, SEND A PICTURE OF THE PLOT                    T5X
*            TO PRINT.                                                   T5X
*         6. IF REPEAT MODULE IS SELECTED                                T5X
*            GO TO STEP 2.                                               T5X
*         7. EXIT.                                                       T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS.                                 T5X
*                                                                        T5X
*         2. T5X21C - ABORT ON .RES. COMMAND                             T5X
*         3. T5X21C - ABORT ON .TIME GAPS. COMMAND                       T5X
*         4. T5X21C - ABORT ON .STATUS. COMMAND                          T5X
*         5. T5X21C - ABORT ON .REWIND. COMMAND                          T5X
*         6. T5X21C - ABORT ON .REL. COMMAND                             T5X
*                                                                        T5X
*** T5X21C INTERNAL DOCUMENTATION -                                      T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B0 = NUMBER OF TRACKS                                          T5X
*            = GAP VALUE                                                 T5X
*            = CURRENT FILE COUNT                                        T5X
*         B1 = COLUMN NUMBER FOR PLOTS                                   T5X
*            = CURRENT RECORD COUNT                                      T5X
*         B2 = INPUT BUFFER INDEX                                        T5X
*         B3 = MAXIMUM PLOT VALUE                                        T5X
*         B4 = MINIMUM PLOT VALUE                                        T5X
*         B5 = MAXIMUM PLOT VALUE                                        T5X
*         B6 = LINE NUMBER FOR MESSAGES                                  T5X
*         B7 = INPUT BUFFER INDEX                                        T5X
*                                                                        T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*                                                                        T5X
 1 FORMAT T5X21C - VALVE TEST PART 4 (NO DELAY PLOTS) -                  T5X
 2 FORMAT        *DEC TRACK GAP SIZES IN HUNDRETHS OF INCHES             T5X
 3 FORMAT   BIG                                                          T5X
 4 FORMAT  *DEC                                                          T5X
 5 FORMAT SMALL                                                          T5X
10 FORMAT T5X21C - ABORT ON .RES. COMMAND                                T5X
11 FORMAT T5X21C - ABORT ON .TIME GAPS. COMMAND                          T5X
12 FORMAT T5X21C - ABORT ON .STATUS. COMMAND                             T5X
13 FORMAT T5X21C - ABORT ON .REWIND. COMMAND                             T5X
15 FORMAT T5X21C - ABORT ON .REL. COMMAND                                T5X
16 FORMAT T5X21C ERROR(S) IN MODULE = *DEC                               T5X
*                                                                        T5X
*---------- BUILD PLOT SHELL ----------                                  T5X
*                                                                        T5X
30 MSG 1 TO DISPLAY, PRINT                                               T5X
   B0 = 7                        *NUMBER OF TRACKS                       T5X
   IF(DC.AND.10.EQ.0) GOTO 31    *IF 7 TRACK UNIT                        T5X
   B0 = 9D                       *NUMBER OF TRACKS                       T5X
31 MSG 2(B0) TO LINE 1           *HEADER                                 T5X
   MSG 3 TO LINE 3               *OVER                                   T5X
   B6 = 4                        *MSG LINE NUMBER                        T5X
   B3 = 100D                     *MAX 7 TRK VALUE                        T5X
   B4 = 70D                      *MIN 7 TRK VALUE                        T5X
   IF(B0.EQ.7) GOTO 32           *IF 7 TRACK                             T5X
   B3 = 80D                      *MAX 9 TRK VALUE                        T5X
   B4 = 50D                      *MIN 9 TRK VALUE                        T5X
32 MSG 4(B3) TO LINE B6          *POST A VALUE                           T5X
   B6 = B6 +1                   *BUMP MSG LINE NUMBER                    T5X
   GOTO 32 WHILE (B3-1.GE.B4)    *POST ALL VALUES                        T5X
   MSG 5 TO LINE B6             *POST SMALL GAP LINE                     T5X
   B3 = B4 + 30D                                                         T5X
*                                                                        T5X
*---------- REWIND                                                       T5X
*                                                                        T5X
33 B5 = 10                                                               T5X
   RES P1, ABT 60                                                        T5X
   B5 = 13                                                               T5X
   REWIND, ABT 60                                                        T5X
*                                                                        T5X
*---------- MEASURE AND PLOT GAPS ----------                             T5X
*                                                                        T5X
   B2 = 0                        *CLEAR OB INDEX                         T5X
40 B5 = 10                                                               T5X
   RES P1, ABT 60                                                        T5X
   B5 = 11                                                               T5X
   TIME 50D GAPS TO IB, ABT 60   *GET 50 GAPS                            T5X
   B5 = 15                                                               T5X
   REL, ABT 60                                                           T5X
   B1 = 7                        *RESET COLUMN NUMBER                    T5X
   B7 = 0                        *RESET IB INDEX                         T5X
41 B0 = IB(B7)                   *GAP SIZE TO B0                         T5X
   IF(B0.LE.B3) GOTO 42          *POTENTIAL PLOTABLE GAP SIZE            T5X
   B0 = B3 +1                    *SET IT TO MAX PLUS ONE                 T5X
42 IF(B0.GE.B4) GOTO 44          *PLOTABLE GAP                           T5X
   B0 = B4 - 1                   *SET IT TO MIN MINUS ONE                T5X
44 B5 = B0 - B4 + 5              *LINE BIAS FOR PLOT                     T5X
   PLOT LINE B5 CHAR B1          *PLOT PLOTABLE GAP                      T5X
45 IB(B2) = IB(B7)               *STORE GAP SIZE IN IB                   T5X
   B2 = B2 + 1                   *BUMP IB INDEX                          T5X
   B7 = B7 + 3                   *BUMP IB INDEX TO NEXT GAP              T5X
   GOTO 41 WHILE (B1+1.LE.56D)   *PLOT AND STORE 50 GAPS                 T5X
46 IB(B2) = 7777               *TERMINATE FLAG                           T5X
   IF(P3.AND.10.EQ.0) GOTO 47                                            T5X
   PICTURE AND BLANK                                                     T5X
47 IF(ES.AND.RM.NE.0) GOTO 33     *REPEAT MODULE                         T5X
   EXIT TO 21D                                                           T5X
*                                                                        T5X
*---------- ERROR PROCESSOR -----------                                  T5X
*                                                                        T5X
60 BA = BA + 1                    *BUMP ERROR COUNT                      T5X
   PICTURE AND BLANK                                                     T5X
   MSG B5 TO LINE 0               *POST ABORT MESSAGE                    T5X
   MSG EM TO LINE 1               *POST PRODUCT OVERLAY MESSAGE          T5X
   B0 = 0                     *FILE COUNT                                T5X
   B1 = 1                     *RECORD COUNT                              T5X
   CALL 980                       *GET STATUS                            T5X
   MSG 16(BA) TO DAYFILE                                                 T5X
   EXIT                           *GIVE UP IF ERROR                      T5X
   END 30                                                                T5X
COMPILE   - T5X21C -                                                     T5X
   MODULE T5X21D,65X(40,41,50,51)LOCK  - VALVE TEST PART 5 -             T5X
*** T5X21D - VALVE TEST PART FIVE -                                      T5X
*                                                                        T5X
**  T5X21D EXTERNAL DOCUMENTATION -                                      T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         T5X21D PLOTS THE DIFFERENCE BETWEEN THE                        T5X
*         SMALLEST GAP WRITTEN BY EITHER T5X21                           T5X
*         (DELAYED WRITE) OR T5X21B (NON-DELAYED)                        T5X
*         AND EACH OF THE LARGEST 50 GAPS                                T5X
*         WRITTEN BY EITHER T5X21 OR T5X21B.  A PLOT                     T5X
*         IS THEN MADE OF THESE DIFFERENCES.  LARGE                      T5X
*         DIFFERENCES ARE INDICATIVE OF PROBLEMS IN                      T5X
*         THE TAPE PATH OR WITH THE CAPSTAN VALVES.                      T5X
*                                                                        T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*          1. BUILD THE PLOT OUTLINE.                                    T5X
*          2. FIND THE SMALLEST GAP VALUE                                T5X
*             BY SEARCHING THE INPUT AND                                 T5X
*             OUTPUT BUFFERS SEQUENTIALLY.                               T5X
*          3. SAVE THE SMALLEST GAP IN BA.                               T5X
*          4. FIND THE THE LARGER OF TWO                                 T5X
*             GAPS BY SEQUENTIAL COMPARISON                              T5X
*             OF A GAP IN THE INPUT BUFFER                               T5X
*             WITH A GAP IN THE OUTPUT                                   T5X
*             BUFFER.                                                    T5X
*          5. PLOT THE DIFFERENCE BETWEEN                                T5X
*             EACH OF THE LARGER GAPS AND                                T5X
*             THE SMALLEST GAP.                                          T5X
*          6. TAKE A PICTURE OF THE PLOTS.                               T5X
*          7. EXIT.                                                      T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*          1. NONE                                                       T5X
*                                                                        T5X
*                                                                        T5X
*** T5X21D INTERNAL DOCUMENTATION -                                      T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B0 = LARGEST OF ALL GAPS                                       T5X
*              LARGEST OF TWO GAPS                                       T5X
*         B1 = CHARACTER POSITION FOR PLOT                               T5X
*         B2 = BUFFER INDEX                                              T5X
*         B3 = MAXIMUM PLOT VALUE                                        T5X
*         B4 = GAP SIZE SCRATCH PAD                                      T5X
*              DELAYED WRITE GAP SIZE                                    T5X
*         B5 = GAP SIZE SCRATCH PAD                                      T5X
*              NON-DELAYED WRITE GAP SIZE                                T5X
*         B6 = LINE NUMBER FOR MESSAGES                                  T5X
*         B7 = LINE NUMBER FOR PLOT                                      T5X
*         BA = SMALLEST OF ALL GAPS                                      T5X
*                                                                        T5X
*                                                                        T5X
*   MODULES CALLED - NONE                                                T5X
*                                                                        T5X
*                                                                        T5X
 1 FORMAT T5X21D - VALVE TEST PART 5 -                                   T5X
 2 FORMAT GAP VARIATION IN HUNDRETHS OF INCHES (*OCT IPS)                T5X
 3 FORMAT  SICK--------------------------------------------              T5X
 4 FORMAT  *DEC                                                          T5X
 5 FORMAT  GOOD--------------------------------------------              T5X
 6 FORMAT  FAIR--------------------------------------------              T5X
 7 FORMAT GREAT--------------------------------------------              T5X
10 FORMAT    DELAYED  WRITE GAPS - MIN = *DEC,   MAX = *DEC              T5X
11 FORMAT    NO DELAY WRITE GAPS - MIN = *DEC,   MAX = *DEC              T5X
12 FORMAT                --THIS DRIVE IS A TURKEY--                      T5X
13 FORMAT  --THIS UNIT IS CREATING GAPS THAT ARE TO SHORT-- 
*                                                                        T5X
*---------- BUILD PLOT SHELL -----------                                 T5X
*                                                                        T5X
15 MSG 1 TO DISPLAY, PRINT   *RUN MESSAGE                                T5X
   BLANK                                                                 T5X
   MSG 2(P0) TO LINE 1           *HEADER                                 T5X
   MSG 3 TO LINE 3           *SICK DRIVE                                 T5X
   B6 = 4                    *MSG LINE NUMBER                            T5X
   B3 = 11D                  *MAX PLOT VALUE + 1                         T5X
16 MSG 4(B3) TO LINE B6      *POST A PLOT VALUE                          T5X
   B3 = B3 - 1                                                           T5X
   GOTO 16 WHILE (B6 + 1.NE.16D)  *POST ALL PLOT VALUES                  T5X
   MSG 5 TO LINE 9D           *POST GOOD DRIVE LINE                      T5X
   MSG 6 TO LINE 6            *POST FAIR DRIVE LINE                      T5X
   MSG 7 TO LINE 12D         *POST GREAT DRIVE LINE                      T5X
*                                                                        T5X
*---------- FIND AND STORE GAP SIZE EXTREMES -----------                 T5X
*                                                                        T5X
   B2 = 0                    *CLEAR BUFFER INDEX                         T5X
   BA = IB                   *ASSUMED SMALLEST GAP                       T5X
   B0 = IB                   *ASSUMED LARGEST GAP                        T5X
20 B5 = IB(B2)               *GET THE NEXT GAP FROM IB                   T5X
   IF(B5.EQ.7777) GOTO 22        *FINISHED INPUT BUFFER SCAN             T5X
   IF(BA.LE.B5) GOTO 21      *IS SMALLEST                                T5X
   BA = B5                   *NEW SMALLEST GAP                           T5X
21 IF(B0.GE.B5) GOTO 22      *IS BIGGEST                                 T5X
   B0 = B5                   *NEW LARGEST GAP                            T5X
22 B2 = B2 + 1               *BUMP BUFFER INDEX                          T5X
   IF(B5.NE.7777) GOTO 20    *COULD BE MORE GAPS TO DO                   T5X
   IB(460) = BA              *SAVE SMALLEST NON-DELAYED GAP              T5X
   IB(461) = B0              *SAVE LARGEST NON-DELAYED GAP               T5X
   B2 = 0                    *CLEAR BUFFER INDEX                         T5X
   BA = OB                   *ASSUMED SMALLEST GAP                       T5X
   B0 = OB                   *ASSUMED LARGEST GAP                        T5X
23 B5 = OB(B2)               *GET THE NEXT GAP FROM OB                   T5X
   IF(B5.EQ.7777) GOTO 25         *FINISHED OUTPUT BUFFER SCAN           T5X
   IF(BA.LE.B5) GOTO 24      *IS SMALLEST                                T5X
   BA = B5                   *NEW SMALLEST                               T5X
24 IF(B0.GE.B5) GOTO 25      *IS LARGEST                                 T5X
    B0 = B5                  *NEW BIGGEST                                T5X
25 B2 = B2 + 1               *BUMP BUFFER INDEX                          T5X
   IF(B5.NE.7777) GOTO 23    *COULD BE MORE GAPS TO DO                   T5X
   OB(460) = BA              *SAVE SMALLEST DELAYED GAP                  T5X
   OB(461) = B0              *SAVE LARGEST DELAYED GAP                   T5X
   IF(BA.LE.IB(460)) GOTO 27  *WE HAVE THE ABSOLUTE SMALLEST             T5X
   BA = IB(460)              *GET ABSOLUTE SMALLEST GAP                  T5X
*                                                                        T5X
*---------- FIND BIGGEST GAPS AND PLOT -----------                       T5X
*                                                                        T5X
27 B2 = 0                     *CLEAR BUFFER INDEX                        T5X
   MSG 10 (OB(460),OB(461)) TO LINE 17D                                  T5X
   MSG 11 (IB(460),IB(461)) TO LINE 18D                                  T5X
30 B1 = 7                     *SET PLOT COLUMN COUNTER                   T5X
31 B4 = OB(B2)                *DELAYED GAP                               T5X
   B5 = IB(B2)                *NON-DELAYED GAP                           T5X
   B2 = B2 + 1                *BUMP BUFFER INDEX                         T5X
   B7 = B4 - BA                    *ASSUMED BIGGEST GAP                  T5X
   IF(B4.GT.B5) GOTO 32       *GOOD ASSUMPTION                           T5X
   B7 = B5 - BA                    *BAD ASSUMPTION                       T5X
32 IF(B7.LE.11D) GOTO 33       *IF HIT MAX                               T5X
   B7 = 12D                    *SET TO SICK                              T5X
   MSG 12 TO LINE 20D             *TURKEY MSG                            T5X
33 B7 = B7 + 24D                *ADD LINE BIAS                           T5X
   PLOT LINE B7 CHAR B1                                                  T5X
34 GOTO 31 WHILE (B1+1.LT.57D)  *DO 50 PLOTS                             T5X
   IF(OB(B2).NE.7777) GOTO 30   *DO MORE PLOTS                           T5X
   B4 = 75D                     *7TK MINIMUM GAP SIZE 
   IF(DC.AND.10.EQ.0) GOTO 35   *IF 7TK UNIT
   B4 = 60D                     *9TK MINIMUM GAP SIZE 
35 IF(OB(460).LT.B4) GOTO 36    *IF DELAYED IS TO SMALL 
   IF(IB(460).GE.B4) GOTO 37    *IF NO DELAYED IS OK
36 MSG 13 TO LINE 19D           *REPORT SMALL GAPS ERROR
37 PICTURE AND BLANK
   EXIT                      *END OF VALVE TEST                          T5X
   END 15                                                                T5X
COMPILE  - T5X21D -                                                      T5X
   MODULE T5X23,65X(40,41,50,51)LOCK   - TRACK TEST -                    T5X
*** T5X23 - TRACK TEST                                                   T5X
*                                                                        T5X
**  T5X23 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         T5X23 IS A DATA INTEGRITY TEST THAT VERIFIES THE ABILITY       T5X
*         TO WRITE ZEROS IN ALL TRACKS BUT ONE WHILE ONES ARE WRITTEN    T5X
*         INTO THE TRACK UNDER TEST.  ALL TRACKS ARE TESTED IN THIS      T5X
*         FASHION UNTIL ALL TRACKS ARE COMPLETED.                        T5X
*         ALL TRACKS ARE THEN REPEATED 10 TIMES.                         T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. RESERVE.                                                    T5X
*         2. REWIND.                                                     T5X
*         3. FILL OUTPUT BUFFER WITH TRACK PATTERN.                      T5X
*         4. RESERVE.                                                    T5X
*         5. WRITE.                                                      T5X
*         6. EXIT IF END OF TAPE.                                        T5X
*         7. VERIFY STATUS.  EC 14X IF ERROR (X=TRACK UNDER TEST)        T5X
*         8. RELEASE.                                                    T5X
*         9. REPEAT STEPS 3-8 FOR ALL TRACKS.                            T5X
*        10. REPEAT STEPS 3-9 FOR 10 TIMES.                              T5X
*        11. EXIT.                                                       T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS.                                 T5X
*                                                                        T5X
*         2. T5X23 - ABORT ON .WRITE. COMMAND -                          T5X
*         3. T5X23 - ABORT ON .RES. COMMAND -                            T5X
*         4. T5X23 - ABORT ON .REL. COMMAND -                            T5X
*         5. T5X23 - ABORT ON .REWIND. COMMAND -                         T5X
*         6. T5X23 - ABORT ON .WAITNB. COMMAND -                         T5X
*         7. T5X23 - ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*         8. T5X23 -EC 014X- STATUS ERR-LAST DIGIT=DATA BIT              T5X
*                                                                        T5X
*                                                                        T5X
*** T5X23 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B0 = LOOP COUNTER                                              T5X
*         B1 = DATA BIT COUNTER                                          T5X
*         B3 = DATA PATTERN                                              T5X
*         B4 = NUMBER OF BITS TO TEST (6 OR 8)                           T5X
*         B5 = POINTER TO ERROR MESSAGE IN CASE OF ABORT                 T5X
*            = ERROR CODE                                                T5X
*         B6 = PASS COUNT FOR SCOPING LOOPS                              T5X
*         BA = ERROR COUNTER                                             T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*                                                                        T5X
 1 FORMAT T5X23 - TRACK TEST                                             T5X
 2 FORMAT T5X23 -EC *DEC- STATUS ERR-LAST DIGIT=DATA BIT                 T5X
 3 FORMAT T5X23 ERROR(S) IN MODULE = *DEC                                T5X
 4 FORMAT T5X23 - ERRS=*DEC LOOPS=*DEC                                   T5X
 5 FORMAT T5X23 - ABORT ON .WRITE. COMMAND -                             T5X
 6 FORMAT T5X23 - ABORT ON .RES. COMMAND -                               T5X
 7 FORMAT T5X23 - ABORT ON .REL. COMMAND -                               T5X
10 FORMAT T5X23 - ABORT ON .REWIND. COMMAND -                            T5X
11 FORMAT T5X23 - ABORT ON .STATUS. COMMAND -                            T5X
12 FORMAT T5X23 - ABORT ON .WAITNB. COMMAND -                            T5X
   EQUATE ERROR TO 6410, EOT TO 40                                       T5X
20 MSG 1 TO DISPLAY,PRINT    *RUNNING MESSAGE                            T5X
   BA = 0                    *CLEAR ERROR COUNT                          T5X
   WC = P2                                                               T5X
21 B5 = 6                                                                T5X
   RES P1, ABT 70                                                        T5X
   B5 = 10                                                               T5X
   REWIND, ABT 70                                                        T5X
   B0 = 0                    *CLEAR FILE COUNT                           T5X
   B1 = 0                    *CLEAR DATA BIT COUNT                       T5X
   B3 = 1                    *DATA                                       T5X
30 B4 = 10                                                               T5X
   IF(DC.AND.10.NE.0) GOTO 31  *IF 9TK UNIT                              T5X
   B4 = 6                                                                T5X
31 DUP B4 BITS OF B3 TO OB FOR 500   *FILL BUFFER                        T5X001G
32 B5 = 6                                                                T5X
   RES P1, ABT 70                                                        T5X
   B5 = 5                                                                T5X
   WRITE, ABT 70                                                         T5X
   B5 = 12                                                               T5X
   WAITNB, ABT 70                                                        T5X
   IF(SB.AND.EOT.NE.0) GOTO 55  *IF END OF TAPE                          T5X
   IF(SB.AND.ERROR.EQ.0) GOTO 34  *NO STATUS ERROR                       T5X
   B5 = 11                                                               T5X
   STATUS, ABT 70            *GET ALL OF STATUS                          T5X
   B5 = 140D + B1            *FORM ERROR CODE                            T5X
   MSG 2 (B5) TO LINE 1                                                  T5X
   BA = BA + 1               *BUMP ERROR COUNT                           T5X
   B6 = B6 + 1                *BUMP PASS COUNT                           T5X
   IF(ES.AND.SL.EQ.0) GOTO 33                                            T5X
   MSG 4(BA,B6) TO DISPLAY                                               T5X
   GOTO 32                                                               T5X
33 CALL 980                                                              T5X
   MSG 1 TO DISPLAY                                                      T5X
34 B5 = 7                                                                T5X
   REL, ABT 70                                                           T5X
   IF(ES.AND.RC.EQ.0) GOTO 35  *IF NOT REPEAT CONDITION                  T5X
   B6 = B6 + 1                 *BUMP PASS COUNT                          T5X
   IF(ES.AND.SL.EQ.0) GOTO 32  *IF NOT SCOPING, REPEAT COND.             T5X
   MSG 4(BA,B6) TO DISPLAY     *POST SCOPING LOOP MSG                    T5X
   GOTO 32                     *REPEAT CONDITION                         T5X
35 B3 = B3 + B3              *SHIFT DATA BIT LEFT                        T5X
   IF(B3.EQ.0) GOTO 37       *IF ALL PATTERNS TESTED                     T5X
   B1 = B1 + 1               *BUMP DATA BIT POINTER                      T5X
   IF(B1.LT.6) GOTO 31       *IF 6 BITS NOT DONE                         T5X
   IF(DC.AND.10.EQ.0) GOTO 36  *SKIP BITS 6 AND 7 ON 7TK                 T5X
   IF(B1.LT.8D) GOTO 31      *EXTRA BITS OF 9TK                          T5X
36 B3 = 0                                                                T5X
   GOTO 31                   *TEST PARITY TRACK                          T5X
37 B3 = 1                                                                T5X
   B1 = 0                                                                T5X
   GOTO 31 WHILE (B0+1.NE.10D)  *REPEAT ALL TKS 10 TIMES                 T5X
55 IF(ES.AND.CM.NE.0) GOTO 21  *IF REPEAT CONDITION/MODULE               T5X
   IF(BA.EQ.0) GOTO 57                                                   T5X
   MSG 3(BA) TO DAYFILE                                                  T5X
57 EXIT                                                                  T5X
*                                                                        T5X
*--------ERROR PROCESSOR                                                 T5X
*                                                                        T5X
70 BA = BA + 1               *BUMP ERROR COUNT                           T5X
   MSG B5 TO LINE 0                                                      T5X
   MSG EM TO LINE 1                                                      T5X
   IF(ES.AND.SL.EQ.0) GOTO 71  *IF NOT SCOPING                           T5X
   MSG 4(BA,B6) TO DISPLAY     *POST SCOPING MSG                         T5X
   GOTO 21                     *REPEAT                                   T5X
71 CALL 980                                                              T5X
   MSG 1 TO DISPLAY                                                      T5X
   IF(BA.LT.2) GOTO 21       *RETRY IF NOT 2 ERRORS                      T5X
   GOTO 55                                                               T5X
   END 20                                                                T5X
COMPILE   - T5X23 -                                                      T5X
   MODULE T5X40,65X(40,41,50,51)LOCK   - ERASE -                         T5X
*** T5X40 - ERASE                                                        T5X
*                                                                        T5X
**  T5X40 - EXTERNAL DOCUMENATION                                        T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         A SKIP BAD SPOT (ERASE) FUNCTION IS ISSUED, THEN GENERAL       T5X
*         STATUS IS CHECKED FOR AN *ALERT*. THIS PROCESS                 T5X
*         CONTINUES UNTIL FILE MAX OR EOT IS REACHED.                    T5X
*                                                                        T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. CLEAR ERROR COUNTER.                                        T5X
*         2. RESERVE.                                                    T5X
*         3. REWIND.                                                     T5X
*         4. CHECK FOR MAINTENANCE MODE AND SET FILE MAX.                T5X
*         5. RELEASE, DELAY AND RESERVE.                                 T5X
*         6. ERASE.                                                      T5X
*         7. WAIT NOT BUSY IF REQUESTED.                                 T5X
*         8. GO TO STEP 11 IF END OF TAPE.                               T5X
*         9. CHECK FOR *ALERT*. REPORT EC 246 IF ERROR.                  T5X
*        10. REPEAT STEPS 5-9 UNTIL FILE MAX ERASES DONE.                T5X
*        11. REPEAT MODULE IF SELECTED.                                  T5X
*        12. RELEASE.                                                    T5X
*        13. EXIT.                                                       T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS.                                 T5X
*                                                                        T5X
*         2. T5X40 - ERROR CODE = *OCT  AT LINE (EA) = *OCT              T5X
*         3. T5X40 - ABORT ON .ERASE. COMMAND -                          T5X
*         4. T5X40 - ABORT ON .RES. COMMAND -                            T5X
*         5. T5X40 - ABORT ON .REL. COMMAND -                            T5X
*         6. T5X40 - ABORT ON .REWIND. COMMAND -                         T5X
*         7. T5X40 - ABORT ON .WAITNB. COMMAND -                         T5X
*         8. T5X40 - ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*         9. -EC 246- AN ALERT STATUS OCCURRED AFTER AN ERASE            T5X
*            OPERATION.                                                  T5X
*                                                                        T5X
*                                                                        T5X
*** T5X40 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   REGISTER USAGE                                                       T5X
*                                                                        T5X
*        B0 = CURRENT FILE (ERASE) COUNT                                 T5X
*        B3 = FILE MAX                                                   T5X
*        B5 = MARGINS                                                    T5X
*           = MSG NUMBER(SET BEFORE ENTRY) FOR MESSAGE PROCESSOR         T5X
*           = DELAY VALUE FOR REL/RES                                    T5X
*        B6 = LOOP COUNT                                                 T5X
*        BA = ERROR COUNT                                                T5X
*                                                                        T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
 1 FORMAT T5X40 - ERASE (SKIP BAD SPOT) -                                T5X
 2 FORMAT T5X40 - ERROR CODE = *OCT  AT LINE (EA) = *OCT                 T5X
 4 FORMAT T5X40 - ABORT ON .ERASE. COMMAND -                             T5X
 6 FORMAT T5X40 - ABORT ON .RES. COMMAND -                               T5X
 7 FORMAT T5X40 - ABORT ON .REL. COMMAND -                               T5X
10 FORMAT T5X40 - ABORT ON .REWIND. COMMAND -                            T5X
11 FORMAT T5X40 - ABORT ON .WAITNB. COMMAND -                            T5X
12 FORMAT T5X40 - ABORT ON .STATUS. COMMAND -                            T5X
14 FORMAT T5X40 - ERRS=*DEC LOOPS=*DEC                                   T5X
15 FORMAT T5X40 ERROR(S) IN MODULE = *DEC                                T5X
*                                                                        T5X
*                                                                        T5X
   EQUATE ALERT TO 2000, EOT TO 40                                       T5X
*                                                                        T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY, PRINT    *RUNNING MESSAGE                           T5X
   BA=0                       *CLEAR ERROR COUNTER                       T5X
21 B5 =6                                                                 T5X
   RES P1, ABT 74             *RESERVE                                   T5X
   B5 = 10                                                               T5X
   REWIND, ABT 74                                                        T5X
   B0=0                                                                  T5X
   B3 = 25D                   *FILE MAX FOR DIAG MODE                    T5X
   IF(P3.AND.40.EQ.0)GOTO 24  *DIAGNOSTIC MODE SELECTED                  T5X
   B3 = P8                    *FILE MAX FOR MAINT MODE                   T5X
24 GOSUB 60                   *RELEASE-DELAY-RESERVE                     T5X
*                                                                        T5X
*---------ERASE                                                          T5X
*                                                                        T5X
   B5 = 4                                                                T5X
   ERASE , ABT 74                                                        T5X
   IF(P3.AND.20.NE.0)GOTO 30  *BYPASS WAIT *NOT BUSY*                    T5X
   B5 = 11                                                               T5X
   WAITNB, ABT 74                                                        T5X
30 IF(SB.AND.EOT.NE.0)GOTO 54      *EOT DETECTED                         T5X
   IF(SB.AND.ALERT.EQ.0) GOTO 31   *IF NO ALERT                          T5X
   B5 = 12                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/246, GOSUB 70                                                 T5X
31 IF(B3.EQ.0)GOTO 24                 *LOOP IF FILE MAX IS 0             T5X
   GOTO 24 WHILE(B0 + 1.LE.B3)        *LOOP FILEMAX TIMES                T5X
54 B6 = B6 + 1   .                    *LOOP COUNT                        T5X
   B5 = 7                                                                T5X
   REL, ABT 74                                                           T5X
   IF(ES.AND.SL.EQ.0) GOTO 55         *IF NOT SCOPING                    T5X
   MSG 14 (BA,B6) TO DISPLAY          *POST SCOPING MSG                  T5X
   GOTO 21                            *RESTART                           T5X
55 IF(ES.AND.CM.NE.0) GOTO 21         *REPEAT MODULE/COND.               T5X
   IF(BA.EQ.0)GOTO 57         *NO ERRORS                                 T5X
56 MSG 15 (BA) TO DAYFILE     *REPORT ERRORS                             T5X
57 EXIT                       *NORMAL TERMINATION                        T5X
*                                                                        T5X
*---------RELEASE-DELAY-RESERVE                                          T5X
*                                                                        T5X
60 IF(P5+P6.LT.20D) GOTO 61   *BYPASS REL ON SHORT DELAY                 T5X
   B5 = 7                                                                T5X
   REL, ABT 74                                                           T5X
61 B5 = P6                    *DELAY PARAM TO B5                         T5X
   IF(P5.EQ.0) GOTO 62        *USE FIXED DELAY FROM P6                   T5X
   B5 = RT.AND.P5             *USE RT CLOCK AND MASK                     T5X
62 DELAY B5 MSEC                                                         T5X
   B5 = 6                                                                T5X
   RES P1, ABT 74             *RESERVE                                   T5X
   RETURN                                                                T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 71  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   RETURN                     *RETURN                                    T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 75  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   GOTO 21                    *RESTART                                   T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(BA.LT.2)GOTO 21         *NOT SECOND TRY                            T5X
   GOTO 55                    *ABNORMAL TERMINATION                      T5X
   END 20                                                                T5X
COMPILE    - T5X40 -                                                     T5X
   MODULE T5X41,65X(40,41,50,51)LOCK   - WRITE FM/TM                     T5X
*** T5X41 - WRITE FILEMARK/TAPEMARK                                      T5X
*                                                                        T5X
**  T5X41 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         WRITE  FILEMARK/TAPEMARK UNTIL FILE MAX                        T5X
*         OR EOT IS ENCOUNTERED                                          T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. CLEAR ERROR COUNTER.                                        T5X
*         2. RESERVE.                                                    T5X
*         3. REWIND.                                                     T5X
*         4. CHECK FOR MAINTENANCE MODE AND SET FILE MAX.                T5X
*         5. RELEASE, DELAY AND RESERVE.                                 T5X
*         6. ENDFILE.                                                    T5X
*         7. WAIT NOT BUSY IF REQUESTED.                                 T5X
*         8. GO TO STEP 12 IF END OF TAPE.                               T5X
*         9. CHECK FOR *EOF*. REPORT EC 122 IF NOT PRESENT.              T5X
*        10. REPEAT STEPS 5-9 UNTIL FILE MAX ENDFILES DONE.              T5X
*        11. RELEASE.                                                    T5X
*        12. REPEAT MODULE IF SELECTED.                                  T5X
*        13. EXIT.                                                       T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED                                                      T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS                                  T5X
*                                                                        T5X
*         2. T5X41 - ERROR CODE = *OCT  AT LINE (EA) = *OCT              T5X
*         3. T5X41 - ABORT ON .ENDFILE. COMMAND -                        T5X
*         4. T5X41 - ABORT ON .RES. COMMAND -                            T5X
*         5. T5X41 - ABORT ON .REL. COMMAND -                            T5X
*         6. T5X41 - ABORT ON .REWIND. COMMAND -                         T5X
*         7. T5X41 - ABORT ON .WAITNB. COMMAND -                         T5X
*         8. T5X41 - ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*         9. -EC 122- NO FM/TM STATUS IN GENERAL STATUS, AT END OF       T5X
*            OPERATION, AFTER A WRITE FM/TM.                             T5X
*                                                                        T5X
*                                                                        T5X
*** T5X41 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   REGISTER USAGE                                                       T5X
*                                                                        T5X
*         B0 = CURRENT FILE COUNT                                        T5X
*         B2 = FILE MAX                                                  T5X
*         B5 = MARGINS                                                   T5X
*            = MSG NUMBER(SET BEFORE ENTRY) FOR MESSAGE PROCESSOR        T5X
*            = DELAY VALUE FOR REL/RES                                   T5X
*         B6 = LOOP COUNT                                                T5X
*         BA = ERROR COUNT                                               T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
*                                                                        T5X
 1 FORMAT T5X41 - WRITE FILEMARK/TAPEMARK -                              T5X
 2 FORMAT T5X41 - ERROR CODE = *OCT  AT LINE (EA) = *OCT                 T5X
 4 FORMAT T5X41 - ABORT ON .ENDFILE. COMMAND -                           T5X
 5 FORMAT T5X41 - ABORT ON .RES. COMMAND -                               T5X
 6 FORMAT T5X41 - ABORT ON .REL. COMMAND -                               T5X
 7 FORMAT T5X41 - ABORT ON .REWIND. COMMAND -                            T5X
10 FORMAT T5X41 - ABORT ON .WAITNB. COMMAND -                            T5X
11 FORMAT T5X41 - ABORT ON .STATUS. COMMAND -                            T5X
14 FORMAT T5X41 - ERRS=*DEC LOOPS=*DEC                                   T5X
15 FORMAT T5X41 ERROR(S) IN MODULE = *DEC                                T5X
   EQUATE EOT TO 40, FILEMK TO 10                                        T5X
20 MSG 1 TO DISPLAY,PRINT     *RUNNING MESSAGE                           T5X
   BA=0                       *CLEAR ERROR COUNTER                       T5X
21 B5 = 5                                                                T5X
   RES P1, ABT 74             *RESERVE                                   T5X
   B5 = 7                                                                T5X
   REWIND, ABT 74                                                        T5X
   B0=0                                                                  T5X
   WC = P2                    *RECORD LENGTH TO WC REG                   T5X
   B2 = P8                    *FILE MAX MAINT MODE                       T5X
   IF(P3.AND.40.NE.0)GOTO 24  *MAINTENANCE MODE SELECTED                 T5X
   B2 = 25D                   *FILE MAX DIAG MODE                        T5X
24 IF(P5+P6.LT.20D) GOTO 25   *BYPASS REL ON SHORT DELAY                 T5X
   B5 = 6                                                                T5X
   REL, ABT 74                *RELEASE                                   T5X
25 B5 = P6                    *FIXED DELAY TIME                          T5X
   IF(P5.EQ.0) GOTO 26        *USE FIXED DELAY FROM P6                   T5X
   B5 = RT.AND.P5             *USE RT CLOCK AND MASK                     T5X
26 DELAY B5 MSEC                                                         T5X
   B5 = 5                                                                T5X
   RES P1, ABT 74             *RESERVE                                   T5X
   B0 = B0 + 1                *INCREMENT FILE COUNT                      T5X
*                                                                        T5X
*---------WRITE FILEMARK/TAPEMARK                                        T5X
*                                                                        T5X
30 B5 = 4                                                                T5X
   ENDFILE , ABT 74                                                      T5X
   IF(P3.AND.20.NE.0)GOTO 31  *BYPASS WAIT *NOT BUSY*                    T5X
   B5 = 10                                                               T5X
   WAITNB, ABT 74                                                        T5X
31 IF(SB.AND.EOT.NE.0)GOTO 54      *EOT DETECTED                         T5X
   IF(SB.AND.FILEMK.NE.0) GOTO 32   *IF FM/TM                            T5X
   B5 = 11                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/122, GOSUB 70                                                 T5X
32 IF(B2.EQ.0)GOTO 24         *INFINITE FILE COUNT                       T5X
   IF(B0.LT.B2)GOTO 24        *FILE COUNT NOT EXHAUSTED                  T5X
   B5 = 6                                                                T5X
   REL, ABT 74                                                           T5X
54 B6 = B6 + 1                *LOOP COUNT                                T5X
   IF(ES.AND.SL.EQ.0) GOTO 55         *IF NOT SCOPING                    T5X
   MSG 14 (BA,B6) TO DISPLAY          *POST SCOPING MSG                  T5X
   GOTO 21                            *RESTART                           T5X
55 IF(ES.AND.CM.NE.0)GOTO 21  *IF REPEAT MODULE/CONDITION                T5X
   IF(BA.EQ.0)GOTO 57         *NO ERRORS                                 T5X
56 MSG 15 (BA) TO DAYFILE     *REPORT ERRORS                             T5X
57 EXIT                       *NORMAL TERMINATION                        T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 71  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   RETURN                     *RETURN                                    T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 75  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   GOTO 21                    *RESTART                                   T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(BA.LT.2)GOTO 21         *NOT SECOND TRY                            T5X
   GOTO 55                    *ABNORMAL TERMINATION                      T5X
   END 20                                                                T5X
COMPILE    - T5X41 -                                                     T5X
   MODULE T5X42,65X(40,41,50,51)LOCK   - READ FM/TM                      T5X
*** T5X42 - READ FILEMARK/TAPEMARK                                       T5X
*                                                                        T5X
**  T5X42 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         THIS MODULE IS DEPENDENT ON THE TAPE CREATED BY                T5X
*         MODULE *T5X41*. (TAPE OF ALL FILE MARKS).                      T5X
*                                                                        T5X
*         READ FORWARD AND CHECK FOR FM/TM SEQUENCE IS                   T5X
*         INITIATED. THIS SEQUENCE CONTINUES UNTIL EOT OR                T5X
*         FILE MAX IS ENCOUNTERED.                                       T5X
*                                                                        T5X
*         READ REVERSE IS THEN INITIATED WHICH CONTINUES                 T5X
*         UNTIL LOADPOINT IS ENCOUNTERED.                                T5X
*                                                                        T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. SELECT MARGINS.                                             T5X
*         2. RESERVE.                                                    T5X
*         3. REWIND.                                                     T5X
*         4. CHECK FOR MAINTENANCE MODE AND SET FILE MAX.                T5X
*         5. RELEASE, DELAY AND RESERVE.                                 T5X
*         6. READ FORWARD.                                               T5X
*         7. WAIT NOT BUSY IF REQUESTED.                                 T5X
*         8. GO TO STEP 11 IF END OF TAPE.                               T5X
*         9. CHECK FOR *EOF*. REPORT EC 252 IF NOT PRESENT.              T5X
*        10. REPEAT STEPS 5-9 UNTIL FILE MAX FORWARD READS DONE.         T5X
*        11. RELEASE, DELAY AND RESERVE.                                 T5X
*        12. READ REVERSE.                                               T5X
*        13. WAIT NOT BUSY IF REQUESTED.                                 T5X
*        14. GO TO STEP 17 IF LOADPOINT.                                 T5X
*        15. CHECK FOR *EOF*. REPORT EC 251 IF NOT PRESENT.              T5X
*        16. REPEAT STEPS 11-15 UNTIL FILE MAX REVERSE READS DONE.       T5X
*        17. REPEAT MODULE OR EXIT.                                      T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS                                  T5X
*                                                                        T5X
*         2. T5X42 - ERROR CODE = *OCT  AT LINE (EA) = *OCT              T5X
*         3. T5X42 - ABORT ON .REWIND. COMMAND -                         T5X
*         4. T5X42 - ABORT ON .READ REV. COMMAND -                       T5X
*         5. T5X42 - ABORT ON .READ FWD. COMMAND -                       T5X
*         6. T5X42 - ABORT ON .RES. COMMAND -                            T5X
*         7. T5X42 - ABORT ON .REL. COMMAND -                            T5X
*         8. T5X42 - ABORT ON .WAITNB. COMMAND -                         T5X
*         9. T5X42 - ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*        10. -EC 251- FILE MARK STATUS IS MISSING AT END-OF-OPERATION    T5X
*            DURING REVERSE READ FILE MARK TEST.                         T5X
*                                                                        T5X
*        11. -EC 252- FILE MARK STATUS IS MISSING AT END-OF-OPERATION    T5X
*            DURING FORWARD READ FILE MARK TEST.                         T5X
*                                                                        T5X
*                                                                        T5X
*** T5X42 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B0 = CURRENT FILE COUNT                                        T5X
*         B2 = FILE MAX                                                  T5X
*         B5 = MARGINS                                                   T5X
*            = MSG NUMBER(SET BEFORE ENTRY) FOR MESSAGE PROCESSOR        T5X
*            = DELAY VALUE FOR REL/RES                                   T5X
*         B6 = LOOP COUNT                                                T5X
*         BA = ERROR COUNT                                               T5X
*                                                                        T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
*                                                                        T5X
 1 FORMAT T5X42 - READ FILEMARK/TAPEMARK -                               T5X
 2 FORMAT T5X42 - ERROR CODE = *OCT  AT LINE (EA) = *OCT                 T5X
 4 FORMAT T5X42 - ABORT ON .REWIND. COMMAND -                            T5X
 5 FORMAT T5X42 - ABORT ON .READ REV. COMMAND -                          T5X
 6 FORMAT T5X42 - ABORT ON .READ FWD. COMMAND -                          T5X
 7 FORMAT T5X42 - ABORT ON .RES. COMMAND -                               T5X
10 FORMAT T5X42 - ABORT ON .REL. COMMAND -                               T5X
11 FORMAT T5X42 - ABORT ON .WAITNB. COMMAND -                            T5X
12 FORMAT T5X42 - ABORT ON .STATUS. COMMAND -                            T5X
14 FORMAT T5X42 - ERRS=*DEC LOOPS=*DEC                                   T5X
15 FORMAT T5X42 ERROR(S) IN MODULE = *DEC                                T5X
*                                                                        T5X
*                                                                        T5X
   EQUATE EOT TO 40, FILEMK TO 10, LOADPT TO 20                          T5X
*                                                                        T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY,PRINT     *RUNNING MESSAGE                           T5X
   BA=0                       *CLEAR ERROR COUNTER                       T5X
   B5 = P3.RS.6.AND.7         *MARGIN BITS TO B5                         T5X
   MARGINS B5                 *SELECT MARGINS PER PARAM P3               T5X
21 B5 = 7                                                                T5X
   RES P1, ABT 74             *RESERVE                                   T5X
   B5 = 4                                                                T5X
   REWIND,ABT 74                                                         T5X
   B0=0                                                                  T5X
   B2 = P8                    *FILE MAX MAINT MODE                       T5X
   IF(P3.AND.40.NE.0)GOTO 24  *MAINTENANCE MODE SELECTED                 T5X
   B2 = 25D                   *FILE MAX DIAG MODE                        T5X
24 GOSUB 60                   *RESERVE                                   T5X
*                                                                        T5X
*---------READ FORWARD                                                   T5X
*                                                                        T5X
   B5 = 6                                                                T5X
   READ FWD , ABT 74                                                     T5X
   B0 = B0 + 1                *INCREMENT FILE COUNT                      T5X
   IF(P3.AND.20.NE.0)GOTO 30  *BYPASS WAIT *NOT BUSY*                    T5X
   B5 = 11                                                               T5X
   WAITNB, ABT 74                                                        T5X
30 IF(SB.AND.EOT.NE.0)GOTO 34      *EOT DETECTED                         T5X
   IF(SB.AND.FILEMK.NE.0) GOTO 31   *IF FM/TM                            T5X
   B5 = 12                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/252, GOSUB 70                                                 T5X
31 IF(B2.EQ.0)GOTO 24         *INFINITE FILE COUNT                       T5X
   IF(B0.LT.B2)GOTO 24        *FILE COUNT NOT EXHAUSTED                  T5X
34 GOSUB 60                   *RESERVE                                   T5X
*                                                                        T5X
*---------READ REVERSE                                                   T5X
*                                                                        T5X
   B5 = 5                                                                T5X
   READ REV , ABT 74                                                     T5X
   IF(P3.AND.20.NE.0)GOTO 40  *BYPASS WAIT *NOT BUSY*                    T5X
   B5 = 11                                                               T5X
   WAITNB, ABT 74                                                        T5X
40 IF(SB.AND.LOADPT.NE.0)GOTO 54   *LOAD POINT DETECTED                  T5X
   IF(SB.AND.FILEMK.NE.0) GOTO 41   *IF FM/TM                            T5X
   B5 = 12                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/251, GOSUB 70                                                 T5X
41 GOTO 34 WHILE (B0-1.NE.0)  *DECREMENT FILE COUNT                      T5X
54 B6 = B6 + 1                *LOOP COUNT                                T5X
   IF(ES.AND.SL.EQ.0) GOTO 55         *IF NOT SCOPING                    T5X
   MSG 14 (BA,B6) TO DISPLAY          *POST SCOPING MSG                  T5X
   GOTO 21                            *RESTART                           T5X
55 IF(ES.AND.CM.NE.0)GOTO 21  *IF REPEAT MODULE/CONDITION                T5X
   IF(BA.EQ.0)GOTO 57         *NO ERRORS                                 T5X
56 MSG 15 (BA) TO DAYFILE     *REPORT ERRORS                             T5X
57 EXIT                       *NORMAL TERMINATION                        T5X
*                                                                        T5X
*---------RELEASE - DELAY - RESERVE                                      T5X
*                                                                        T5X
60 IF(P5+P6.LT.20D) GOTO 61   *BYPASS REL ON SHORT DELAY                 T5X
   B5 = 10                                                               T5X
   REL, ABT 74                *RELEASE                                   T5X
61 B5 = P6                    *DELAY PARAM TO B5                         T5X
   IF(P5.EQ.0) GOTO 62        *USE FIXED DELAY FROM P6                   T5X
   B5 = RT.AND.P5             *USE RT CLOCK AND MASK                     T5X
62 DELAY B5 MSEC                                                         T5X
   B5 = 7                                                                T5X
   RES P1, ABT 74             *RESERVE                                   T5X
   RETURN                                                                T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 71  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   RETURN                     *RETURN                                    T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 75  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   GOTO 21                    *RESTART                                   T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(BA.LT.2)GOTO 21         *NOT SECOND TRY                            T5X
   GOTO 55                    *ABNORMAL TERMINATION                      T5X
   END 20                                                                T5X
COMPILE    - T5X42 -                                                     T5X
   MODULE T5X43,65X(40,41,50,51)LOCK   - WRITE -                         T5X
*** T5X43 - WRITE                                                        T5X
*                                                                        T5X
**  T5X43 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         RECORDS ARE WRITTEN ON TAPE AT THE DENSITY AND                 T5X
*         PATTERN SELECTED BY THE *PARAM* DIRECTIVE.                     T5X
*                                                                        T5X
*         WRITING CONTINUES UNTIL *RECORD MAX* AND *FILE MAX*            T5X
*         OR *EOT* IS REACHED.                                           T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. FILL OUTPUT BUFFER WITH SELECTED PATTERN.                   T5X
*         2. RESERVE.                                                    T5X
*         3. REWIND.                                                     T5X
*         4. FILL OUTPUT BUFFER WITH RANDOM PATTERN IF SELECTED.         T5X
*         5. APPLY ADDRESS CODING IF SELECTED.                           T5X
*         6. RELEASE, DELAY AND RESERVE.                                 T5X
*         7. WRITE.                                                      T5X
*         8. WAIT NOT BUSY IF SELECTED.                                  T5X
*         9. GO TO STEP 16 IF *EOT*.                                     T5X
*        10. REPORT EC 200 IF STATUS ERROR.                              T5X
*        11. REPEAT STEPS 4-10 UNTIL *RECORD MAX* RECORDS WRITTEN.       T5X
*        12. WAIT NOT BUSY IF SELECTED.                                  T5X
*        13. ENDFILE.                                                    T5X
*        14. REPORT EC 122 IF NO *EOF* STATUS.                           T5X
*        15. REPEAT STEPS 4-14 UNTIL *FILE MAX* FILES WRITTEN.           T5X
*        16. REPEAT MODULE OR EXIT.                                      T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS                                  T5X
*                                                                        T5X
*         2. T5X43 - ERROR CODE = *OCT  AT LINE (EA) = *OCT              T5X
*         3. T5X43 - ABORT ON .ENDFILE. COMMAND -                        T5X
*         4. T5X43 - ABORT ON .WRITE. COMMAND -                          T5X
*         5. T5X43 - ABORT ON .RES. COMMAND -                            T5X
*         6. T5X43 - ABORT ON .REWIND. COMMAND -                         T5X
*         7. T5X43 - ABORT ON .REL. COMMAND -                            T5X
*         8. T5X43 - ABORT ON .WAITNB. COMMAND -                         T5X
*         9. T5X43 - ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*        10. -EC 122- NO FM/TM STATUS IN GENERAL STATUS, AT END OF       T5X
*            OPERATION, AFTER A WRITE FM/TM.                             T5X
*                                                                        T5X
*        11. -EC 200- AN UNEXPECTED STATUS BIT APPEARED IN GENERAL       T5X
*            STATUS DURING A -WRITE- OPERATION.                          T5X
*            NOTE THAT GENERAL STATUS WAS MASKED WITH LOGICAL            T5X
*            PRODUCT 6410B.                                              T5X
*                                                                        T5X
*                                                                        T5X
*** T5X43 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*                                                                        T5X
*   REGISTER USAGE                                                       T5X
*                                                                        T5X
*         B0 = CURRENT FILE COUNT                                        T5X
*            = TRACK SIZE (6 OR 8)                                       T5X
*            = RANDOM STARTER                                            T5X
*         B1 = CURRENT RECORD COUNT                                      T5X
*         B2 = RANDOM DATA PATTERN FLAG                                  T5X
*         B3 = PATTERN FOR STORING                                       T5X
*         B5 = MSG NUMBER(SET BEFORE ENTRY) FOR MESSAGE PROCESSOR        T5X
*            = DELAY VALUE FOR REL/RES                                   T5X
*         B6 = LOOP COUNT                                                T5X
*         BA = ERROR COUNT                                               T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
 1 FORMAT T5X43 - WRITE -                                                T5X
 2 FORMAT T5X43 - ERROR CODE = *OCT  AT LINE (EA) = *OCT                 T5X
 4 FORMAT T5X43 - ABORT ON .ENDFILE. COMMAND -                           T5X
 5 FORMAT T5X43 - ABORT ON .WRITE. COMMAND -                             T5X
 6 FORMAT T5X43 - ABORT ON .RES. COMMAND -                               T5X
10 FORMAT T5X43 - ABORT ON .REWIND. COMMAND -                            T5X
11 FORMAT T5X43 - ABORT ON .REL. COMMAND -                               T5X
12 FORMAT T5X43 - ABORT ON .WAITNB. COMMAND -                            T5X
13 FORMAT T5X43 - ABORT ON .STATUS. COMMAND -                            T5X
14 FORMAT T5X43 - ERRS=*DEC LOOPS=*DEC                                   T5X
15 FORMAT T5X43 ERROR(S) IN MODULE = *DEC                                T5X
*                                                                        T5X
   EQUATE FILEMK TO 10, EOT TO 40, ERROR TO 6410                         T5X
*                                                                        T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY,PRINT      *RUNNING MESSAGE.                         T5X
   BA = 0                      *INITIALIZE ABORT COUNTER                 T5X
   IF(P4.AND.3000.EQ.2000) GOTO 23  *RANDOM PATTERN SELECTED             T5X
   B0 = 10                                                               T5X
   B1 = 360                                                              T5X
   B3 = P4                     *SET PATTERN 
   IF(DC.AND.10.NE.0)GOTO 21   *IF 9 TRACK TAPE.                         T5X
   B0 = 6                      *TRACK SIZE (6 OR 8)                      T5X
*                                                                        T5X
*---------FILL BUFFER                                                    T5X
*                                                                        T5X
21 IF(P4.AND.3000.EQ.1000)B3=P4.XOR.7777    *ALT PATRN                   T5X000G
   DUP B0 BITS OF P4/B3 TO OB FOR 500   *FILL BUFFER                     T5X001G
   GOTO 25                                                               T5X
23 B0 = P7                   *RANDOM STARTER                             T5X
   IF(P3.AND.4.NE.0)GOTO 24  *USE RANDOM STARTER                         T5X
   B2=1                      *SET FLAG                                   T5X
   B0 = RT                   *USE RT CLOCK FOR STARTER                   T5X
24 RANDOM TO OB FOR 500 , START B0                                       T5X
25 WC = P2                   *RECORD LENGTH TO WC REG                    T5X
26 B5 = 6                                                                T5X
   RES P1, ABT 74            *RESERVE                                    T5X
   B5 = 10                                                               T5X
   REWIND,ABT 74             *REWIND                                     T5X
   B0=0                      *CLEAR FILE COUNT                           T5X
   B1=0                      *CLEAR RECORD COUNT                         T5X
30 B1 = B1 + 1               *INCREMENT RECORD COUNT                     T5X
   IF(B2.EQ.0) GOTO 40       *RANDOM PTRN NOT SELECTED                   T5X
   RANDOM TO OB FOR 500 , START RT                                       T5X
*                                                                        T5X
*-------- ADDRESS CODING                                                 T5X
*                                                                        T5X
40 IF(P3.AND.1.NE.0)GOTO 43  *BYPASS ADDRESS CODING                      T5X
   OB(1) = B0                                                            T5X
   OB(2) = B1                                                            T5X
   OB(3) = WC                                                            T5X
43 IF(P5+P6.LT.20D) GOTO 44  *BYPASS REL ON SHORT DELAY                  T5X
   B5 = 11                                                               T5X
   REL, ABT 74                                                           T5X
44 B5 = P6                   *DELAY PARAM TO B5                          T5X
   IF(P5.EQ.0) GOTO 45       *USE FIXED DELAY FROM P6                    T5X
   B5 = RT.AND.P5            *USE RT CLOCK AND MASK                      T5X
45 DELAY B5 MSEC                                                         T5X
   B5 = 6                                                                T5X
   RES P1, ABT 74            *RESERVE                                    T5X
*                                                                        T5X
*---------WRITE .WC. SPECIFIED BY *P2*                                   T5X
*                                                                        T5X
   B5 = 5                                                                T5X
   WRITE , ABT 74                                                        T5X
   IF(P3.AND.20.NE.0)GOTO 46  *BYPASS WAIT *NOT BUSY*                    T5X
   B5 = 12                                                               T5X
   WAITNB, ABT 74                                                        T5X
46 IF(SB.AND.EOT.NE.0) GOTO 54     *EOT DETECTED                         T5X
   IF(SB.AND.ERROR.EQ.0)GOTO 50    *NO ERROR DETECTED                    T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/200 , GOSUB 70                                                T5X
50 IF(P9.EQ.0)GOTO 30         *WRITE TO EOT IF P9 ZERO                   T5X
   IF(B1.NE.P9)GOTO 30        *P9 RECORDS NOT DONE                       T5X
   B1 = 0                     *ZERO RECORD COUNT                         T5X
   B0 = B0 + 1                *INCREMENT FILE COUNT                      T5X
   IF(P3.AND.20.NE.0)GOTO 51  *BYPASS WAIT *NOT BUSY*                    T5X
   B5 = 6                                                                T5X
   RES P1, ABT 74                                                        T5X
   B5 = 12                                                               T5X
   WAITNB, ABT 74                                                        T5X
*                                                                        T5X
*---------WRITE .EOF.                                                    T5X
*                                                                        T5X
51 B5 = 4                                                                T5X
   ENDFILE , ABT 74                                                      T5X
   IF(SB.AND.FILEMK.NE.0) GOTO 52   *IF FM/TM                            T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/122, GOSUB 70                                                 T5X
52 IF (P8.EQ.0) GOTO 30      *LOOP IF INFINITE FILE COUNT                T5X
   IF(B0.LT.P8)GOTO 30       *P8 FILES NOT PROCESSED                     T5X
   B5 = 11                                                               T5X
   REL, ABT 74                                                           T5X
54 B6 = B6 + 1                *LOOP COUNT                                T5X
   IF(ES.AND.SL.EQ.0) GOTO 55         *IF NOT SCOPING                    T5X
   MSG 14 (BA,B6) TO DISPLAY          *POST SCOPING MSG                  T5X
   GOTO 26                            *RESTART                           T5X
55 IF(ES.AND.CM.NE.0)GOTO 26  *IF REPEAT MODULE/CONDITION                T5X
   IF(BA.EQ.0)GOTO 57                 *NO ERRORS                         T5X
56 MSG 15 (BA) TO DAYFILE             *REPORT ERRORS                     T5X
57 EXIT                               *NORMAL TERMINATION                T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 71  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   RETURN                     *RETURN                                    T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 75  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   GOTO 26                    *RESTART                                   T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(BA.LT.2)GOTO 26         *NOT SECOND TRY                            T5X
   GOTO 55                    *ABNORMAL TERMINATION                      T5X
   END 20                                                                T5X
COMPILE    - T5X43 -                                                     T5X
   MODULE T5X44,65X(40,41,50,51)LOCK   - READ -                          T5X
*** T5X44 - READ                                                         T5X
*                                                                        T5X
**  T5X44 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         THIS MODULE READS THE TAPE CREATED BY MODULE                   T5X
*         T5X43, WRITE.  ERRORS CAN BE EXPECTED                          T5X
*         IF THIS MODULE IS EXECUTED OUT OF SEQUENCE.                    T5X
*                                                                        T5X
*         RECORDS ARE READ FROM TAPE ACCORDING TO THE                    T5X
*         DENSITY AND PATTERN SPECIFIED BY THE *PARAM*                   T5X
*         DIRECTIVE.                                                     T5X
*         READING CONTINUES IN THE FORWARD DIRECTION                     T5X
*         UNTIL RECORD MAX OR FILE MAX OR -EOT- IS REACHED.              T5X
*                                                                        T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. SELECT MARGINS.                                             T5X
*         2. RESERVE.                                                    T5X
*         3. REWIND.                                                     T5X
*         4. RELEASE AND DELAY.                                          T5X
*         5. RESERVE.                                                    T5X
*         6. READ FORWARD.                                               T5X
*         7. WAIT NOT BUSY IF SELECTED.                                  T5X
*         8. GO TO STEP 17 IF *EOT*.                                     T5X
*         9. REPORT EC 207 IF *EOF* DETECTED WHEN NOT EXPECTED           T5X
*            AND REQUESTED TO DO SO BY THE USER.                         T5X
*        10. REPORT EC 203 IF *ALERT* STATUS.                            T5X
*        11. GO TO STEP 15 IF DATA COMPARE IS NOT SELECTED.              T5X
*        12. GENERATE EXPECTED DATA PATTERN IN OB.                       T5X
*        13. ADD ADDRESS CODING IF SELECTED.                             T5X
*        14. COMPARE IB TO OB.  REPORT EC 105 IF ERROR DETECTED.         T5X
*        15. REPEAT STEPS 4-14 FOR *RECORD MAX* RECORDS.                 T5X
*        16. REPEAT STEPS 4-15 FOR *FILE MAX* FILES.                     T5X
*        17. REPEAT MODULE OR EXIT.                                      T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS                                  T5X
*                                                                        T5X
*         2. T5X44 - ERROR CODE = *OCT AT LINE (EA) = *OCT               T5X
*         3. T5X44 - ABORT ON .REWIND. COMMAND -                         T5X
*         4. T5X44 - ABORT ON .READ FWD. COMMAND -                       T5X
*         5. T5X44 - ABORT ON .RES. COMMAND -                            T5X
*         6. T5X44 - ABORT ON .REL. COMMAND -                            T5X
*         7. T5X44 - ABORT ON .WAITNB. COMMAND -                         T5X
*         8. T5X44 - ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*         9. -EC 105- DATA COMPARE ERROR.  THE FIRST 400B WORDS (OR THE  T5X
*            WORD LENGTH IN PARAM -P2-), THAT WERE TRANSFERRED           T5X
*            DO NOT COMPARE ALTHOUGH NO SUBSYSTEM ERRORS WERE            T5X
*            REPORTED.                                                   T5X
*                                                                        T5X
*        10. -EC 203- THE ALERT BIT IN GENERAL STATUS WAS SET DURING A   T5X
*            READ OPERATION.  *LAST FUNCTION* FIELD CONTAINS THE         T5X
*            LAST MAJOR FUNCTION THAT WAS ISSUED.                        T5X
*                                                                        T5X
*        11. -EC 207- A FM/TM WAS DETECTED DURING A READ. YO             T5X
*            ARE TO NOTE THAT THIS ERROR IS DEPENDENT ON THE             T5X
*            CONFIRMED PRESENCE OF A FM/TM. NOTE THAT IF *P4* =          T5X
*            4XXX IS SET, THIS ERROR WILL BE REPORTED.                   T5X
*** T5X44 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B0 = CURRENT FILE COUNT                                        T5X
*         B1 = CURRENT RECORD COUNT                                      T5X
*         B2 = PATTERN FOR STORING                                       T5X
*         B3 = FM/TM FLAG                                                T5X
*         B4 = TRACK SIZE (6 OR 8)                                       T5X
*         B5 = NO OF DATA WORDS TO COMPARE/STORE                         T5X
*            = MSG NUMBER(SET BEFORE ENTRY) FOR MESSAGE PROCESSOR        T5X
*            = DELAY VALUE FOR REL/RES                                   T5X
*            = MARGINS                                                   T5X
*         B6 = LOOP COUNT                                                T5X
*         BA = ERROR COUNT                                               T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
*                                                                        T5X
/         TAPE MUST BE *T5X43* GENERATED FOR DATA COMPARE                T5X
*                                                                        T5X
 1 FORMAT T5X44 - READ -                                                 T5X
 2 FORMAT T5X44 - ERROR CODE = *OCT AT LINE (EA) = *OCT                  T5X
 4 FORMAT T5X44 - ABORT ON .REWIND. COMMAND -                            T5X
 5 FORMAT T5X44 - ABORT ON .READ FWD. COMMAND -                          T5X
 6 FORMAT T5X44 - ABORT ON .RES. COMMAND -                               T5X
 7 FORMAT T5X44 - ABORT ON .REL. COMMAND -                               T5X
10 FORMAT T5X44 - ABORT ON .WAITNB. COMMAND -                            T5X
11 FORMAT T5X44 - ABORT ON .STATUS. COMMAND -                            T5X
14 FORMAT T5X44 - ERRS=*DEC LOOPS=*DEC                                   T5X
15 FORMAT T5X44 ERROR(S) IN MODULE = *DEC                                T5X
*                                                                        T5X
   EQUATE ALERT TO 2000, EOT TO 40, FILEMK TO 10                         T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY,PRINT    *RUNNING MESSAGE.                           T5X
   BA = 0                    *INITIALIZE ABORT COUNTER                   T5X
   WC = P2                   *SET WORD COUNT REGISTER                    T5X
   B5 = P3.RS.6.AND.7        *MARGIN BITS IN P3                          T5X
   MARGINS B5                *SELECT MARGINS                             T5X
21 B5 = 6                                                                T5X
   RES P1, ABT 74            *RESERVE                                    T5X
   B5 = 4                                                                T5X
   REWIND,ABT 74             *REWIND                                     T5X
   B0=0                                                                  T5X
   B1=0                                                                  T5X
   B3 = 0                    *CLEAR FM/TM FLAG                           T5X
26 B1 = B1 +1                *INCREMENT RECORD COUNT                     T5X
   IF(P5+P6.LT.20D) GOTO 27  *BYPASS REL ON SHORT DELAY                  T5X
   B5 = 7                                                                T5X
   REL, ABT 74                                                           T5X
27 B5 = P6                                                               T5X
   IF(P5.EQ.0)GOTO 30        *USE FIXED DELAY FROM P6                    T5X
   B5 = RT.AND.P5            *REAL TIME CLOCK AND MASK                   T5X
30 DELAY B5 MSEC             *DELAY                                      T5X
   B5 = 6                                                                T5X
   RES P1, ABT 74            *RESERVE                                    T5X
*                                                                        T5X
*---------READ                                                           T5X
*                                                                        T5X
32 B5 = 5                                                                T5X
   READ FWD , ABT 74          *READ FORWARD                              T5X
   IF(P3.AND.20.NE.0)GOTO 33  *BYPASS WAIT *NOT BUSY*                    T5X
   B5 = 10                                                               T5X
   WAITNB, ABT 74                                                        T5X
33 IF(SB.AND.EOT.NE.0)GOTO 54      *EOT DETECTED                         T5X
   IF(SB.AND.FILEMK.EQ.0)GOTO 40   *NO FILEMARK DETECTED                 T5X
   IF(B3.EQ.1) GOTO 52                *EOF EXPECTED                      T5X
   IF(P4.AND.4000.EQ.0)GOTO 52        *DO NOT REPORT FM ERR              T5X
   B5 = 11                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/207, GOSUB 70   *FM/TM ERROR                                  T5X
   GOTO 52                                                               T5X
40 IF(SB.AND.ALERT.EQ.0) GOTO 41    *NO ALERT                            T5X
   B5 = 11                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/203, GOSUB 70               *ALERT                            T5X
* 
*---------COMPARE 
* 
41 IF(P3.AND.2.EQ.0)GOTO 52        *DO NOT COMPARE DATA                  T5X
   IF(B3.NE.0) GOTO 52       *DO NOT COMPARE DATA ON FM/TM               T5X
   IF(P4.AND.3000.NE.2000)GOTO 42  *RANDOM PTRN NOT SELECTED             T5X
   RANDOM TO OB FOR 500 , START IB                                       T5X
   GOTO 45                                                               T5X
42 B4 = 10                                                               T5X
   B2 = P4                                                               T5X
   IF(DC.AND.10.NE.0) GOTO 43          *IF 9 TRACK TAPE                  T5X
   B4 = 6                                                                T5X
43 IF(P4.AND.3000.EQ.1000)B2=P4.XOR.7777    *ALT PATRN                   T5X000G
   DUP B4 BITS OF P4/B2 TO OB FOR 500                                    T5X000G
45 IF(P3.AND.1.NE.0)GOTO 46         *BYPASS ADDRESS CODING               T5X
   OB(1) = B0                                                            T5X
   OB(2) = B1                                                            T5X
   OB(3) = WC                                                            T5X
46 B5 = 400                                                              T5X
   IF(WT.GT.400) GOTO 47            *IF WT LARGER THAN BFR               T5X
   B5 = WT - 1                                                           T5X
47 COMPARE IB TO OB FOR B5 , ABT 50                                      T5X
   GOTO 52                                                               T5X
50 ERROR 2/105 , GOSUB 70    *DATA COMPARE ERROR                         T5X
52 IF(B3.EQ.0)GOTO 53        *NOT AN FM/TM READ                          T5X
   B3 = 0                                                                T5X
   B1 = B1 - 1               *DECREMENT RECORD COUNT                     T5X
53 IF(P9.EQ.0)GOTO 26        *IF P9 ZERO GO TO EOT                       T5X
   IF(B1.LT.P9)GOTO 26       *MORE RECORDS TO BE READ                    T5X
   B1 = 0                    *ZERO RECORD COUNT                          T5X
   B3 = 1                    *FM/TM FLAG                                 T5X
   B0 = B0 + 1               *INCREMENT FILE COUNT                       T5X
   IF(P8.EQ.0)GOTO 26        *INFINITE FILE COUNT GO TIL EOT             T5X
   IF(B0.LT.P8)GOTO 26       *P8 FILES NOT PROCESSED                     T5X
54 B6 = B6 + 1                *LOOP COUNT                                T5X
   IF(ES.AND.SL.EQ.0) GOTO 55         *IF NOT SCOPING                    T5X
   MSG 14 (BA,B6) TO DISPLAY          *POST SCOPING MSG                  T5X
   GOTO 21                            *RESTART                           T5X
55 IF(ES.AND.CM.NE.0)GOTO 21  *IF REPEAT MODULE/CONDITION                T5X
   IF(BA.EQ.0)GOTO 57        *NO ERRORS                                  T5X
56 MSG 15 (BA) TO DAYFILE    *REPORT ERRORS                              T5X
57 EXIT                      *NORMAL TERMINATION                         T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 71  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   RETURN                     *RETURN                                    T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 75  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   GOTO 21                    *RESTART                                   T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(BA.LT.2)GOTO 21         *NOT SECOND TRY                            T5X
   GOTO 55                    *ABNORMAL TERMINATION                      T5X
   END 20                                                                T5X
COMPILE    - T5X44  -                                                    T5X
   MODULE T5X45,65X(40,41,50,51)LOCK   - READ FWD/REV(FWD) -             T5X
*** T5X45 - READ FORWARD/REVERSE                                         T5X
*                                                                        T5X
**  T5X45 - EXTERNAL DOCUMENTAION                                        T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         THIS MODULE READS THE TAPE CREATED BY MODULE                   T5X
*         T5X43, WRITE.  ERRORS CAN BE EXPECTED                          T5X
*         IF THIS MODULE IS EXECUTED OUT OF SEQUENCE.                    T5X
*                                                                        T5X
*         RECORDS ARE READ FROM TAPE ACCORDING TO THE                    T5X
*         DENSITY AND PATTERN SPECIFIED BY THE *PARAM*                   T5X
*         DIRECTIVE.  RECORDS ARE READ IN THE FORWARD                    T5X
*         DIRECTION UNTIL RECORD MAX AND FILE MAX OR EOT IS              T5X
*         REACHED.                                                       T5X
*                                                                        T5X
*         AT THIS POINT A REVERSE READ IS INITIATED WHICH                T5X
*         IS PROVIDED BY AN EXIT TO *T5X45A* AND READING                 T5X
*         CONTINUES UNTIL LOADPOINT IS REACHED.                          T5X
*                                                                        T5X
*         T5X45 (READ FORWARD) SUPPORTS REPEAT CONDITION BY              T5X
*         REWINDING THE TAPE AND CONTINUING THE READ FORWARD.            T5X
*         T5X45A (READ REVERSE) DOES NOT SUPPORT REPEAT CONDITION        T5X
*         DUE TO THE INABILITY TO CORRECTLY POSITION TAPE.               T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. SELECT MARGINS.                                             T5X
*         2. RESERVE.                                                    T5X
*         3. REWIND.                                                     T5X
*         4. RELEASE, DELAY AND RESERVE.                                 T5X
*         5. READ FORWARD.                                               T5X
*         6. WAIT NOT BUSY IF SELECTED.                                  T5X
*         7. RELEASE IF DATA COMPARE SELECTED.                           T5X
*         8. GO TO STEP 17 IF *EOT*.                                     T5X
*         9. REPORT EC 207 IF *EOF* DETECTED WHEN NOT EXPECTED           T5X
*            AND REQUESTED TO DO SO BY THE USER.                         T5X
*        10. REPORT EC 203 IF *ALERT* STATUS.                            T5X
*        11. GO TO STEP 15 IF DATA COMPARE IS NOT SELECTED.              T5X
*        12. GENERATE EXPECTED DATA PATTERN IN OB.                       T5X
*        13. ADD ADDRESS CODING IF SELECTED.                             T5X
*        14. COMPARE IB TO OB.  REPORT EC 105 IF ERROR DETECTED.         T5X
*        15. REPEAT STEPS 4-14 FOR *RECORD MAX* RECORDS.                 T5X
*        16. REPEAT STEPS 4-15 FOR *FILE MAX* FILES.                     T5X
*        17. EXIT TO MODULE T5X45A TO PERFORM THE REVERSE READ IF NO     T5X
*            COMMAND ABORTS OCCURRED.  OTHERWISE, EXIT TO SKIP THE       T5X
*            REVERSE READ.                                               T5X
*                                                                        T5X
*        18. RELEASE, DELAY AND RESERVE.                                 T5X
*        19. READ REVERSE.                                               T5X
*        20. WAIT NOT BUSY IF SELECTED.                                  T5X
*        21. GO TO STEP 26 IF LOADPOINT STATUS.                          T5X
*        22. REPORT EC 207 IF *EOF* DETECTED WHEN NOT EXPECTED           T5X
*            AND REQUESTED TO DO SO BY THE USER.                         T5X
*        23. REPORT EC 202 IF *ALERT* STATUS.                            T5X
*        24. REPEAT STEPS 18-23 FOR *RECORD MAX* RECORDS.                T5X
*        25. REPEAT STEPS 18-24 UNTIL LOAD POINT IS DETECTED.            T5X
*        26. EXIT.                                                       T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS                                  T5X
*                                                                        T5X
*         2. T5X45 - ERROR CODE = *OCT AT LINE (EA) = *OCT               T5X
*         3. T5X45 - ABORT ON .REWIND. COMMAND -                         T5X
*         4. T5X45 - ABORT ON .READ FWD. COMMAND -                       T5X
*         5. T5X45 - ABORT ON .RES. COMMAND -                            T5X
*         6. T5X45 - ABORT ON .REL. COMMAND -                            T5X
*         7. T5X45 - ABORT ON .WAITNB. COMMAND -                         T5X
*         8. T5X45 - ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*         9. T5X45A- ERROR CODE = *OCT AT LINE (EA) = *OCT               T5X
*        10. T5X45A- ABORT ON .REWIND. COMMAND -                         T5X
*        11. T5X45A- ABORT ON .READ REV. COMMAND -                       T5X
*        12. T5X45A- ABORT ON .RES. COMMAND -                            T5X
*        13. T5X45A- ABORT ON .REL. COMMAND -                            T5X
*        14. T5X45A- ABORT ON .WAITNB. COMMAND -                         T5X
*        15. T5X45A- ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*        16. -EC 105- DATA COMPARE ERROR.  THE FIRST 400B WORDS (OR THE  T5X
*            WORD LENGTH IN PARAM -P2-), THAT WERE TRANSFERRED           T5X
*            DO NOT COMPARE ALTHOUGH NO SUBSYSTEM ERRORS WERE            T5X
*            REPORTED.                                                   T5X
*                                                                        T5X
*        17. -EC 202- A STATUS ERROR OCCURRED ON A READ REVERSE.         T5X
*                                                                        T5X
*        18. -EC 203- THE ALERT BIT IN GENERAL STATUS WAS SET DURING A   T5X
*            READ FORWARD OPERATION.                                     T5X
*                                                                        T5X
*        19. -EC 207- A FM/TM WAS DETECTED DURING A READ. YO             T5X
*            ARE TO NOTE THAT THIS ERROR IS DEPENDENT ON THE             T5X
*            CONFIRMED PRESENCE OF A FM/TM. NOTE THAT IF *P4* =          T5X
*            4XXX IS SET, THIS ERROR WILL BE REPORTED.                   T5X
*                                                                        T5X
*                                                                        T5X
*** T5X45 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B0 = CURRENT FILE COUNT                                        T5X
*         B1 = CURRENT RECORD COUNT                                      T5X
*         B2 = PATTERN FOR STORING                                       T5X
*         B3 = FM/TM FLAG                                                T5X
*         B4 = TRACK SIZE (6 OR 8)                                       T5X
*         B5 = NO OF DATA WORDS TO COMPARE/STORE                         T5X
*            = MSG NUMBER(SET BEFORE ENTRY) FOR MESSAGE PROCESSOR        T5X
*            = DELAY VALUE FOR RES/RES                                   T5X
*            = MARGINS                                                   T5X
*         B6 = LOOP COUNT                                                T5X
*         B7 = ABORT FLAG                                                T5X
*         BA = ERROR COUNT                                               T5X
*                                                                        T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
*                                                                        T5X
/         TAPE MUST BE *T5X43* GENERATED FOR DATA COMPARE                T5X
*                                                                        T5X
 1 FORMAT T5X45 - READ FORWARD -                                         T5X
 2 FORMAT T5X45 - ERROR CODE = *OCT AT LINE (EA) = *OCT                  T5X
 4 FORMAT T5X45 - ABORT ON .REWIND. COMMAND -                            T5X
 5 FORMAT T5X45 - ABORT ON .READ FWD. COMMAND -                          T5X
 6 FORMAT T5X45 - ABORT ON .RES. COMMAND -                               T5X
 7 FORMAT T5X45 - ABORT ON .REL. COMMAND -                               T5X
10 FORMAT T5X45 - ABORT ON .WAITNB. COMMAND -                            T5X
11 FORMAT T5X45 - ABORT ON .STATUS. COMMAND -                            T5X
12 FORMAT T5X45 ERROR(S) IN MODULE = *DEC                                T5X
14 FORMAT T5X45 - ERRS=*DEC LOOPS=*DEC                                   T5X
*                                                                        T5X
   EQUATE ALERT TO 2000, EOT TO 40, FILEMK TO 10                         T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY,PRINT    *RUNNING MESSAGE.                           T5X
   BA = 0                    *INITIALIZE ABORT COUNTER                   T5X
   WC = P2                   *SET WORD COUNT REGISTER                    T5X
   B5 = P3.RS.6.AND.7        *MARGIN BITS IN P3                          T5X
   MARGINS B5                *SELECT MARGINS                             T5X
21 B5 = 6                                                                T5X
   RES P1, ABT 74            *RESERVE                                    T5X
   B7 = 0                    *CLEAR ABORT FLAG                           T5X
   B5 = 4                                                                T5X
   REWIND,ABT 74             *REWIND                                     T5X
   B0=0                                                                  T5X
   B1=0                                                                  T5X
   B3 = 0                    *CLEAR FM/TM FLAG                           T5X
26 B1 = B1 +1                *INCREMENT RECORD COUNT                     T5X
   IF(P5+P6.LT.20D) GOTO 27  *BYPASS REL ON SHORT DELAY                  T5X
   B5 = 7                                                                T5X
   REL, ABT 74                                                           T5X
27 B5 = P6                                                               T5X
   IF(P5.EQ.0)GOTO 30        *USE FIXED DELAY FROM P6                    T5X
   B5 = RT.AND.P5            *REAL TIME CLOCK AND MASK                   T5X
30 DELAY B5 MSEC             *DELAY                                      T5X
   B5 = 6                                                                T5X
   RES P1, ABT 74            *RESERVE                                    T5X
*                                                                        T5X
*---------READ                                                           T5X
*                                                                        T5X
32 B5 = 5                                                                T5X
   READ FWD , ABT 74          *READ FORWARD                              T5X
   IF(P3.AND.20.NE.0)GOTO 33  *BYPASS WAIT *NOT BUSY*                    T5X
   B5 = 10                                                               T5X
   WAITNB, ABT 74                                                        T5X
33 IF(SB.AND.EOT.NE.0)GOTO 54      *EOT DETECTED                         T5X
   IF(SB.AND.FILEMK.EQ.0)GOTO 40   *NO FILEMARK DETECTED                 T5X
   IF(B3.EQ.1) GOTO 52                *EOF EXPECTED                      T5X
   IF(P4.AND.4000.NE.0) ERROR 2/207,GOSUB 70  *REPORT FM ERROR           T5X
   GOTO 52                                                               T5X
40 IF(SB.AND.ALERT.EQ.0) GOTO 41   *NO ALERT                             T5X
   B5 = 11                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/203, GOSUB 70              *ALERT                             T5X
* 
*---------COMPARE 
* 
41 IF(P3.AND.2.EQ.0)GOTO 52         *DO NOT COMPARE DATA                 T5X
   IF(B3.NE.0) GOTO 52       *DO NOT C0MPARE DATA ON FM/TM               T5X
   IF(P4.AND.3000.NE.2000)GOTO 42   *RANDOM PTRN NOT SELECTED            T5X
   RANDOM TO OB FOR 500 , START IB                                       T5X
   GOTO 45                                                               T5X
42 B4 = 10                                                               T5X
   B2 = P4                                                               T5X
   IF(DC.AND.10.NE.0) GOTO 43       *IF 9 TRACK TAPE                     T5X
   B4 = 6                                                                T5X
43 IF(P4.AND.3000.EQ.1000)B2=P4.XOR.7777    *ALT PATRN                   T5X000G
   DUP B4 BITS OF P4/B2 TO OB FOR 500                                    T5X000G
45 IF(P3.AND.1.NE.0) GOTO 46        *BYPASS ADDRESS CODING               T5X
   OB(1) = B0                                                            T5X
   OB(2) = B1                                                            T5X
   OB(3) = WC                                                            T5X
46 B5 = 400                                                              T5X
   IF(WT.GT.400) GOTO 47     *IF WT LARGER THAN BUFFER                   T5X
   B5 = WT - 1                                                           T5X
47 COMPARE IB TO OB FOR B5 , ABT 50                                      T5X
   GOTO 52                                                               T5X
50 ERROR 2/105 , GOSUB 70    *DATA COMPARE ERROR                         T5X
52 IF(B3.EQ.0)GOTO 53        *NOT AN FM/TM READ                          T5X
   B3 = 0                                                                T5X
   B1 = B1 - 1               *DECREMENT RECORD COUNT                     T5X
53 IF(P9.EQ.0)GOTO 26        *IF P9 ZERO GO TO EOT                       T5X
   IF(B1.LT.P9)GOTO 26       *MORE RECORDS TO BE READ                    T5X
   B1 = 0                    *ZERO RECORD COUNT                          T5X
   B3 = 1                    *FM/TM FLAG                                 T5X
   B0 = B0 + 1               *INCREMENT FILE COUNT                       T5X
   IF(P8.EQ.0)GOTO 26        *INFINITE FILE COUNT GO TIL EOT             T5X
   IF(B0.LT.P8)GOTO 26       *P8 FILES NOT PROCESSED                     T5X
   B1 = P9                   *SET RECORD COUNT FOR REV READ              T5X
   B0 = B0 - 1               *SET FILE COUNT FOR REV READ                T5X
54 B6 = B6 + 1                                                           T5X
   IF(ES.AND.SL.EQ.0) GOTO 55  *NOT SCOPING                              T5X
   MSG 14(BA,B6) TO DISPLAY                                              T5X
   GOTO 21                                                               T5X
55 IF(ES.AND.CM.NE.0) GOTO 21  *IF REPEAT COND. OR MODULE                T5X
   IF(B7.EQ.0) GOTO 56       *IF NO ABORTS (TAPE POSITIONED)             T5X
   MSG 12 (BA) TO DAYFILE    *REPORT ERRORS TO DAYFILE                   T5X
   EXIT                      *SKIP REVERSE READ                          T5X
56 EXIT TO 45A               *EXECUTE REVERSE READ MODULE                T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 71  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   RETURN                     *RETURN                                    T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 75  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   GOTO 21                    *RESTART                                   T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(BA.LT.2)GOTO 21         *NOT SECOND TRY                            T5X
   B7 = 1                    *SET ABORT FLAG                             T5X
   GOTO 55                    *ABNORMAL TERMINATION                      T5X
   END 20                                                                T5X
COMPILE    - T5X45  -                                                    T5X
   MODULE T5X45A,65X(40,41,50,51)LOCK  - READ FWD/REV(REV) -             T5X
 1 FORMAT T5X45A - READ REVERSE -                                        T5X
 2 FORMAT T5X45A - ERROR CODE = *OCT  AT LINE (EA) = *OCT                T5X
 4 FORMAT T5X45A - ABORT ON .READ REV. COMMAND -                         T5X
 5 FORMAT T5X45A - ABORT ON .RES. COMMAND -                              T5X
 6 FORMAT T5X45A - ABORT ON .REL. COMMAND -                              T5X
 7 FORMAT T5X45A - ABORT ON .REWIND. COMMAND -                           T5X
10 FORMAT T5X45A - ABORT ON .WAITNB. COMMAND -                           T5X
11 FORMAT T5X45A - ABORT ON .STATUS. COMMAND -                           T5X
14 FORMAT T5X45A - ERRS=*DEC LOOPS=*DEC                                  T5X
15 FORMAT T5X45 ERROR(S) IN MODULE = *DEC                                T5X
   EQUATE ALERT TO 2000, LOADPT TO 20, FILEMK TO 10                      T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY,PRINT    *POST RUNNING MESSAGE                       T5X
22 IF(P5+P6.LT.20D) GOTO 23  *BYPASS REL ON SHORT DELAY                  T5X
   B5 = 6                                                                T5X
   REL, ABT 74               *RELEASE                                    T5X
23 B5 = P6                   *DELAY PARAM TO B5                          T5X
   IF(P5.EQ.0) GOTO 24       *USE FIXED DELAY FROM P6                    T5X
   B5 = RT.AND.P5            *USE RT CLOCK AND MASK                      T5X
24 DELAY B5 MSEC                                                         T5X
   B5 = 5                                                                T5X
   RES P1, ABT 74            *RESERVE                                    T5X
*                                                                        T5X
*---------READ REVERSE                                                   T5X
*                                                                        T5X
   B5 = 4                                                                T5X
   READ REV , ABT 74                                                     T5X
   IF(P3.AND.20.NE.0)GOTO 40  *BYPASS WAIT *NOT BUSY*                    T5X
   B5 = 10                                                               T5X
   WAITNB, ABT 74                                                        T5X
40 IF(SB.AND.LOADPT.NE.0)GOTO 55   *LOAD POINT DETECTED                  T5X
   IF(SB.AND.FILEMK.EQ.0)GOTO 44   *NO FILE MARK DETECTED                T5X
   IF(B3.EQ.1)GOTO 50              *DO NOT EXPECT FM/TM                  T5X
   IF(P4.AND.4000.EQ.0)GOTO 50     *DO NOT REPORT FM/TM ERRS             T5X
   B5 = 11                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/207,GOSUB 70            *EOF NOT EXPECTED                     T5X
   GOTO 50                                                               T5X
44 B1 = B1 - 1                       *DECREMENT RECORD COUNT             T5X
   IF(SB.AND.ALERT.EQ.0) GOTO 50  *NO ALERT DETECTED                     T5X
   B5 = 11                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/202 , GOSUB 70                                                T5X
50 IF(B3.EQ.0)GOTO 51                *NOT A FM/TM READ                   T5X
   B3 = 0                                                                T5X
51 B6 = B6 + 1                       *LOOP COUNT                         T5X
   IF(B1.NE.0) GOTO 22               *MORE RECORDS IN FILE               T5X
   B3 = 1                            *FM/TM FLAG                         T5X
   B1 = P9                                                               T5X
   B0 = B0 - 1               *DECREMENT FILE COUNT                       T5X
   GOTO 22                   *CONTINUE THE REVERSE READ                  T5X
55 IF(BA.EQ.0)GOTO 57         *NO ERRORS                                 T5X
56 MSG 15 (BA) TO DAYFILE     *REPORT ERRORS                             T5X
57 EXIT                       *NORMAL TERMINATION                        T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 71  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   RETURN                     *RETURN                                    T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 75  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   GOTO 22                    *RESTART                                   T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(BA.LT.2)GOTO 22         *NOT SECOND TRY                            T5X
   GOTO 56                    *ABNORMAL TERMINATION                      T5X
   END 20                                                                T5X
COMPILE    - T5X45A -                                                    T5X
   MODULE T5X50,65X(40,41,50,51)LOCK   - BACKSPACE -                     T5X
*** T5X50 - BACKSPACE                                                    T5X
*                                                                        T5X
**  T5X50 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         T5X50 WRITES 3 RECORDS AT THE LENGTH SPECIFIED                 T5X
*         IN *P2* TIMES 8.                                               T5X
*         UNIQUE DATA IS WRITTEN- RECORD 1 = 1111,RECORD                 T5X
*         2 = 2222, RECORD 3 = 3333.                                     T5X
*                                                                        T5X
*         IF AN ERROR OCCURS THE PROCESS IS REPEATED                     T5X
*         UNTIL AN ERROR FREE WRITE OCCURS. A BACKSPACE                  T5X
*         AND A REVERSE READ IS THEN PERFORMED. A CHECK                  T5X
*         FOR PROPER WORD COUNT AND RECORD 2 CONTENT(2222)               T5X
*         IS MADE.                                                       T5X
*                                                                        T5X
*         NOTE - THIS MODULE IGNORES 3N+2 AND CONVERSION                 T5X
*                MODE SELECTIONS IN P3.                                  T5X
*                                                                        T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. SELECT MARGINS.                                             T5X
*         2. RESERVE.                                                    T5X
*         3. REWIND.                                                     T5X
*         4. SET *FILE MAX* TO 25D IF MAINTENANCE MODE.                  T5X
*         5. RELEASE, DELAY AND RESERVE.                                 T5X
*         6. WAITNB.                                                     T5X
*         7. SET RECORD PATTERN TO 1111.                                 T5X
*         8. FILL OB WITH RECORD PATTERN.                                T5X
*         9. BUMP RECORD COUNTER.                                        T5X
*        10. RELEASE, DELAY AND RESERVE.                                 T5X
*        11. WRITE LONG.                                                 T5X
*        12. WAIT NOT BUSY IF SELECTED.                                  T5X
*        13. IF *EOT*, GOTO STEP 28.                                     T5X
*        14. REPORT EC 200 IF STATUS ERROR.                              T5X
*        15. BUMP RECORD PATTERN BY 1111.                                T5X
*        16. REPEAT STEPS 8-15 UNTIL PATTERNS IS 4444. (3333 IS          T5X
*            LAST PATTERN WRITTEN.                                       T5X
*        17. WAIT NOT BUSY.                                              T5X
*        18. RELEASE, DELAY AND RESERVE.                                 T5X
*        19. BKSP.                                                       T5X
*        20. WAIT NOT BUSY IF REQUESTED.                                 T5X
*        21. REPORT EC 253 IF STATUS ERROR.                              T5X
*        22. RELEASE, DELAY AND RESERVE.                                 T5X
*        23. READ REVERSE.                                               T5X
*        24. REPORT EC 254 IF STATUS ERROR.                              T5X
*        25. REPORT EC 255 IF WT ERROR.                                  T5X
*        26. REPORT EC 256 IF RECORD COUNT ERROR (FIRST WORD OF          T5X
*            IB NOT EQUAL TO RECORD NUMBER).                             T5X
*        27. REPEAT STEPS 5-26 FOR *FILE MAX* TIMES.                     T5X
*        28. GO TO STEP 2 IF REPEAT MODULE.                              T5X
*        29. RELEASE.                                                    T5X
*        30. EXIT.                                                       T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS                                  T5X
*                                                                        T5X
*         2. T5X50 - ERROR CODE = *OCT  AT LINE (EA) = *OCT              T5X
*         3. T5X50 - ABORT ON .BKSP. COMMAND -                           T5X
*         4. T5X50 - ABORT ON .READ REV. COMMAND -                       T5X
*         5. T5X50 - ABORT ON .WRITE. COMMAND -                          T5X
*         6. T5X50 - ABORT ON .RES. COMMAND -                            T5X
*         7. T5X50 - ABORT ON .REL. COMMAND -                            T5X
*         8. T5X50 - ABORT ON .REWIND. COMMAND -                         T5X
*         9. T5X50 - ABORT ON .WAITNB. COMMAND -                         T5X
*        10. T5X50 - ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*        11. -EC 200- AN UNEXPECTED STATUS BIT APPEARED IN A GENERAL     T5X
*            STATUS DURING A WRITE OPERATION.                            T5X
*            NOTE THAT GENERAL STATUS WAS MASKED WITH LOGICAL            T5X
*            PRODUCT 6410B.                                              T5X
*                                                                        T5X
*        12. -EC 253- A STATUS ERROR OCCURRED ON A BACKSPACE OPERATION.  T5X
*                                                                        T5X
*        13. -EC 254- THE ALERT BIT WAS SET IN GENERAL STATUS FOLLOWING  T5X
*            THE FIRST READ REVERSE OPERATION AFTER A BACKSPACE          T5X
*            OPERATION.                                                  T5X
*                                                                        T5X
*        14. -EC 255- AN INCORRECT RECORD LENGTH WAS DETECTED ON A       T5X
*            REVERSE READ FOLLOWING A BACKSPACE OPERATION.               T5X
*                                                                        T5X
*        15. -EC 256- AN INCORRECT RECORD HAS BEEN DETECTED ON A         T5X
*            REVERSE READ FOLLOWING A BACKSPACE OPERATION.               T5X
*            (IB) WILL CONTAIN THE ACTUAL RECORD DETECTED.               T5X
*                                                                        T5X
*                                                                        T5X
*** T5X50 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B0 = CURRENT FILE COUNT                                        T5X
*         B1 = CURRENT RECORD COUNT                                      T5X
*         B2 = CURRENT RECORD CONTENTS                                   T5X
*         B3 = FILE MAX                                                  T5X
*         B4 = RESERVE OPTIONS                                           T5X
*         B5 = MARGINS                                                   T5X
*            = MSG NUMBER(SET BEFORE ENTRY) FOR MESSAGE PROCESSOR        T5X
*            = DELAY VALUE FOR REL/RES                                   T5X
*         B6 = LOOP COUNT                                                T5X
*         BA = ERROR COUNT                                               T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
*                                                                        T5X
 1 FORMAT T5X50 - BACKSPACE -                                            T5X
 2 FORMAT T5X50 - ERROR CODE = *OCT  AT LINE (EA) = *OCT                 T5X
 4 FORMAT T5X50 - ABORT ON .BKSP. COMMAND -                              T5X
 5 FORMAT T5X50 - ABORT ON .READ REV. COMMAND -                          T5X
 6 FORMAT T5X50 - ABORT ON .WRITE. COMMAND -                             T5X
 7 FORMAT T5X50 - ABORT ON .RES. COMMAND -                               T5X
10 FORMAT T5X50 - ABORT ON .REL. COMMAND -                               T5X
11 FORMAT T5X50 - ABORT ON .REWIND. COMMAND -                            T5X
12 FORMAT T5X50 - ABORT ON .WAITNB. COMMAND -                            T5X
13 FORMAT T5X50 - ABORT ON .STATUS. COMMAND -                            T5X
14 FORMAT T5X50 - ERRS=*DEC LOOPS=*DEC                                   T5X
15 FORMAT T5X50 ERROR(S) IN MODULE = *DEC                                T5X
*                                                                        T5X
*                                                                        T5X
   EQUATE ALERT TO 2000, EOT TO 40, ERROR TO 6410                        T5X
*                                                                        T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY,PRINT     *RUNNING MESSAGE                           T5X
   B5 = P3.RS.6.AND.7         *MARGIN BITS TO B5                         T5X
   MARGINS B5                 *SELECT MARGINS PER PARAM P3               T5X
21 B5 =7                                                                 T5X
   RES P1, ABT 74             *RESERVE                                   T5X
   B5 = 11                                                               T5X
   REWIND,ABT 74                                                         T5X
   B0=0                                                                  T5X
   WC = P2                    *REC LENGTH TO WC REG                      T5X
22 B3 = 25D                   *FILE MAX DIAG MODE                        T5X
   IF(P3.AND.40.EQ.0)GOTO 24  *DIAGNOSTIC MODE SELECTED                  T5X
   B3 = P8                    *FILE MAX MAINT MODE                       T5X
24 B0 = B0 + 1                *INCREMENT FILE COUNT                      T5X
   GOSUB 60                   *RELEASE-DELAY-RESERVE                     T5X
   B5 = 12                                                               T5X
   WAITNB, ABT 74                                                        T5X
   B2 = 1111                  *SET RECORD CONTENTS                       T5X
   B1 = 0                     *CLEAR RECORD COUNT                        T5X
*                                                                        T5X
*---------WRITE 3 RECORDS WITH UNIQUE DATA                               T5X
*                                                                        T5X
30 DUP B2 TO OB FOR 500       *STORE DATA PATTERN                        T5X
   B1 = B1 + 1                *BUMP RECORD COUNT                         T5X
   GOSUB 60                   *RELEASE-DELAY-RESERVE                     T5X
   B5 = 6                                                                T5X
   WRITE LONG, ABT 74                                                    T5X
   IF(P3.AND.20.NE.0)GOTO 35  *BYPASS WAIT *NOT BUSY*                    T5X
   B5 = 12                                                               T5X
   WAITNB, ABT 74                                                        T5X
35 IF(SB.AND.EOT.NE.0)GOTO 54      *EOT DETECTED                         T5X
   IF(SB.AND.ERROR.EQ.0)GOTO 36                                          T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/200,GOSUB 70                                                  T5X
   GOTO 24                            *WRITE ERROR FREE                  T5X
36 GOTO 30 WHILE(B2 + 1111.NE.4444)   *WRITE 3 RECORDS                   T5X
   B5 =12                                                                T5X
   WAITNB, ABT 74                                                        T5X
   GOSUB 60                   *RELEASE-DELAY-RESERVE                     T5X
*                                                                        T5X
*---------BACKSPACE                                                      T5X
*                                                                        T5X
   B5 = 4                                                                T5X
   BKSP , ABT 74                                                         T5X
   B1 = B1 - 1                *DECREMENT RECORD COUNT                    T5X
   IF(P3.AND.20.NE.0)GOTO 37  *BYPASS WAIT *NOT BUSY*                    T5X
   B5 = 12                                                               T5X
   WAITNB, ABT 74                                                        T5X
37 IF(SB.AND.ALERT.EQ.0) GOTO 40   *IF NO ALERT                          T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/253, GOSUB 70                                                 T5X
40 GOSUB 60                   *RELEASE-DELAY-RESERVE                     T5X
*                                                                        T5X
*---------READ REVERSE                                                   T5X
*                                                                        T5X
   B5 = 5                                                                T5X
   READ REV , ABT 74                                                     T5X
   B1 = B1 - 1                *DECREMENT RECORD COUNT                    T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   IF(SB.AND.ERROR.EQ.0)GOTO 41                                          T5X
   ERROR 2/254,GOSUB 70                                                  T5X
   GOTO 45                    *GENERAL STATUS ERROR                      T5X
41 IF(WC.RS.9D.NE.SB(7)) GOTO 42                                         T5X
   B5 = WC.LS.3.AND.7770                                                 T5X
   IF(WT.EQ.B5) GOTO 43       *NO WORD TRANSMITTED ERROR                 T5X
42 ERROR 2/255,GOSUB 70                                                  T5X
   GOTO 45                                                               T5X
43 IF(IB(0).NE.2222)ERROR 2/256 , GOSUB 70                               T5X
45 IF(B3.EQ.0)GOTO 24         *LOOP IF FILE MAX ZERO                     T5X
   IF(B0.LT.B3)GOTO 24        *LOOP FILE MAX TIMES                       T5X
54 B6 = B6 + 1                *LOOP COUNT                                T5X
   IF(ES.AND.SL.EQ.0) GOTO 55         *IF NOT SCOPING                    T5X
   MSG 14 (BA,B6) TO DISPLAY          *POST SCOPING MSG                  T5X
   GOTO 21                            *RESTART                           T5X
55 IF(ES.AND.CM.NE.0)GOTO 21  *IF REPEAT MODULE/CONDITION                T5X
   IF(BA.EQ.0)GOTO 57         *NO ERRORS                                 T5X
56 MSG 15 (BA) TO DAYFILE     *REPORT ERRORS                             T5X
57 EXIT                       *NORMAL TERMINATION                        T5X
*                                                                        T5X
*---------RELEASE-DELAY-RESERVE SUBROUTINE                               T5X
*                                                                        T5X
60 IF(P5+P6.LT.20D) GOTO 61   *BYPASS REL ON SHORT DELAY                 T5X
   B5 = 10                                                               T5X
   REL, ABT 74                *RELEASE                                   T5X
61 B5 = P6                    *DELAY PARAM TO B5                         T5X
   IF(P5.EQ.0) GOTO 62        *USE FIXED DELAY FROM P6                   T5X
   B5 = RT.AND.P5             *USE RT CLOCK AND MASK                     T5X
62 DELAY B5 MSEC                                                         T5X
   B5 = 7                                                                T5X
   B4 = P1.AND.7007                                                      T5X
   RES B4, ABT 74                                                        T5X
   RETURN                                                                T5X
*                                                                        T5X
*-------- PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 71  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   RETURN                     *RETURN                                    T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*         PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 75  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   GOTO 21                    *RESTART                                   T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(BA.LT.2)GOTO 21         *NOT SECOND TRY                            T5X
   GOTO 55                    *ABNORMAL TERMINATION                      T5X
   END 20                                                                T5X
COMPILE    - T5X50 -                                                     T5X
   MODULE T5X51,65X(40,41,50,51)LOCK   - BACKSPACE INCR. -               T5X
*** T5X51 - BACKSPACE INCR. LENGTH                                       T5X
*                                                                        T5X
**  T5X51 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         INITIALIZE THE RECORD LENGTH BY SETTING WC TO 1.               T5X
*         WRITE 3 RECORDS AT THE LENGTH SPECIFIED BY WC TIMES 8.         T5X
*         UNIQUE DATA IS WRITTEN- RECORD 1 = 1111,RECORD                 T5X
*         2 = 2222, RECORD 3 = 3333.                                     T5X
*                                                                        T5X
*         IF AN ERROR OCCURS THE PROCESS IS REPEATED                     T5X
*         UNTIL AN ERROR FREE WRITE OCCURS. A BACKSPACE                  T5X
*         AND A REVERSE READ IS THEN PERFORMED. A CHECK                  T5X
*         FOR PROPER WORD COUNT AND RECORD 2 CONTENT(2222)               T5X
*         IS MADE.                                                       T5X
*                                                                        T5X
*         THE CONTENTS OF THE WC REGISTER IS BUMPED BY 1 AND             T5X
*         THE PROCESS REPEATED.                                          T5X
*                                                                        T5X
*         NOTE - THIS MODULE IGNORES 3N+2 AND CONVERSION                 T5X
*                MODE SELECTIONS IN P3.                                  T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. SELECT MARGINS.                                             T5X
*         2. RESERVE.                                                    T5X
*         3. REWIND.                                                     T5X
*         4. SET WC TO 0.                                                T5X
*         5. SET *FILE MAX* TO 25D IF NOT MAINTENANCE MODE.              T5X
*         6. RELEASE, DELAY AND RESERVE.                                 T5X
*         7. WAITNB.                                                     T5X
*         8. SET RECORD PATTERN TO 1111.                                 T5X
*         9. SET WC TO WC+1.  SET IT TO 1 IF OVERFLOW (0000)             T5X
*        10. FILL OB WITH RECORD PATTERN.                                T5X
*        11. BUMP RECORD COUNTER.                                        T5X
*        12. RELEASE, DELAY AND RESERVE.                                 T5X
*        13. WRITE LONG.                                                 T5X
*        14. WAIT NOT BUSY IF SELECTED.                                  T5X
*        15. IF *EOT*, GOTO STEP 30.                                     T5X
*        16. REPORT EC 200 IF STATUS ERROR.                              T5X
*        17. BUMP RECORD PATTERN BY 1111.                                T5X
*        18. REPEAT STEPS 10-17 UNTIL PATTERNS IS 4444. (3333 IS         T5X
*            LAST PATTERN WRITTEN.                                       T5X
*        19. WAIT NOT BUSY.                                              T5X
*        20. RELEASE, DELAY AND RESERVE.                                 T5X
*        21. BKSP.                                                       T5X
*        22. WAIT NOT BUSY IF REQUESTED.                                 T5X
*        23. REPORT EC 253 IF STATUS ERROR.                              T5X
*        24. RELEASE, DELAY AND RESERVE.                                 T5X
*        25. READ REVERSE.                                               T5X
*        26. REPORT EC 254 IF STATUS ERROR.                              T5X
*        27. REPORT EC 255 IF WT ERROR.                                  T5X
*        28. REPORT EC 256 IF RECORD COUNT ERROR (FIRST WORD OF          T5X
*            IB NOT EQUAL TO RECORD NUMBER).                             T5X
*        29. REPEAT STEPS 6-28 FOR *FILE MAX* TIMES.                     T5X
*        30. GO TO STEP 2 IF REPEAT MODULE.                              T5X
*        31. EXIT.                                                       T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS                                  T5X
*                                                                        T5X
*         2. T5X51 - ERROR CODE = *OCT  AT LINE (EA) = *OCT              T5X
*         3. T5X51 - ABORT ON .BKSP. COMMAND -                           T5X
*         4. T5X51 - ABORT ON .READ REV. COMMAND -                       T5X
*         5. T5X51 - ABORT ON .WRITE. COMMAND -                          T5X
*         6. T5X51 - ABORT ON .RES. COMMAND -                            T5X
*         7. T5X51 - ABORT ON .REL. COMMAND -                            T5X
*         8. T5X51 - ABORT ON .REWIND. COMMAND -                         T5X
*         9. T5X51 - ABORT ON .WAITNB. COMMAND -                         T5X
*        10. T5X51 - ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*        11. -EC 200- AN UNEXPECTED STATUS BIT APPEARED IN A GENERAL     T5X
*            STATUS DURING A WRITE OPERATION.                            T5X
*            NOTE THAT GENERAL STATUS WAS MASKED WITH LOGICAL            T5X
*            PRODUCT 6410B.                                              T5X
*                                                                        T5X
*        12. -EC 253- A STATUS ERROR OCCURRED ON A BACKSPACE OPERATION.  T5X
*                                                                        T5X
*        13. -EC 254- THE ALERT BIT WAS SET IN GENERAL STATUS FOLLOWING  T5X
*            THE FIRST READ REVERSE OPERATION AFTER A BACKSPACE          T5X
*            OPERATION.                                                  T5X
*                                                                        T5X
*        14. -EC 255- AN INCORRECT RECORD LENGTH WAS DETECTED ON A       T5X
*            REVERSE READ FOLLOWING A BACKSPACE OPERATION.               T5X
*                                                                        T5X
*        15. -EC 256- AN INCORRECT RECORD HAS BEEN DETECTED ON A         T5X
*            REVERSE READ FOLLOWING A BACKSPACE OPERATION.               T5X
*            (IB) WILL CONTAIN THE ACTUAL RECORD DETECTED.               T5X
*                                                                        T5X
*                                                                        T5X
*** T5X51 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*                                                                        T5X
*   REGISTER USAGE                                                       T5X
*                                                                        T5X
*         B0 = CURRENT FILE COUNT                                        T5X
*         B1 = CURRENT RECORD COUNT                                      T5X
*         B2 = CURRENT RECORD CONTENTS                                   T5X
*         B3 = FILE MAX                                                  T5X
*         B4 = RESERVE OPTIONS                                           T5X
*         B5 = MARGINS                                                   T5X
*            = MSG NUMBER(SET BEFORE ENTRY) FOR MESSAGE PROCESSOR        T5X
*            = DELAY VALUE FOR REL/RES                                   T5X
*         B6 = LOOP COUNT                                                T5X
*         BA = ERROR COUNT                                               T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
*                                                                        T5X
 1 FORMAT T5X51 - BACKSPACE INCR. LENGTH -                               T5X
 2 FORMAT T5X51 - ERROR CODE = *OCT  AT LINE (EA) = *OCT                 T5X
 4 FORMAT T5X51 - ABORT ON .BKSP. COMMAND -                              T5X
 5 FORMAT T5X51 - ABORT ON .READ REV. COMMAND -                          T5X
 6 FORMAT T5X51 - ABORT ON .WRITE. COMMAND -                             T5X
 7 FORMAT T5X51 - ABORT ON .RES. COMMAND -                               T5X
10 FORMAT T5X51 - ABORT ON .REL. COMMAND -                               T5X
11 FORMAT T5X51 - ABORT ON .REWIND. COMMAND -                            T5X
12 FORMAT T5X51 - ABORT ON .WAITNB. COMMAND -                            T5X
13 FORMAT T5X51 - ABORT ON .STATUS. COMMAND -                            T5X
14 FORMAT T5X51 - ERRS=*DEC LOOPS=*DEC                                   T5X
15 FORMAT T5X51 ERROR(S) IN MODULE = *DEC                                T5X
*                                                                        T5X
*                                                                        T5X
   EQUATE ALERT TO 2000, EOT TO 40, ERROR TO 6410                        T5X
*                                                                        T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY,PRINT     *RUNNING MESSAGE                           T5X
   B5 = P3.RS.6.AND.7         *MARGIN BITS TO B5                         T5X
   MARGINS B5                 *SELECT MARGINS PER PARAM P3               T5X
21 B5 =7                                                                 T5X
   RES P1, ABT 74             *RESERVE                                   T5X
   B5 = 11                                                               T5X
   REWIND,ABT 74                                                         T5X
   B0=0                                                                  T5X
   WC = 0                     *REC LENGTH TO WC REG                      T5X
22 B3 = 25D                   *FILE MAX DIAG MODE                        T5X
   IF(P3.AND.40.EQ.0)GOTO 24  *DIAGNOSTIC MODE SELECTED                  T5X
   B3 = P8                    *FILE MAX MAINT MODE                       T5X
24 B0 = B0 + 1                *INCREMENT FILE COUNT                      T5X
   GOSUB 60                   *RELEASE-DELAY-RESERVE                     T5X
   B5 = 12                                                               T5X
   WAITNB, ABT 74                                                        T5X
   B2 = 1111                  *SET RECORD CONTENTS                       T5X
   B1 = 0                     *CLEAR RECORD COUNT                        T5X
   WC = WC + 1                *BUMP RECORD LENGTH                        T5X
   IF(WC.NE.0) GOTO 30        *IF NOT OVERFLOW                           T5X
   WC = 1                                                                T5X
*                                                                        T5X
*---------WRITE 3 RECORDS WITH UNIQUE DATA                               T5X
*                                                                        T5X
30 DUP B2 TO OB FOR 500       *STORE DATA PATTERN                        T5X
   B1 = B1 + 1                *BUMP RECORD COUNT                         T5X
   GOSUB 60                   *RELEASE-DELAY-RESERVE                     T5X
   B5 = 6                                                                T5X
   WRITE LONG, ABT 74                                                    T5X
   IF(P3.AND.20.NE.0)GOTO 35  *BYPASS WAIT *NOT BUSY*                    T5X
   B5 = 12                                                               T5X
   WAITNB, ABT 74                                                        T5X
35 IF(SB.AND.EOT.NE.0)GOTO 54      *EOT DETECTED                         T5X
   IF(SB.AND.ERROR.EQ.0)GOTO 36                                          T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/200,GOSUB 70                                                  T5X
   GOTO 24                            *WRITE ERROR FREE                  T5X
36 GOTO 30 WHILE(B2 + 1111.NE.4444)   *WRITE 3 RECORDS                   T5X
   B5 =12                                                                T5X
   WAITNB, ABT 74                                                        T5X
   GOSUB 60                   *RELEASE-DELAY-RESERVE                     T5X
*                                                                        T5X
*---------BACKSPACE                                                      T5X
*                                                                        T5X
   B5 = 4                                                                T5X
   BKSP , ABT 74                                                         T5X
   B1 = B1 - 1                *DECREMENT RECORD COUNT                    T5X
   IF(P3.AND.20.NE.0)GOTO 37  *BYPASS WAIT *NOT BUSY*                    T5X
   B5 = 12                                                               T5X
   WAITNB, ABT 74                                                        T5X
37 IF(SB.AND.ALERT.EQ.0) GOTO 40   *IF NO ALERT                          T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/253, GOSUB 70                                                 T5X
40 GOSUB 60                   *RELEASE-DELAY-RESERVE                     T5X
*                                                                        T5X
*---------READ REVERSE                                                   T5X
*                                                                        T5X
   B5 = 5                                                                T5X
   READ REV , ABT 74                                                     T5X
   B1 = B1 - 1                *DECREMENT RECORD COUNT                    T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   IF(SB.AND.ERROR.EQ.0)GOTO 41                                          T5X
   ERROR 2/254,GOSUB 70                                                  T5X
   GOTO 45                    *GENERAL STATUS ERROR                      T5X
41 IF(WC.RS.9D.NE.SB(7)) GOTO 42                                         T5X
   B5 = WC.LS.3.AND.7770                                                 T5X
   IF(WT.EQ.B5) GOTO 43       *NO WORD TRANSMITTED ERROR                 T5X
42 ERROR 2/255,GOSUB 70                                                  T5X
   GOTO 45                                                               T5X
43 IF(IB(0).NE.2222)ERROR 2/256 , GOSUB 70                               T5X
45 IF(B3.EQ.0)GOTO 24         *LOOP IF FILE MAX ZERO                     T5X
   IF(B0.LT.B3)GOTO 24        *LOOP FILE MAX TIMES                       T5X
54 B6 = B6 + 1                *LOOP COUNT                                T5X
   IF(ES.AND.SL.EQ.0) GOTO 55         *IF NOT SCOPING                    T5X
   MSG 14 (BA,B6) TO DISPLAY          *POST SCOPING MSG                  T5X
   GOTO 21                            *RESTART                           T5X
55 IF(ES.AND.CM.NE.0)GOTO 21  *IF REPEAT MODULE/CONDITION                T5X
   IF(BA.EQ.0)GOTO 57         *NO ERRORS                                 T5X
56 MSG 15 (BA) TO DAYFILE     *REPORT ERRORS                             T5X
57 EXIT                       *NORMAL TERMINATION                        T5X
*                                                                        T5X
*---------RELEASE-DELAY-RESERVE SUBROUTINE                               T5X
*                                                                        T5X
60 IF(P5+P6.LT.20D) GOTO 61   *BYPASS REL ON SHORT DELAY                 T5X
   B5 = 10                                                               T5X
   REL, ABT 74                *RELEASE                                   T5X
61 B5 = P6                    *DELAY PARAM TO B5                         T5X
   IF(P5.EQ.0) GOTO 62        *USE FIXED DELAY FROM P6                   T5X
   B5 = RT.AND.P5             *USE RT CLOCK AND MASK                     T5X
62 DELAY B5 MSEC                                                         T5X
   B5 = 7                                                                T5X
   B4 = P1.AND.7007                                                      T5X
   RES B4, ABT 74                                                        T5X
   RETURN                                                                T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 71  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   RETURN                     *RETURN                                    T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 75  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   GOTO 21                    *RESTART                                   T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(BA.LT.2)GOTO 21         *NOT SECOND TRY                            T5X
   GOTO 55                    *ABNORMAL TERMINATION                      T5X
   END 20                                                                T5X
COMPILE    - T5X51 -                                                     T5X
   MODULE T5X52,65X(40,41,50,51)LOCK   - CONTROL BKSP -                  T5X
*** T5X52 - CONTROL BACKSPACE                                            T5X
*                                                                        T5X
**  T5X52 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         THIS MODULE USES THE FUNCTION *CONTROLLED                      T5X
*         BACKSPACE* DURING REPOSITIONING.                               T5X
*         THE RECORD LENGTH *P2* IS USED TO DETERMINE                    T5X
*         THE DISTANCE OF THE MOVE. MOTION IS IN THE                     T5X
*         REVERSE DIRECTION UNTIL AN ERASED AREA (GAP)                   T5X
*         IS DETECTED.                                                   T5X
*                                                                        T5X
*         THREE RECORDS OF UNIQUE DATA ARE WRITTEN                       T5X
*         (1111,2222,3333) ERROR FREE.  IF AN ERROR OCCURS ON EITHER     T5X
*         RECORD, THE COMPLETE SEQUENCE IS REPEATED UNTIL ALL THREE      T5X
*         RECORDS ARE WRITTEN ERROR FREE.  THEN THE CONTROL BACKSPACE    T5X
*         FUNCTION IS ISSUED.                                            T5X
*         FOLLOWING THIS A REVERSE READ IS ISSUED. WORD                  T5X
*         COUNT IS THEN COMPARED WITH THE WORDS TRANSMITTED.             T5X
*         NEXT THE RECORD CONTENTS ARE CHECKED TO DETERMINE              T5X
*         IF THEY ARE EQUAL TO 2222.                                     T5X
*                                                                        T5X
*         THIS PROCESS CONTINUES UNTIL FILE MAX OR EOT.                  T5X
*                                                                        T5X
*         NOTE - THIS MODULE IGNORES 3N+2 AND CONVERSION                 T5X
*                MODE SELECTIONS IN P3.                                  T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. SELECT MARGINS.                                             T5X
*         2. RESERVE.                                                    T5X
*         3. REWIND.                                                     T5X
*         4. SET *FILE MAX* TO 25D IF NOT MAINTENANCE MODE.              T5X
*         5. RELEASE, DELAY AND RESERVE.                                 T5X
*         6. WAITNB.                                                     T5X
*         7. SET RECORD PATTERN TO 1111.                                 T5X
*         8. FILL OB WITH RECORD PATTERN.                                T5X
*         9. BUMP RECORD COUNTER.                                        T5X
*        10. RELEASE, DELAY AND RESERVE.                                 T5X
*        11. WRITE LONG.                                                 T5X
*        12. WAIT NOT BUSY IF SELECTED.                                  T5X
*        13. IF *EOT*, GOTO STEP 28.                                     T5X
*        14. REPORT EC 200 IF STATUS ERROR.                              T5X
*        15. BUMP RECORD PATTERN BY 1111.                                T5X
*        16. REPEAT STEPS 8-15 UNTIL PATTERNS IS 4444. (3333 IS          T5X
*            LAST PATTERN WRITTEN.                                       T5X
*        17. WAIT NOT BUSY.                                              T5X
*        18. RELEASE, DELAY AND RESERVE.                                 T5X
*        19. CONTROLLED BKSP.                                            T5X
*        20. REPORT EC 217 IF STATUS ERROR.                              T5X
*        21. WAITNB.                                                     T5X
*        22. RELEASE, DELAY AND RESERVE.                                 T5X
*        23. READ REVERSE.                                               T5X
*        24. REPORT EC 220 IF STATUS ERROR.                              T5X
*        25. REPORT EC 222 IF WT ERROR.                                  T5X
*        26. REPORT EC 221 IF RECORD COUNT ERROR (FIRST WORD OF          T5X
*            IB NOT EQUAL TO RECORD NUMBER).                             T5X
*        27. REPEAT STEPS 5-26 FOR *FILE MAX* TIMES.                     T5X
*        28. GO TO STEP 2 IF REPEAT MODULE.                              T5X
*        29. EXIT.                                                       T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS.                                 T5X
*                                                                        T5X
*         2. T5X52 - ERROR CODE = *OCT  AT LINE (EA) = *OCT              T5X
*         3. T5X52 - ABORT ON .BKSP. COMMAND -                           T5X
*         4. T5X52 - ABORT ON .READ REV. COMMAND -                       T5X
*         5. T5X52 - ABORT ON .WRITE. COMMAND -                          T5X
*         6. T5X52 - ABORT ON .RES. COMMAND -                            T5X
*         7. T5X52 - ABORT ON .REL. COMMAND -                            T5X
*         8. T5X52 - ABORT ON .REWIND. COMMAND -                         T5X
*         9. T5X52 - ABORT ON .WAITNB. COMMAND -                         T5X
*        10. T5X52 - ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*        11. -EC 200- AN UNEXPECTED STATUS BIT APPEARED IN GENERAL       T5X
*            STATUS DURING A WRITE OPERATION.                            T5X
*            NOTE THAT GENERAL STATUS WAS MASKED WITH LOGICAL            T5X
*            PRODUCT 6410B.                                              T5X
*                                                                        T5X
*        12. -EC 217- ALERT WAS SET FOLLOWING A CONTROLLED               T5X
*            BACKSPACE OPERATION.                                        T5X
*                                                                        T5X
*        13. -EC 220- A STATUS ERROR OCCURRED ON THE READ BACKWARDS      T5X
*            FOLLOWING A CONTROLLED BACKSPACE OPERATION.                 T5X
*                                                                        T5X
*        14. -EC 221- AN INCORRECT RECORD HAS BEEN DETECTED FOLLOWING A  T5X
*            CONTROLLED BACKSPACE. (IB) WILL CONTAIN THE                 T5X
*            ACTUAL RECORD DETECTED.                                     T5X
*                                                                        T5X
*        15. -EC 222- IMPROPER RECORD LENGTH WAS DETECTED ON A CONTROLLE T5X
*            BACKSPACE. REGISTER WT IS THE ACTUAL LENGTH READ FROM TAPE. T5X
*                                                                        T5X
*                                                                        T5X
*** T5X52 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B0 = CURRENT FILE COUNT                                        T5X
*         B1 = CURRENT RECORD COUNT                                      T5X
*         B2 = CURRENT RECORD CONTENTS                                   T5X
*         B3 = FILE MAX                                                  T5X
*         B4 = RESERVE OPTIONS                                           T5X
*         B5 = MARGINS                                                   T5X
*            = MSG NUMBER(SET BEFORE ENTRY) FOR MESSAGE PROCESSOR        T5X
*            = DELAY VALUE FOR REL/RES                                   T5X
*         B6 = LOOP COUNT                                                T5X
*         BA = ERROR COUNT                                               T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
*                                                                        T5X
 1 FORMAT T5X52 - CONTROL BACKSPACE -                                    T5X
 2 FORMAT T5X52 - ERROR CODE = *OCT  AT LINE (EA) = *OCT                 T5X
 4 FORMAT T5X52 - ABORT ON .BKSP. COMMAND -                              T5X
 5 FORMAT T5X52 - ABORT ON .READ REV. COMMAND -                          T5X
 6 FORMAT T5X52 - ABORT ON .WRITE. COMMAND -                             T5X
 7 FORMAT T5X52 - ABORT ON .RES. COMMAND -                               T5X
10 FORMAT T5X52 - ABORT ON .REL. COMMAND -                               T5X
11 FORMAT T5X52 - ABORT ON .REWIND. COMMAND -                            T5X
12 FORMAT T5X52 - ABORT ON .WAITNB. COMMAND -                            T5X
13 FORMAT T5X52 - ABORT ON .STATUS. COMMAND -                            T5X
14 FORMAT T5X52 - ERRS=*DEC LOOPS=*DEC                                   T5X
15 FORMAT T5X52 ERROR(S) IN MODULE = *DEC                                T5X
*                                                                        T5X
*                                                                        T5X
   EQUATE ALERT TO 2000, EOT TO 40, ERROR TO 6410                        T5X
*                                                                        T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY,PRINT     *RUNNING MESSAGE                           T5X
   B5 = P3.RS.6.AND.7         *MARGIN BITS TO B5                         T5X
   MARGINS B5                 *SELECT MARGINS PER PARAM P3               T5X
21 B5 = 7                                                                T5X
   RES P1, ABT 74             *RESERVE                                   T5X
   B5 = 11                                                               T5X
   REWIND,ABT 74                                                         T5X
   B0=0                                                                  T5X
22 B3 = 25D                   *FILE COUNT DIAG MODE                      T5X
   WC = P2                                                               T5X
   IF(P3.AND.40.EQ.0)GOTO 24  *DIAGNOSTIC MODE SELECTED                  T5X
   B3 = P8                    *FILE COUNT MAINT MODE                     T5X
24 B0 = B0 + 1                *INCREMENT FILE COUNT                      T5X
   GOSUB 60                                                              T5X
   B5 = 12                                                               T5X
   WAITNB, ABT 74                                                        T5X
   B2 = 1111                                                             T5X
   B1 = 0                     *CLEAR RECORD COUNTER                      T5X
*                                                                        T5X
*---------WRITE 3 RECORDS OF UNIQUE DATA                                 T5X
*                                                                        T5X
30 DUP B2 TO OB FOR 500                                                  T5X
   B1 = B1 + 1                *BUMP RECORD COUNT                         T5X
   GOSUB 60                                                              T5X
   B5 = 6                                                                T5X
   WRITE LONG , ABT 74                                                   T5X
   IF(P3.AND.20.NE.0)GOTO 35  *BYPASS WAIT *NOT BUSY*                    T5X
   B5 = 12                                                               T5X
   WAITNB, ABT 74                                                        T5X
35 IF(SB.AND.EOT.NE.0)GOTO 54      *EOT DETECTED                         T5X
   IF(SB.AND.ERROR.EQ.0)GOTO 36                                          T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/200,GOSUB 70                                                  T5X
   GOTO 24                            *WRITE NOT ERROR FREE              T5X
36 GOTO 30 WHILE(B2 + 1111.NE.4444)   *ALL RECORDS NOT DONE              T5X
   B5 = 12                                                               T5X
   WAITNB, ABT 74                                                        T5X
   GOSUB 60                           *RELEASE-DELAY-RESERVE             T5X
*                                                                        T5X
*--------ISSUE CONTROLLED BACKSPACE, FOR CORRECT POSITIONING             T5X
*                                                                        T5X
   B5 = 4                                                                T5X
   BKSP C LONG , ABT 74                                                  T5X
   B1 = B1 - 1                *DECREMENT RECORD COUNT                    T5X
   IF(DC.NE.40) GOTO 40             *IF NOT 607 UNIT                     T5X
37 IF(SB.AND.ALERT.EQ.0)GOTO 40     *NO ALERT                            T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/217,GOSUB 70                                                  T5X
   GOTO 45                                                               T5X
40 B5 = 12                                                               T5X
   WAITNB, ABT 74                                                        T5X
   GOSUB 60                                                              T5X
*                                                                        T5X
*---------READ REVERSE                                                   T5X
*                                                                        T5X
   B5 = 5                                                                T5X
   READ REV , ABT 74                                                     T5X
   B1 = B1 - 1                *DECREMENT RECORD COUNT                    T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   IF(SB.AND.ERROR.EQ.0)GOTO 41                                          T5X
   ERROR 2/220,GOSUB 70                                                  T5X
   GOTO 45                                                               T5X
41 IF(WC.RS.9D.NE.SB(7)) GOTO 42                                         T5X
   B5 = WC.LS.3.AND.7770                                                 T5X
   IF(WT.EQ.B5) GOTO 43       *NO WT ERROR                               T5X
42 ERROR 2/222,GOSUB 70                                                  T5X
   GOTO 45                                                               T5X
43 IF(IB(0).NE.2222)ERROR 2/221 , GOSUB 70                               T5X
45 IF(B3.EQ.0)GOTO 24         *INFINITE FILE COUNT                       T5X
   IF(B0.LT.B3)GOTO 24        *MORE FILES TO BE WRITTEN                  T5X
54 B6 = B6 + 1                *LOOP COUNT                                T5X
   IF(ES.AND.SL.EQ.0) GOTO 55         *IF NOT SCOPING                    T5X
   MSG 14 (BA,B6) TO DISPLAY          *POST SCOPING MSG                  T5X
   GOTO 21                            *RESTART                           T5X
55 IF(ES.AND.CM.NE.0)GOTO 21  *IF REPEAT MODULE/CONDITION                T5X
   IF(BA.EQ.0)GOTO 57         *NO ERRORS                                 T5X
56 MSG 15 (BA) TO DAYFILE     *REPORT ERRORS                             T5X
57 EXIT                       *NORMAL TERMINATION                        T5X
*                                                                        T5X
*---------RELEASE-DELAY-RESERVE SUBROUTINE                               T5X
*                                                                        T5X
60 IF(P5+P6.LT.20D) GOTO 61   *BYPASS REL ON SHORT DELAY                 T5X
   B5 = 10                                                               T5X
   REL, ABT 74                *RELEASE                                   T5X
61 B5 = P6                    *DELAY PARAM TO B5                         T5X
   IF(P5.EQ.0) GOTO 62        *USE FIXED DELAY FROM P6                   T5X
   B5 = RT.AND.P5             *USE RT CLOCK AND MASK                     T5X
62 DELAY B5 MSEC                                                         T5X
   B5 = 7                                                                T5X
   B4 = P1.AND.7007                                                      T5X
   RES B4, ABT, 74                                                       T5X
   RETURN                                                                T5X
*                                                                        T5X
*-------- PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 71  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   RETURN                     *RETURN                                    T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 75  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   GOTO 21                    *RESTART                                   T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(BA.LT.2)GOTO 21         *NOT SECOND TRY                            T5X
   GOTO 55                    *ABNORMAL TERMINATION                      T5X
   END 20                                                                T5X
COMPILE    - T5X52 -                                                     T5X
   MODULE T5X53,65X(40,41,50,51)LOCK   - CONTROL BKSP INCR -             T5X
*** T5X53 - CONTROL BACKSPACE, INCR. LENGTH                              T5X
*                                                                        T5X
**  T5X53 - EXTERNAL DOCUMENTATION                                       T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         THIS MODULE USES THE FUNCTION *CONTROLLED                      T5X
*         BACKSPACE* DURING REPOSITIONING.                               T5X
*         RECORD LENGTHS START WITH 10B 12-BIT BYTES AND ARE             T5X
*         INCREMENTED BY 10B FOR EACH ITERATION OF THE TOTAL             T5X
*         TEST.                                                          T5X
*                                                                        T5X
*         THREE RECORDS OF UNIQUE DATA ARE WRITTEN                       T5X
*         (1111,2222,3333) ERROR FREE.  IF AN ERROR OCCURS ON EITHER     T5X
*         RECORD, THE COMPLETE SEQUENCE IS REPEATED UNTIL ALL THREE      T5X
*         RECORDS ARE WRITTEN ERROR FREE.  THEN THE CONTROL BACKSPACE    T5X
*         FUNCTION IS ISSUED.                                            T5X
*         FOLLOWING THIS A REVERSE READ IS ISSUED. WORD                  T5X
*         COUNT IS THEN COMPARED WITH THE WORDS TRANSMITTED.             T5X
*         NEXT THE RECORD CONTENTS ARE CHECKED TO DETERMINE              T5X
*         IF THEY ARE EQUAL TO 2222.                                     T5X
*                                                                        T5X
*         THIS PROCESS CONTINUES UNTIL FILE MAX OR EOT.                  T5X
*                                                                        T5X
*         NOTE - THIS MODULE IGNORES 3N+2 AND CONVERSION                 T5X
*                MODE SELECTIONS IN P3.                                  T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. SELECT MARGINS.                                             T5X
*         2. RESERVE.                                                    T5X
*         3. REWIND.                                                     T5X
*         4. SET WC = 1.                                                 T5X
*         5. SET *FILE MAX* TO 25D IF NOT MAINTENANCE MODE.              T5X
*         6. RELEASE, DELAY AND RESERVE.                                 T5X
*         7. WAITNB.                                                     T5X
*         8. SET RECORD PATTERN TO 1111.                                 T5X
*         9. FILL OB WITH RECORD PATTERN.                                T5X
*        10. BUMP RECORD COUNTER.                                        T5X
*        11. RELEASE, DELAY AND RESERVE.                                 T5X
*        12. WRITE LONG.                                                 T5X
*        13. WAIT NOT BUSY IF SELECTED.                                  T5X
*        14. IF *EOT*, GOTO STEP 30.                                     T5X
*        15. REPORT EC 200 IF STATUS ERROR.                              T5X
*        16. BUMP RECORD PATTERN BY 1111.                                T5X
*        17. REPEAT STEPS 9-16 UNTIL PATTERNS IS 4444. (3333 IS          T5X
*            LAST PATTERN WRITTEN.                                       T5X
*        18. WAIT NOT BUSY.                                              T5X
*        19. RELEASE, DELAY AND RESERVE.                                 T5X
*        20. CONTROLLED BKSP.                                            T5X
*        21. REPORT EC 217 IF STATUS ERROR.                              T5X
*        22. WAITNB.                                                     T5X
*        23. RELEASE, DELAY AND RESERVE.                                 T5X
*        24. READ REVERSE.                                               T5X
*        25. REPORT EC 220 IF STATUS ERROR.                              T5X
*        26. REPORT EC 222 IF WT ERROR.                                  T5X
*        27. REPORT EC 221 IF RECORD COUNT ERROR (FIRST WORD OF          T5X
*            IB NOT EQUAL TO RECORD NUMBER).                             T5X
*        28. SET WC = WC+1. SET IT TO 1 IF OVERFLOW (0000).              T5X
*        29. REPEAT STEPS 6-28 FOR *FILE MAX* TIMES.                     T5X
*        30. GO TO STEP 2 IF REPEAT MODULE.                              T5X
*        31. EXIT.                                                       T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS.                                 T5X
*                                                                        T5X
*         2. T5X53 - ERROR CODE = *OCT  AT LINE (EA) = *OCT              T5X
*         3. T5X53 - ABORT ON .BKSP. COMMAND -                           T5X
*         4. T5X53 - ABORT ON .READ REV. COMMAND -                       T5X
*         5. T5X53 - ABORT ON .WRITE. COMMAND -                          T5X
*         6. T5X53 - ABORT ON .RES. COMMAND -                            T5X
*         7. T5X53 - ABORT ON .REL. COMMAND -                            T5X
*         8. T5X53 - ABORT ON .REWIND. COMMAND -                         T5X
*         9. T5X53 - ABORT ON .WAITNB. COMMAND -                         T5X
*        10. T5X53 - ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*        11. -EC 200- AN UNEXPECTED STATUS BIT APPEARED IN GENERAL       T5X
*            STATUS DURING A WRITE OPERATION.                            T5X
*            NOTE THAT GENERAL STATUS WAS MASKED WITH LOGICAL            T5X
*            PRODUCT 6410B.                                              T5X
*                                                                        T5X
*        12. -EC 217- ALERT WAS SET FOLLOWING A CONTROLLED               T5X
*            BACKSPACE OPERATION.                                        T5X
*                                                                        T5X
*        13. -EC 220- A STATUS ERROR OCCURRED ON THE READ BACKWARDS      T5X
*            FOLLOWING A CONTROLLED BACKSPACE OPERATION.                 T5X
*                                                                        T5X
*        14. -EC 221- AN INCORRECT RECORD HAS BEEN DETECTED FOLLOWING A  T5X
*            CONTROLLED BACKSPACE. (IB) WILL CONTAIN THE                 T5X
*            ACTUAL RECORD DETECTED.                                     T5X
*                                                                        T5X
*        15. -EC 222- IMPROPER RECORD LENGTH WAS DETECTED ON A CONTROLLE T5X
*            BACKSPACE. REGISTER WT THE ACTUAL RECORD READ FROM TAPE.    T5X
*                                                                        T5X
*                                                                        T5X
*** T5X53 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B0 = CURRENT FILE COUNT                                        T5X
*         B1 = CURRENT RECORD COUNT                                      T5X
*         B2 = CURRENT RECORD CONTENTS                                   T5X
*         B3 = FILE MAX                                                  T5X
*         B4 = RESERVE OPTIONS                                           T5X
*         B5 = MARGINS                                                   T5X
*            = MSG NUMBER(SET BEFORE ENTRY) FOR MESSAGE PROCESSOR        T5X
*            = DELAY VALUE FOR REL/RES                                   T5X
*         B6 = LOOP COUNT                                                T5X
*         BA = ERROR COUNT                                               T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
*                                                                        T5X
 1 FORMAT T5X53 - CONTROL BACKSPACE, INCR LENGTH -                       T5X
 2 FORMAT T5X53 - ERROR CODE = *OCT  AT LINE (EA) = *OCT                 T5X
 4 FORMAT T5X53 - ABORT ON .BKSP. COMMAND -                              T5X
 5 FORMAT T5X53 - ABORT ON .READ REV. COMMAND -                          T5X
 6 FORMAT T5X53 - ABORT ON .WRITE. COMMAND -                             T5X
 7 FORMAT T5X53 - ABORT ON .RES. COMMAND -                               T5X
10 FORMAT T5X53 - ABORT ON .REL. COMMAND -                               T5X
11 FORMAT T5X53 - ABORT ON .REWIND. COMMAND -                            T5X
12 FORMAT T5X53 - ABORT ON .WAITNB. COMMAND -                            T5X
13 FORMAT T5X53 - ABORT ON .STATUS. COMMAND -                            T5X
14 FORMAT T5X53 - ERRS=*DEC LOOPS=*DEC                                   T5X
15 FORMAT T5X53 ERROR(S) IN MODULE = *DEC                                T5X
*                                                                        T5X
*                                                                        T5X
   EQUATE ALERT TO 2000, EOT TO 40, ERROR TO 6410                        T5X
*                                                                        T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY,PRINT     *RUNNING MESSAGE                           T5X
   B5 = P3.RS.6.AND.7         *MARGIN BITS TO B5                         T5X
   MARGINS B5                 *SELECT MARGINS PER PARAM P3               T5X
21 B5 = 7                                                                T5X
   RES P1, ABT 74             *RESERVE                                   T5X
   B5 = 11                                                               T5X
   REWIND,ABT 74                                                         T5X
   B0=0                                                                  T5X
22 B3 = 25D                   *FILE COUNT DIAG MODE                      T5X
   WC = 1                                                                T5X
   IF(P3.AND.40.EQ.0)GOTO 24  *DIAGNOSTIC MODE SELECTED                  T5X
   B3 = P8                    *FILE COUNT MAINT MODE                     T5X
24 B0 = B0 + 1                *INCREMENT FILE COUNT                      T5X
   GOSUB 60                                                              T5X
   B2 = 1111                                                             T5X
   B1 = 0                     *CLEAR RECORD COUNT                        T5X
*                                                                        T5X
*---------WRITE 3 UNIQUE RECORDS                                         T5X
*                                                                        T5X
30 DUP B2 TO OB FOR 500                                                  T5X
   B1 = B1 + 1                *BUMP RECORD COUNT                         T5X
   GOSUB 60                                                              T5X
   B5 = 6                                                                T5X
   WRITE LONG , ABT 74                                                   T5X
   IF(P3.AND.20.NE.0)GOTO 35  *BYPASS WAIT *NOT BUSY*                    T5X
   B5 = 12                                                               T5X
   WAITNB, ABT 74                                                        T5X
35 IF(SB.AND.EOT.NE.0)GOTO 54      *EOT DETECTED                         T5X
   IF(SB.AND.ERROR.EQ.0)GOTO 36                                          T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/200,GOSUB 70                                                  T5X
   GOTO 24                            *WRITE NOT ERROR FREE              T5X
36 GOTO 30 WHILE(B2 + 1111.NE.4444)   *ALL RECORDS NOT DONE              T5X
   GOSUB 60                           *RELEASE-DELAY-RESERVE             T5X
*                                                                        T5X
*--------ISSUE CONTROLLED BACKSPACE, FOR CORRECT POSITIONING             T5X
*                                                                        T5X
   B5 = 4                                                                T5X
   BKSP C LONG , ABT 74                                                  T5X
   B1 = B1 - 1                *DECREMENT RECORD COUNT                    T5X
   IF(DC.NE.40) GOTO 40             *IF NOT 607 UNIT                     T5X
37 IF(SB.AND.ALERT.EQ.0)GOTO 40     *NO ALERT                            T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/217,GOSUB 70                                                  T5X
   GOTO 45                                                               T5X
40 GOSUB 60                                                              T5X
*                                                                        T5X
*---------READ REVERSE                                                   T5X
*                                                                        T5X
   B5 = 5                                                                T5X
   READ REV , ABT 74                                                     T5X
   B1 = B1 - 1                *DECREMENT RECORD COUNT                    T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   IF(SB.AND.ERROR.EQ.0)GOTO 41                                          T5X
   ERROR 2/220,GOSUB 70                                                  T5X
   GOTO 45                                                               T5X
41 IF(WC.RS.9D.NE.SB(7)) GOTO 42                                         T5X
   B5 = WC.LS.3.AND.7770                                                 T5X
   IF(WT.EQ.B5) GOTO 43       *NO WT ERROR                               T5X
42 ERROR 2/222,GOSUB 70                                                  T5X
   GOTO 45                                                               T5X
43 IF(IB(0).NE.2222)ERROR 2/221 , GOSUB 70                               T5X
45 WC = WC + 1                *BUMP RECORD LENGTH                        T5X
   IF(WC.NE.0) GOTO 46        *IF NO OVERFLOW                            T5X
   WC = 1                                                                T5X
46 IF(B3.EQ.0)GOTO 24         *INFINITE FILE COUNT                       T5X
   IF(B0.LT.B3)GOTO 24        *MORE FILES TO BE WRITTEN                  T5X
54 B6 = B6 + 1                *LOOP COUNT                                T5X
   IF(ES.AND.SL.EQ.0) GOTO 55         *IF NOT SCOPING                    T5X
   MSG 14 (BA,B6) TO DISPLAY          *POST SCOPING MSG                  T5X
   GOTO 21                            *RESTART                           T5X
55 IF(ES.AND.CM.NE.0)GOTO 21  *IF REPEAT MODULE/CONDITION                T5X
   IF(BA.EQ.0)GOTO 57         *NO ERRORS                                 T5X
56 MSG 15 (BA) TO DAYFILE     *REPORT ERRORS                             T5X
57 EXIT                       *NORMAL TERMINATION                        T5X
*                                                                        T5X
*---------RELEASE-DELAY-RESERVE-WAITNB SUBROUTINE                        T5X
*                                                                        T5X
60 B5 = 10                                                               T5X
   REL, ABT 74                *RELEASE                                   T5X
61 B5 = P6                    *DELAY PARAM TO B5                         T5X
   IF(P5.EQ.0) GOTO 62        *USE FIXED DELAY FROM P6                   T5X
   B5 = RT.AND.P5             *USE RT CLOCK AND MASK                     T5X
62 DELAY B5 MSEC                                                         T5X
   B5 = 7                                                                T5X
   B4 = P1.AND.7007                                                      T5X
   RES B4, ABT 74                                                        T5X
   B5 = 12                                                               T5X
   WAITNB, ABT 74              *WAIT NOT BUSY                            T5X
   RETURN                                                                T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 71  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   RETURN                     *RETURN                                    T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 75  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   GOTO 21                    *RESTART                                   T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(BA.LT.2)GOTO 21         *NOT SECOND TRY                            T5X
   GOTO 55                    *ABNORMAL TERMINATION                      T5X
   END 20                                                                T5X
COMPILE    - T5X53 -                                                     T5X
   MODULE T5X54,65X(40,41,50,51)LOCK   - WRITE SKIP TO ERASE -           T5X
*** T5X54 - WRITE SKIP TO ERASE                                          T5X
*                                                                        T5X
**  T5X54 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         RECORDS ARE WRITTEN ON TAPE AT THE DENSITY                     T5X
*         AND PATTERN SELECTED BY THE *PARAM* DIRECTIVE.                 T5X
*                                                                        T5X
*         AFTER A RECORD IS WRITTEN, A BACKSPACE                         T5X
*         FOLLOWED BY AN ERASE OPERATION IS DONE.                        T5X
*         THIS SEQUENCE CONTINUES UNTIL *FILE MAX*                       T5X
*         OR *EOT* IS REACHED.                                           T5X
*                                                                        T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. FILL OB WITH SELECTED PATTERN.                              T5X
*         2. RESERVE.                                                    T5X
*         3. REWIND.                                                     T5X
*         4. SET *FILE MAX* TO 25D IF DIAGNOSTIC MODE.                   T5X
*         5. FILL OB WITH RANDOM PATTERN IF SELECTED.                    T5X
*         6. ADD ADDRESS CODING TO OB IF SELECTED.                       T5X
*         7. RELEASE, DELAY AND RESERVE.                                 T5X
*         8. WRITE LONG. GO TO STEP 19 IF *EOT*.                         T5X
*         9. REPORT EC 200 IF STATUS ERROR.                              T5X
*        10. BKSP.                                                       T5X
*        11. REPORT EC 253 IF STATUS ERROR.                              T5X
*        12. ERASE.                                                      T5X
*        13. GO TO STEP 19 IF *EOT* STATUS.                              T5X
*        14. REPORT EC 246 IF STATUS ERROR.                              T5X
*        15. REPEAT STEPS 5-14 FOR *FILE MAX* TIMES.                     T5X
*        16. RESERVE.                                                    T5X
*        17. ENDFILE.                                                    T5X
*        18. REPORT EC 122 IF NOT *EOF* STATUS.                          T5X
*        19. GO TO STEP 2 IF REPEAT MODULE.                              T5X
*        20. EXIT.                                                       T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS.                                 T5X
*                                                                        T5X
*         2. T5X54 - ERROR CODE = *OCT  AT LINE (EA) = *OCT              T5X
*         3. T5X54 - ABORT ON .ENDFILE. COMMAND -                        T5X
*         4. T5X54 - ABORT ON .WRITE. COMMAND -                          T5X
*         5. T5X54 - ABORT ON .RES. COMMAND -                            T5X
*         6. T5X54 - ABORT ON .REWIND. COMMAND -                         T5X
*         7. T5X54 - ABORT ON .REL. COMMAND -                            T5X
*         8. T5X54 - ABORT ON .BKSP. COMMAND -                           T5X
*         9. T5X54 - ABORT ON .ERASE. COMMAND -                          T5X
*        10. T5X54 - ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*        11. -EC 122- NO FM/TM STATUS IN GENERAL STATUS, AT END OF       T5X
*            OPERATION, AFTER A WRITE FM/TM.                             T5X
*                                                                        T5X
*        12. -EC 200- AN UNEXPECTED STATUS BIT APPEARED IN GENERAL       T5X
*            STATUS DURING A -WRITE- OPERATION.                          T5X
*            NOTE THAT GENERAL STATUS WAS MASKED WITH LOGICAL            T5X
*            PRODUCT 6410B.                                              T5X
*                                                                        T5X
*        13. -EC 246- AN ALERT STATUS OCCURRED AFTER AN ERASE            T5X
*            OPERATION                                                   T5X
*                                                                        T5X
*        14. -EC 253- A STATUS ERROR OCCURRED ON A BACKSPACE             T5X
*                                                                        T5X
*                                                                        T5X
*** T5X54 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B0 = CURRENT FILE COUNT                                        T5X
*            = TRACK SIZE (6 OR 8)                                       T5X
*            = RANDOM STARTER                                            T5X
*         B1 = CURRENT RECORD COUNT                                      T5X
*         B2 = RANDOM PATTERN FLAG                                       T5X
*            = BUFFER LIMIT FOR DUP (7 OR 9 TRK)                         T5X
*         B3 = FILE MAX                                                  T5X
*         B4 = PATTERN FOR STORING                                       T5X
*         B5 = MSG NUMBER(SET BEFORE ENTRY) FOR MESSAGE PROCESSOR        T5X
*            = DELAY VALUE FOR REL/RES                                   T5X
*         B6 = LOOP COUNT                                                T5X
*         BA = ERROR COUNT                                               T5X
*                                                                        T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
 1 FORMAT T5X54 - WRITE SKIP TO ERASE -                                  T5X
 2 FORMAT T5X54 - ERROR CODE = *OCT  AT LINE (EA) = *OCT                 T5X
 4 FORMAT T5X54 - ABORT ON .ENDFILE. COMMAND -                           T5X
 5 FORMAT T5X54 - ABORT ON .WRITE. COMMAND -                             T5X
 6 FORMAT T5X54 - ABORT ON .RES. COMMAND -                               T5X
10 FORMAT T5X54 - ABORT ON .REWIND. COMMAND -                            T5X
11 FORMAT T5X54 - ABORT ON .REL. COMMAND -                               T5X
12 FORMAT T5X54 - ABORT ON .BKSP. COMMAND -                              T5X
13 FORMAT T5X54 - ABORT ON .ERASE. COMMAND -                             T5X
14 FORMAT T5X54 - ERRS=*DEC LOOPS=*DEC                                   T5X
15 FORMAT T5X54 ERROR(S) IN MODULE = *DEC                                T5X
16 FORMAT T5X54 - ABORT ON .STATUS. COMMAND -                            T5X
*                                                                        T5X
   EQUATE FILEMK TO 10, EOT TO 40, ERROR TO 6410                         T5X
*                                                                        T5X
*                                                                        T5X
/                                                                        T5X
20 MSG 1 TO DISPLAY,PRINT     *RUNNING MESSAGE.                          T5X
   IF(P4.AND.3000.EQ.2000) GOTO 23  *RANDOM PATTERN SELECTED             T5X
   B4 = P4                                                               T5X
   B0 = 10                                                               T5X
   IF(DC.AND.10.NE.0)GOTO 21  *IF 9 TRACK TAPE.                          T5X
   B0 = 6                     *TRACK SIZE (6 OR 8)                       T5X
*                                                                        T5X
*---------FILL BUFFER                                                    T5X
*                                                                        T5X
21 IF(P4.AND.3000.EQ.1000)B4=P4.XOR.7777    *ALT PATRN                   T5X000G
   DUP B0 BITS OF P4/B4 TO OB FOR 500                                    T5X000G
   GOTO 25                                                               T5X
23 B0 = P7                    *RANDOM STARTER                            T5X
   IF(P3.AND.4.NE.0)GOTO 24   *USE RANDOM STARTER                        T5X
   B2=1                       *SET FLAG                                  T5X
   B0 = RT                    *USE RT CLOCK FOR STARTER                  T5X
24 RANDOM TO OB FOR 500 , START B0                                       T5X
25 WC = P2                    *RECORD LENGTH TO WC REG                   T5X
26 B5 = 6                                                                T5X
   B0 = 0                     *CLEAR FILE COUNT                          T5X
   B1 = 1                     *SET RECORD COUNT                          T5X
   RES P1, ABT 74             *RESERVE                                   T5X
   B5 = 10                                                               T5X
   REWIND,ABT 74              *REWIND                                    T5X
   B3 = 25D                   *FILE MAX FOR DIAG. MODE                   T5X
   IF(P3.AND.40.EQ.0)GOTO 30  *IF DIAG. MODE                             T5X
   B3 = P8                    *USER FILE MAX FOR MAINT. MODE             T5X
30 IF(B2.EQ.0) GOTO 40        *RANDOM PTRN NOT SELECTED                  T5X
   RANDOM TO OB FOR 500 , START RT                                       T5X
*                                                                        T5X
*---------ADDRESS CODING                                                 T5X
*                                                                        T5X
40 IF(P3.AND.1.NE.0)GOTO 43   *BYPASS ADDRESS CODING                     T5X
   OB(1) = B0                                                            T5X
   OB(2) = B1                                                            T5X
   OB(3) = WC                                                            T5X
43 IF(P5+P6.LT.20D) GOTO 44                                              T5X
   B5 = 11                                                               T5X
   REL, ABT 74                                                           T5X
44 B5 = P6                    *DELAY PARAM TO B5                         T5X
   IF(P5.EQ.0) GOTO 45        *USE FIXED DELAY FROM P6                   T5X
   B5 = RT.AND.P5             *USE RT CLOCK AND MASK                     T5X
45 DELAY B5 MSEC                                                         T5X
   B5 = 6                                                                T5X
   RES P1, ABT 74             *RESERVE                                   T5X
*                                                                        T5X
*---------WRITE .WC. SPECIFIED BY *P2*                                   T5X
*                                                                        T5X
   B5 = 5                                                                T5X
   WRITE LONG, ABT 74                                                    T5X
   IF(SB.AND.EOT.NE.0) GOTO 53      *IF END OF TAPE                      T5X
   IF(SB.AND.ERROR.EQ.0)GOTO 50     *NO ERROR DETECTED                   T5X
   B5 = 16                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/200 , GOSUB 70                                                T5X
   GOTO 52                    *RESTART                                   T5X
*                                                                        T5X
*---------BACKSPACE                                                      T5X
*                                                                        T5X
50 B5 = 12                                                               T5X
   BKSP, ABT 74                                                          T5X
   IF(SB.AND.ERROR.EQ.0) GOTO 51                                         T5X
   B5 = 16                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/253, GOSUB 70                                                 T5X
   GOTO 52                    *RESTART                                   T5X
*                                                                        T5X
*---------ERASE                                                          T5X
*                                                                        T5X
51 B5 = 13                                                               T5X
   ERASE, ABT 74                                                         T5X
   IF(SB.AND.EOT.NE.0) GOTO 53      *IF END OF TAPE                      T5X
   IF(SB.AND.ERROR.EQ.0) GOTO 52   *IF NO ERROR                          T5X
   B5 = 16                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/246, GOSUB 70                                                 T5X
52 IF (B3.EQ.0) GOTO 30       *LOOP IF INFINITE FILE COUNT               T5X
   GOTO 30 WHILE (B0+1.NE.B3)                                            T5X
   B5 = 6                                                                T5X
   RES P1, ABT 74                                                        T5X
*                                                                        T5X
*---------WRITE .EOF.                                                    T5X
*                                                                        T5X
53 B5 = 4                                                                T5X
   ENDFILE , ABT 74                                                      T5X
   IF(SB.AND.FILEMK.NE.0) GOTO 54   *IF FM/TM                            T5X
   B5 = 16                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/122, GOSUB 70                                                 T5X
54 B6 = B6 + 1                *LOOP COUNT                                T5X
   IF(ES.AND.SL.EQ.0) GOTO 55         *IF NOT SCOPING                    T5X
   MSG 14 (BA,B6) TO DISPLAY          *POST SCOPING MSG                  T5X
   GOTO 26                            *RESTART                           T5X
55 IF(ES.AND.CM.NE.0)GOTO 26  *IF REPEAT MODULE/CONDITION                T5X
   IF(BA.EQ.0)GOTO 57         *NO ERRORS                                 T5X
56 MSG 15 (BA) TO DAYFILE     *REPORT ERRORS                             T5X
57 EXIT                       *NORMAL TERMINATION                        T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 71  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   RETURN                     *RETURN                                    T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 75  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   GOTO 26                    *RESTART                                   T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(BA.LT.2)GOTO 26         *NOT SECOND TRY                            T5X
   GOTO 55                    *ABNORMAL TERMINATION                      T5X
   END 20                                                                T5X
COMPILE   - T5X54 -                                                      T5X
   MODULE T5X55,65X(40,41,50,51)LOCK   - WRITE SKIP, INCR. -             T5X
*** T5X55 - WRITE SKIP, INCR. LENGTH                                     T5X
*                                                                        T5X
**  T5X55 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         RECORDS ARE WRITTEN ON TAPE AT THE DENSITY                     T5X
*         AND PATTERN SELECTED BY THE *PARAM* DIRECTIVE.                 T5X
*                                                                        T5X
*         AFTER A RECORD IS WRITTEN, A BACKSPACE                         T5X
*         FOLLOWED BY AN ERASE OPERATION IS DONE.                        T5X
*         THIS SEQUENCE CONTINUES UNTIL *FILE MAX*                       T5X
*         OR *EOT* IS REACHED. THE RECORD LENGTH OF THE                  T5X
*         WRITE IS INCREMENTED FOR EACH RECORD WRITTEN.                  T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. FILL OB WITH SELECTED PATTERN.                              T5X
*         2. RESERVE.                                                    T5X
*         3. REWIND.                                                     T5X
*         4. SET *FILE MAX* TO 25D IF DIAGNOSTIC MODE.                   T5X
*         5. FILL OB WITH RANDOM PATTERN IF SELECTED.                    T5X
*         6. ADD ADDRESS CODING TO OB IF SELECTED.                       T5X
*         7. RELEASE, DELAY AND RESERVE.                                 T5X
*         8. WRITE LONG. GO TO STEP 19 IF *EOT*.                         T5X
*         9. REPORT EC 200 IF STATUS ERROR.                              T5X
*        10. BKSP.                                                       T5X
*        11. REPORT EC 253 IF STATUS ERROR.                              T5X
*        12. ERASE.                                                      T5X
*        13. GO TO STEP 19 IF *EOT* STATUS.                              T5X
*        14. REPORT EC 246 IF STATUS ERROR.                              T5X
*        15. REPEAT STEPS 5-14 FOR *FILE MAX* TIMES.                     T5X
*        16. RESERVE.                                                    T5X
*        17. ENDFILE.                                                    T5X
*        18. REPORT EC 122 IF NOT *EOF* STATUS.                          T5X
*        19. EXIT.                                                       T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS.                                 T5X
*                                                                        T5X
*         2. T5X55 - ERROR CODE = *OCT  AT LINE (EA) = *OCT              T5X
*         3. T5X55 - ABORT ON .ENDFILE. COMMAND -                        T5X
*         4. T5X55 - ABORT ON .WRITE. COMMAND -                          T5X
*         5. T5X55 - ABORT ON .RES. COMMAND -                            T5X
*         6. T5X55 - ABORT ON .REWIND. COMMAND -                         T5X
*         7. T5X55 - ABORT ON .REL. COMMAND -                            T5X
*         8. T5X55 - ABORT ON .BKSP. COMMAND -                           T5X
*         9. T5X55 - ABORT ON .ERASE. COMMAND -                          T5X
*        10. T5X55 - ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*        11. -EC 122- NO FM/TM STATUS IN GENERAL STATUS, AT END OF       T5X
*            OPERATION, AFTER A WRITE FM/TM.                             T5X
*                                                                        T5X
*        12. -EC 200- AN UNEXPECTED STATUS BIT APPEARED IN GENERAL       T5X
*            STATUS DURING A -WRITE- OPERATION.                          T5X
*            NOTE THAT GENERAL STATUS WAS MASKED WITH LOGICAL            T5X
*            PRODUCT 6410B.                                              T5X
*                                                                        T5X
*        13. -EC 246- AN ALERT STATUS OCCURRED AFTER AN ERASE            T5X
*            OPERATION                                                   T5X
*                                                                        T5X
*        14. -EC 253- A STATUS ERROR OCCURRED ON A BACKSPACE             T5X
*                                                                        T5X
*                                                                        T5X
*** T5X55 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B0 = CURRENT FILE COUNT                                        T5X
*            = TRACK SIZE (6 OR 8)                                       T5X
*            = RANDOM STARTER                                            T5X
*         B1 = CURRENT RECORD COUNT                                      T5X
*         B2 = RANDOM PATTERN FLAG                                       T5X
*            = BUFFER LIMIT FOR DUP (7 OR 9 TRK)                         T5X
*         B3 = FILE MAX                                                  T5X
*         B4 = PATTERN FOR STORING                                       T5X
*         B5 = MSG NUMBER(SET BEFORE ENTRY) FOR MESSAGE PROCESSOR        T5X
*            = DELAY VALUE FOR REL/RES                                   T5X
*         B6 = LOOP COUNT                                                T5X
*         BA = ERROR COUNT                                               T5X
*                                                                        T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
*                                                                        T5X
 1 FORMAT T5X55 - WRITE SKIP, INCR. LENGTH -                             T5X
 2 FORMAT T5X55 - ERROR CODE = *OCT  AT LINE (EA) = *OCT                 T5X
 4 FORMAT T5X55 - ABORT ON .ENDFILE. COMMAND -                           T5X
 5 FORMAT T5X55 - ABORT ON .WRITE. COMMAND -                             T5X
 6 FORMAT T5X55 - ABORT ON .RES. COMMAND -                               T5X
10 FORMAT T5X55 - ABORT ON .REWIND. COMMAND -                            T5X
11 FORMAT T5X55 - ABORT ON .REL. COMMAND -                               T5X
12 FORMAT T5X55 - ABORT ON .BKSP. COMMAND -                              T5X
13 FORMAT T5X55 - ABORT ON .ERASE. COMMAND -                             T5X
14 FORMAT T5X55 - ERRS=*DEC LOOPS=*DEC                                   T5X
15 FORMAT T5X55 ERROR(S) IN MODULE = *DEC                                T5X
16 FORMAT T5X55 - ABORT ON .STATUS. COMMAND -                            T5X
*                                                                        T5X
   EQUATE FILEMK TO 10, EOT TO 40, ERROR TO 6410                         T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY,PRINT     *RUNNING MESSAGE.                          T5X
   IF(P4.AND.3000.EQ.2000) GOTO 23  *RANDOM PATTERN SELECTED             T5X
   B4 = P4                                                               T5X
   B0 = 10                                                               T5X
   IF(DC.AND.10.NE.0)GOTO 21  *IF 9 TRACK TAPE.                          T5X
   B0 = 6                     *TRACK SIZE (6 OR 8)                       T5X
*                                                                        T5X
*---------FILL BUFFER                                                    T5X
*                                                                        T5X
21 IF(P4.AND.3000.EQ.1000)B4=P4.XOR.7777    *ALT PATRN                   T5X000G
   DUP B0 BITS OF P4/B4 TO OB FOR 500                                    T5X000G
   GOTO 26                                                               T5X
23 B0 = P7                    *RANDOM STARTER                            T5X
   IF(P3.AND.4.NE.0)GOTO 24   *USE RANDOM STARTER                        T5X
   B2=1                       *SET FLAG                                  T5X
   B0 = RT                    *USE RT CLOCK FOR STARTER                  T5X
24 RANDOM TO OB FOR 500 , START B0                                       T5X
26 B5 = 6                                                                T5X
   B0 = 0                     *CLEAR FILE COUNT                          T5X
   B1 = 1                     *SET RECORD COUNT                          T5X
   RES P1, ABT 74             *RESERVE                                   T5X
   B5 = 10                                                               T5X
   REWIND,ABT 74              *REWIND                                    T5X
   WC = 1                     *SET WC TO WRITE 10B WORDS                 T5X
   B3 = 25D                   *FILE MAX FOR DIAG. MODE                   T5X
   IF(P3.AND.40.EQ.0)GOTO 30  *IF DIAG. MODE                             T5X
   B3 = P8                    *USER FILE MAX FOR MAINT. MODE             T5X
30 IF(B2.EQ.0) GOTO 40        *RANDOM PTRN NOT SELECTED                  T5X
   RANDOM TO OB FOR 500 , START RT                                       T5X
*                                                                        T5X
*---------ADDRESS CODING                                                 T5X
*                                                                        T5X
40 IF(P3.AND.1.NE.0)GOTO 43   *BYPASS ADDRESS CODING                     T5X
   OB(1) = B0                                                            T5X
   OB(2) = B1                                                            T5X
   OB(3) = WC                                                            T5X
43 B5 = 11                                                               T5X
   REL, ABT 74                                                           T5X
44 B5 = P6                    *DELAY PARAM TO B5                         T5X
   IF(P5.EQ.0) GOTO 45        *USE FIXED DELAY FROM P6                   T5X
   B5 = RT.AND.P5             *USE RT CLOCK AND MASK                     T5X
45 DELAY B5 MSEC                                                         T5X
   B5 = 6                                                                T5X
   RES P1, ABT 74             *RESERVE                                   T5X
*                                                                        T5X
*---------WRITE                                                          T5X
*                                                                        T5X
   B5 = 5                                                                T5X
   WRITE LONG, ABT 74                                                    T5X
   IF(SB.AND.EOT.NE.0) GOTO 54     *IF END OF TAPE                       T5X
   IF(SB.AND.ERROR.EQ.0)GOTO 50    *NO ERROR DETECTED                    T5X
   B5 = 16                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/200 , GOSUB 70                                                T5X
   GOTO 52                    *RESTART                                   T5X
*                                                                        T5X
*---------BACKSPACE                                                      T5X
*                                                                        T5X
50 B5 = 12                                                               T5X
   BKSP, ABT 74                                                          T5X
   IF(SB.AND.ERROR.EQ.0) GOTO 51                                         T5X
   B5 = 16                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/253, GOSUB 70                                                 T5X
   GOTO 52                    *RESTART                                   T5X
*                                                                        T5X
*---------ERASE                                                          T5X
*                                                                        T5X
51 B5 = 13                                                               T5X
   ERASE, ABT 74                                                         T5X
   IF(SB.AND.EOT.NE.0) GOTO 54      *IF END OF TAPE                      T5X
   IF(SB.AND.ERROR.EQ.0) GOTO 52   *IF NO ERROR                          T5X
   B5 = 16                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/246, GOSUB 70                                                 T5X
52 WC = WC + 1                *BUMP WORD COUNT                           T5X
   IF(WC.NE.0) GOTO 53                                                   T5X
   WC = 1                     *SET LEGAL WORD COUNT                      T5X
53 IF (B3.EQ.0) GOTO 30       *LOOP IF INFINITE FILE COUNT               T5X
   GOTO 30 WHILE (B0+1.NE.B3)                                            T5X
   B5 = 6                                                                T5X
   RES P1, ABT 74                                                        T5X
*                                                                        T5X
*---------WRITE .EOF.                                                    T5X
*                                                                        T5X
54 B5 = 4                                                                T5X
   ENDFILE , ABT 74                                                      T5X
   IF(SB.AND.FILEMK.NE.0) GOTO 55   *IF FM/TM                            T5X
   B5 = 16                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/122, GOSUB 70                                                 T5X
55 B6 = B6 + 1                *LOOP COUNT                                T5X
   IF(ES.AND.SL.EQ.0) GOTO 56         *IF NOT SCOPING                    T5X
   MSG 14 (BA,B6) TO DISPLAY          *POST SCOPING MSG                  T5X
   GOTO 26                            *RESTART                           T5X
56 IF(BA.EQ.0)GOTO 57         *NO ERRORS                                 T5X
   MSG 15 (BA) TO DAYFILE     *REPORT ERRORS                             T5X
57 EXIT                       *NORMAL TERMINATION                        T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 71  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   RETURN                     *RETURN                                    T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 75  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   GOTO 26                    *RESTART                                   T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(BA.LT.2) GOTO 26        *NOT SECOND TRY                            T5X
   GOTO 56                    *ABNORMAL TERMINATION                      T5X
   END 20                                                                T5X
COMPILE   - T5X55 -                                                      T5X
   MODULE T5X56,65X(40,41,50,51)LOCK   - RANDOM WRITE -                  T5X
*** T5X56 - RANDOM WRITE                                                 T5X
*                                                                        T5X
**  T5X56 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         T5X56 CREATES THE TAPE USED FOR RANDOM READ IN                 T5X
*         MODULE -T5X57-                                                 T5X
*                                                                        T5X
*         THIS MODULE WILL WRITE RANDOM LENGTH RECORDS FROM  0004        T5X
*         TO  7777  BY  READING THE REAL TIME CLOCK.  EACH RECORD WILL   T5X
*         CONTAIN UNIQUE ADDRESSING  INFORMATION  (RECORD,  FILE,  AND   T5X
*         LENGTH),  THAT  WILL BE UTILIZED IN RANDOM READ TO DETERMINE   T5X
*         IF ALL DATA WRITTEN IS READ.  FILE MAX AND  RECORD  MAX  ARE   T5X
*         USED  TO  CONTROL  THE  DURATION  OF THE MODULE AND THE FILE   T5X
*         SIZE.                                                          T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. RESERVE.                                                    T5X
*         2. REWIND.                                                     T5X
*         3. FILL OB WITH SELECTED DATA PATTERN.                         T5X
*         4. RELEASE, DELAY AND RESERVE.                                 T5X
*         5. SET WC TO RANDOM VALUE BETWEEN 4 AND 7777.                  T5X
*         6. FILL OB WITH RANDOM DATA PATTERN IF SELECTED.               T5X
*         7. ADD ADDRESS CODING.                                         T5X
*         8. WRITE.                                                      T5X
*         9. WAIT NOT BUSY IF SELECTED.                                  T5X
*        10. GO TO STEP 17 IF *EOT* STATUS.                              T5X
*        11. REPORT EC 200 IF STATUS ERROR.                              T5X
*        12. REPEAT STEPS 4-11 FOR *RECORD MAX* RECORDS.                 T5X
*        13. RELEASE, DELAY AND RESERVE.                                 T5X
*        14. ENDFILE.                                                    T5X
*        15. REPORT EC 122 IF STATUS IS NOT *EOF*.                       T5X
*        16. REPEAT STEPS 4-15 FOR *FILE MAX* FILES.                     T5X
*        17. GO TO STEP 1 IF REPEAT MODULE.                              T5X
*        18. RELEASE.                                                    T5X
*        19. EXIT.                                                       T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS                                  T5X
*                                                                        T5X
*         2. T5X56 - ERROR CODE = *OCT  AT LINE (EA) = *OCT              T5X
*         3. T5X56 - ABORT ON .WRITE. COMMAND -                          T5X
*         4. T5X56 - ABORT ON .ENDFILE. COMMAND -                        T5X
*         5. T5X56 - ABORT ON .RES. COMMAND -                            T5X
*         6. T5X56 - ABORT ON .REL. COMMAND -                            T5X
*         7. T5X56 - ABORT ON .REWIND. COMMAND -                         T5X
*         8. T5X56 - ABORT ON .WAITNB. COMMAND -                         T5X
*         9. T5X56 - ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*        10. -EC 122- NO FM/TM STATUS IN GENERAL STATUS, AT END OF       T5X
*            OPERATION, AFTER A WRITE FM/TM.                             T5X
*                                                                        T5X
*        11. -EC 200- AN UNEXPECTED STATUS BIT APPEARED IN GENERAL       T5X
*            STATUS DURING A WRITE OPERATION.                            T5X
*            NOTE THAT GENERAL STATUS WAS MASKED WITH LOGICAL            T5X
*            PRODUCT 6410B.                                              T5X
*** T5X56 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B0 = CURRENT FILE COUNT                                        T5X
*         B1 = CURRENT RECORD COUNT                                      T5X
*         B2 = RANDOM STARTER FOR PATTERN GENERATOR                      T5X
*            = BUFFER LIMIT FOR DUP (7 OR 9 TRK)                         T5X
*         B4 = PATTERN FOR STORING                                       T5X
*         B5 = TRACK SIZE (6 OR 8)                                       T5X
*            = MSG NUMBER(SET BEFORE ENTRY) FOR MESSAGE PROCESSOR        T5X
*            = DELAY VALUE FOR REL/RES                                   T5X
*         B6 = LOOP COUNT                                                T5X
*         BA = ERROR COUNT                                               T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
*                                                                        T5X
 1 FORMAT T5X56 - RANDOM WRITE -                                         T5X
 2 FORMAT T5X56 - ERROR CODE = *OCT  AT LINE (EA) = *OCT                 T5X
 4 FORMAT T5X56 - ABORT ON .WRITE. COMMAND -                             T5X
 5 FORMAT T5X56 - ABORT ON .ENDFILE. COMMAND -                           T5X
 6 FORMAT T5X56 - ABORT ON .RES. COMMAND -                               T5X
 7 FORMAT T5X56 - ABORT ON .REL. COMMAND -                               T5X
10 FORMAT T5X56 - ABORT ON .REWIND. COMMAND -                            T5X
11 FORMAT T5X56 - ABORT ON .WAITNB. COMMAND -                            T5X
12 FORMAT T5X56 - ABORT ON .STATUS. COMMAND -                            T5X
14 FORMAT T5X56 - ERRS=*DEC LOOPS=*DEC                                   T5X
15 FORMAT T5X56 ERROR(S) IN MODULE = *DEC                                T5X
*                                                                        T5X
   EQUATE ERROR TO 6410                                                  T5X
   EQUATE ALERT TO 2000, EOT TO 40, FILEMK TO 10                         T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY, PRINT    *RUNNING MESSAGE                           T5X
   BA=0                       *CLEAR ERROR COUNTER                       T5X
21 B5 = 6                                                                T5X
   RES P1, ABT 74             *RESERVE                                   T5X
*                                                                        T5X
*---------REWIND                                                         T5X
*                                                                        T5X
   B5 = 10                                                               T5X
   REWIND,ABT 74              *REWIND                                    T5X
   B0 = 0                     *CLEAR FILE COUNT                          T5X
   B1 = 0                     *CLEAR RECORD COUNT                        T5X
*                                                                        T5X
*                                                                        T5X
   B5 = 10                                                               T5X
   B2 = 360                                                              T5X
   IF(DC.AND.10.NE.0)GOTO 22  *IF 9 TRACK TAPE.                          T5X
   B5 = 6                     *TRACK SIZE (6 OR 8)                       T5X
22 B4 = P4                                                               T5X
   IF(P4.AND.3000.EQ.1000)B4=P4.XOR.7777    *ALT PATRN                   T5X000G
   DUP B5 BITS OF P4/B4 TO OB FOR 500                                    T5X000G
30 GOSUB 60                                                              T5X
32 WC = RT                    *GET RANDOM RECORD LENGTH                  T5X
   IF(WC.LT.4)GOTO 32                                                    T5X
   B1 = B1 + 1                *INCREMENT RECORD COUNT                    T5X
   IF(P4.AND.3000.NE.2000)GOTO 42  *RANDOM PATTERN SELECTED              T5X
   B2 = P7                    *RANDOM STARTER TO B2                      T5X
   IF(P3.AND.4.EQ.4)GOTO 40   *DO NOT USE RTC FOR STARTER                T5X
   B2 = RT                                                               T5X
40 RANDOM TO OB FOR 500 , START B2                                       T5X
*                                                                        T5X
*---------ADDRESS CODING ALWAYS WRITTEN                                  T5X
*                                                                        T5X
42 OB(1) = B0                                                            T5X
   OB(2) = B1                                                            T5X
   OB(3) = WC                                                            T5X
*                                                                        T5X
*---------WRITE RANDOM LENGTH RECORDS (4-7777)                           T5X
*                                                                        T5X
   B5 = 4                                                                T5X
   WRITE , ABT 74                                                        T5X
   IF(P3.AND.20.NE.0)GOTO 46  *BYPASS WAIT *NOT BUSY*                    T5X
   B5 = 11                                                               T5X
   WAITNB, ABT 74                                                        T5X
46 IF(SB.AND.EOT.NE.0)GOTO 54   * -EOT- DETECTED                         T5X
   IF(SB.AND.ERROR.EQ.0) GOTO 47   *IF NO ERROR                          T5X
   B5 = 12                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/200, GOSUB 70                                                 T5X
47 IF(P9.EQ.0)GOTO 30              *LOOP IF REC MAX IS ZERO              T5X
   IF(B1.LT.P9)GOTO 30             *LOOP REC MAX TIMES                   T5X
   B1 = 0                          *ZERO REC COUNT                       T5X
   B0 = B0 + 1                     *INCR FILE COUNT                      T5X
*                                                                        T5X
*---------WRITE -EOF-                                                    T5X
*                                                                        T5X
   GOSUB 60                   *RELEASE-DELAY-RESERVE                     T5X
   B5 = 5                                                                T5X
   ENDFILE , ABT 74                                                      T5X
   IF(SB.AND.FILEMK.NE.0) GOTO 50   *IF FM/TM                            T5X
   B5 = 12                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/122, GOSUB 70                                                 T5X
50 IF(P8.EQ.0)GOTO 30         *INFINITE FILE COUNT                       T5X
   IF(B0.LT.P8)GOTO 30        *LOOP FILE MAX TIMES                       T5X
   B5 = 7                                                                T5X
   REL, ABT 74                                                           T5X
54 B6 = B6 + 1                *LOOP COUNT                                T5X
   IF(ES.AND.SL.EQ.0) GOTO 55         *IF NOT SCOPING                    T5X
   MSG 14 (BA,B6) TO DISPLAY          *POST SCOPING MSG                  T5X
   GOTO 21                            *RESTART                           T5X
55 IF(ES.AND.CM.NE.0)GOTO 21  *IF REPEAT MODULE/CONDITION                T5X
   IF(BA.EQ.0)GOTO 57         *NO ERRORS                                 T5X
56 MSG 15 (BA) TO DAYFILE     *REPORT ERRORS                             T5X
57 EXIT                       *NORMAL TERMINATION                        T5X
*                                                                        T5X
*---------RELEASE-DELAY-RESERVE SUBROUTINE                               T5X
*                                                                        T5X
60 IF(P5+P6.LT.20D) GOTO 61   *BYPASS REL ON SHORT DELAY                 T5X
   B5 = 7                                                                T5X
   REL, ABT 74                *RELEASE                                   T5X
61 B5 = P6                    *DELAY PARAM TO B5                         T5X
   IF(P5.EQ.0) GOTO 62        *USE FIXED DELAY FROM P6                   T5X
   B5 = RT.AND.P5             *USE RT CLOCK AND MASK                     T5X
62 DELAY B5 MSEC                                                         T5X
   B5 = 6                                                                T5X
   RES P1, ABT 74             *RESERVE                                   T5X
   RETURN                                                                T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 71  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   RETURN                     *RETURN                                    T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 75  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   GOTO 21                    *RESTART                                   T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(BA.LT.2)GOTO 21         *NOT SECOND TRY                            T5X
   GOTO 55                    *ABNORMAL TERMINATION                      T5X
   END 20                                                                T5X
COMPILE   - T5X56 -                                                      T5X
   MODULE T5X57,65X(40,41,50,51)LOCK   - RANDOM READ (FWD) -             T5X
*** T5X57 - RANDOM READ (FORWARD PORTION)                                T5X
*                                                                        T5X
**  T5X57 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         THE TAPE USED BY THIS MODULE MUST BE CREATED                   T5X
*         BY -T5X56-.                                                    T5X
*         A READ FORWARD IS INITIATED FOLLOWING WHICH THE                T5X
*         CURRENT RECORD (B1), CURRENT FILE (B0), AND -WT-               T5X
*         ARE COMPARED WITH THE ADDRESS CODING INFORMATION               T5X
*         CONTAINED IN THE RECORD READ.  THIS SEQUENCE                   T5X
*         CONTINUES UNTIL RECORD/FILE MAX OR -EOT- IS                    T5X
*         ENCOUNTERED. AT THIS TIME AN EXIT TO -T5X57A- IS               T5X
*         EXECUTED AND A REVERSE READ IS PERFORMED UNTIL                 T5X
*         LOAD POINT IS DETECTED.                                        T5X
*                                                                        T5X
*         T5X57 (READ FORWARD) SUPPORTS REPEAT CONDITION BY              T5X
*         REWINDING THE TAPE AND CONTINUING THE READ FORWARD.            T5X
*         T5X57A (READ REVERSE) DOES NOT SUPPORT REPEAT CONDITION        T5X
*         DUE TO THE INABILITY TO CORRECTLY POSITION TAPE.               T5X
*                                                                        T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. SELECT MARGINS.                                             T5X
*         2. RESERVE.                                                    T5X
*         3. REWIND.                                                     T5X
*         4. RELEASE, DELAY AND RESERVE.                                 T5X
*         5. READ FORWARD.                                               T5X
*         6. WAIT NOT BUSY IF SELECTED.                                  T5X
*         7. GO TO STEP 19 IF *EOT* STATUS.                              T5X
*         8. REPORT EC 207 IF *EOF* STATUS DETECTED AND NOT              T5X
*            EXPECTED (IF REQUESTED TO DO SO BY THE USER).               T5X
*         9. REPORT EC 203 IF STATUS ERROR.                              T5X
*        10. REPORT EC 211 IF FILE COUNT ERROR ( WORD 1 OF IB IN ERROR)  T5X
*        11. REPORT EC 212 IF RECORD ERROR     ( WORD 2 OF IB IN ERROR)  T5X
*        12. REPORT EC 213 IF WT IN ERROR      ( WORD 3 OF IB IN ERROR)  T5X
*        13. GO TO STEP 17 IF DATA COMPARE IS NOT SELECTED.              T5X
*        14. GENERATE EXPECTED DATA PATTERN INTO OB.                     T5X
*        15. ADD EXPECTED ADDRESS CODING TO OB.                          T5X
*        16. COMPARE IB TO OB. REPORT EC 105 IF ERROR.                   T5X
*        17. REPEAT STEPS 4-16 FOR *RECORD MAX* RECORDS.                 T5X
*        18. REPEAT STEPS 4-17 FOR *FILE MAX* FILES.                     T5X
*        19. EXIT TO T5X57A TO PERFORM THE REVERSE READ IF NO            T5X
*            COMMAND ABORTS OCCURRED.  OTHERWISE, EXIT TO SKIP THE       T5X
*            REVERSE READ.                                               T5X
*                                                                        T5X
*                                                                        T5X
*        20. RELEASE, DELAY AND RESERVE.                                 T5X
*        21. READ REVERSE.                                               T5X
*        22. WAIT NOT BUSY IF SELECTED.                                  T5X
*        23. GO TO STEP 28 IF LOADPOINT STATUS.                          T5X
*        24. REPORT EC 207 IF *EOF* STATUS DETECTED AND NOT              T5X
*            EXPECTED (IF REQUESTED TO DO SO BY THE USER).               T5X
*        25. REPORT EC 202 IF STATUS ERROR.                              T5X
*        26. REPEAT STEPS 20-25 FOR *RECORD MAX* RECORDS.                T5X
*        27. REPEAT STEPS 20-26 UNTIL LOAD POINT IS DETECTED.            T5X
*        28. EXIT.                                                       T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS                                  T5X
*                                                                        T5X
*         2. T5X57 - ERROR CODE = *OCT  AT LINE (EA) = *OCT              T5X
*         3. T5X57 - ABORT ON .READ FWD. COMMAND -                       T5X
*         4. T5X57 - ABORT ON .RES. COMMAND -                            T5X
*         5. T5X57 - ABORT ON .REL. COMMAND -                            T5X
*         6. T5X57 - ABORT ON .REWIND. COMMAND -                         T5X
*         7. T5X57 - ABORT ON .WAITNB. COMMAND -                         T5X
*         8. T5X57 - ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*         9. T5X57A - ERROR CODE = *OCT  AT LINE (EA) = *OCT             T5X
*        10. T5X57A - ABORT ON .READ REV. COMMAND -                      T5X
*        11. T5X57A - ABORT ON .RES. COMMAND -                           T5X
*        12. T5X57A - ABORT ON .REL. COMMMAND -                          T5X
*        13. T5X57A - ABORT ON .REWIND. COMMAND -                        T5X
*        14. T5X57A - ABORT ON .WAITNB. COMMAND -                        T5X
*        15. T5X57A - ABORT ON .STATUS. COMMAND -                        T5X
*                                                                        T5X
*                                                                        T5X
*                                                                        T5X
*        16. -EC 105- DATA COMPARE ERROR.  THE FIRST 400B WORDS (OR THE  T5X
*            WORD LENGTH IN PARAM -P2-), THAT WERE TRANSFERRED           T5X
*            DO NOT COMPARE ALTHOUGH NO SUBSYSTEM ERRORS WERE            T5X
*            REPORTED.                                                   T5X
*                                                                        T5X
*        17. -EC 202- A STATUS ERROR OCCURRED ON A READ REVERSE.         T5X
*                                                                        T5X
*        18. -EC 203- THE ALERT BIT IN GENERAL STATUS WAS SET DURING A   T5X
*            READ FORWARD OPERATION.                                     T5X
*                                                                        T5X
*        19. -EC 207- A FM/TM WAS DETECTED DURING A READ. YO             T5X
*            ARE TO NOTE THAT THIS ERROR IS DEPENDENT ON THE             T5X
*            CONFIRMED PRESENCE OF A FM/TM. NOTE THAT IF *P4* =          T5X
*            4XXX IS SET, THIS ERROR WILL BE REPORTED.                   T5X
*                                                                        T5X
*        20. -EC 211- INCORRECT FILE DETECTED DURING A RANDOM READ.      T5X
*            (SEE NOTE IN -T5X98B- DOCUMENTATION)                        T5X
*                                                                        T5X
*        21. -EC 212- INCORRECT RECORD HAS BEEN DETECTED DURING A        T5X
*            RANDOM READ. (SEE NOTE IN -T5X98B-)                         T5X
*                                                                        T5X
*        22. -EC 213- INCORRECT RECORD LENGTH HAS BEEN DETECTED          T5X
*            DURING A REVERSE READ.                                      T5X
*                                                                        T5X
*                                                                        T5X
*** T5X57 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B0 = CURRENT FILE COUNT                                        T5X
*         B1 = CURRENT RECORD COUNT                                      T5X
*         B2 = RANDOM STARTER FOR PATTERN GERNERATOR                     T5X
*            = PATTERNS FOR STORING                                      T5X
*         B3 = FM FLAG                                                   T5X
*         B4 = BUFFER LIMIT FOR DUP (7TK OR 9TK)                         T5X
*         B5 = TRACK SIZE (6 OR 8)                                       T5X
*            = MSG NUMBER(SET BEFORE ENTRY) FOR MESSAGE PROCESSOR        T5X
*            = DELAY VALUE FOR REL/RES                                   T5X
*            = MARGINS                                                   T5X
*            = WORDS TRANSMITTED                                         T5X
*            = WORDS TO COMPARE                                          T5X
*         B6 = LOOP COUNT                                                T5X
*         B7 = ABORT FLAG                                                T5X
*         B8 = COMPARE CHECK FLAG 
*         BA = ERROR COUNT                                               T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
*                                                                        T5X
 1 FORMAT T5X57 - RANDOM READ (FORWARD) -                                T5X
 2 FORMAT T5X57 - ERROR CODE = *OCT  AT LINE (EA) = *OCT                 T5X
 4 FORMAT T5X57 - ABORT ON .READ FWD. COMMAND -                          T5X
 6 FORMAT T5X57 - ABORT ON .RES. COMMAND -                               T5X
 7 FORMAT T5X57 - ABORT ON .REL. COMMAND -                               T5X
10 FORMAT T5X57 - ABORT ON .REWIND. COMMAND -                            T5X
11 FORMAT T5X57 - ABORT ON .WAITNB. COMMAND -                            T5X
14 FORMAT T5X57 - ERRS=*DEC LOOPS=*DEC                                   T5X
15 FORMAT T5X57 ERROR(S) IN MODULE = *DEC                                T5X
*                                                                        T5X
   EQUATE ERROR TO 6410, ODDCT TO 40                                     T5X
   EQUATE ALERT TO 2000, EOT TO 40, FILEMK TO 10                         T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY,PRINT     *RUNNING MESSAGE.                          T5X
   B5 = P3.RS.6.AND.7         *MARGIN BITS IN P3                         T5X
   MARGINS B5                 *SELECT MARGINS                            T5X
21 B5 = 6                                                                T5X
   RES P1, ABT 74             *RESERVE                                   T5X
   B7 = 0                     *CLEAR ABORT FLAG                          T5X
*                                                                        T5X
*---------REWIND                                                         T5X
*                                                                        T5X
   B5 = 10                                                               T5X
   REWIND,ABT 74              *REWIND                                    T5X
   WC = 500                   *SET WC REG                                T5X
   B0 = 0                     *CLEAR FILE COUNT                          T5X
   B1 = 0                     *CLEAR RECORD COUNT                        T5X
   B3 = 0                     *CLEAR FM/TM FLAG                          T5X
30 GOSUB 60                   *RELEASE-RESERVE                           T5X
   B1 = B1 + 1                *INCREMENT RECORD COUNT                    T5X
*                                                                        T5X
*---------READ FORWARD                                                   T5X
*                                                                        T5X
   B5 = 4                                                                T5X
   READ FWD , ABT 74                                                     T5X
   IF(P3.AND.20.NE.0)GOTO 31  *BYPASS WAIT *NOT BUSY*                    T5X
   B5= 11                                                                T5X
   WAITNB, ABT 74                                                        T5X
*                                                                        T5X
*---------TEST STATUS                                                    T5X
*                                                                        T5X
31 IF(SB.AND.EOT.NE.0) GOTO 55        *END OF TAPE                       T5X
   IF(SB.AND.FILEMK.EQ.0) GOTO 32     *NO FM/TM                          T5X
   IF(B3.EQ.1) GOTO 53                   *FM/TM EXPECTED                 T5X
   IF(P4.AND.4000.NE.0) ERROR 2/207, GOTO 70  *REPORT 207                T5X
32 IF(SB.AND.ERROR.NE.0)ERROR 2/203,GOTO 70  *IF ERROR                   T5X
33 IF(IB(1).NE.B0) ERROR 2/211, GOTO 70  *FILE ERROR                     T5X
   IF(IB(2).NE.B1) ERROR 2/212, GOTO 70  *RECORD ERROR                   T5X
34 B5 = WT                                                               T5X
   IF(P1.AND.10.EQ.0) GOTO 35            *NOT 3N+2 MODE                  T5X
   IF(SB.AND.ODDCT.EQ.0) GOTO 35      *NO CHAR. FILL                     T5X
   B5 = WT - 1                                                           T5X
35 IF(IB(3).NE.B5) ERROR 2/213, GOTO 70  *WT ERROR                       T5X
* 
*---------COMPARE 
* 
36 IF(P3.AND.2.EQ.0) GOTO 53             *NO DATA COMPARE                T5X
   IF(P4.AND.3000.NE.2000) GOTO 37       *NOT RANDOM                     T5X
   RANDOM TO OB FOR 500, START IB                                        T5X
   GOTO 50                                                               T5X
37 B5 = 10                                                               T5X
   IF(DC.AND.10.NE.0) GOTO 40            *IF 9 TRACK UNIT                T5X
   B5 = 6                                                                T5X
40 B2 = P4                                                               T5X
   IF(P4.AND.3000.EQ.1000)B2=P4.XOR.7777    *ALT PATRN                   T5X000G
   DUP B5 BITS OF P4/B2 TO OB FOR 500                                    T5X000G
50 B5 = 400                                                              T5X
   OB(1) = B0                                                            T5X
   OB(2) = B1                                                            T5X
   OB(3) = IB(3)                                                         T5X
   IF(WT.GT.B5) GOTO 51                                                  T5X
   B5 = WT - 1                                                           T5X
51 COMPARE IB TO OB FOR B5, ABT 67                                       T5X
53 IF(B3.EQ.0) GOTO 54        *FM/TM NOT READ                            T5X
   B3 = 0                     *CLEAR FM/TM FLAG                          T5X
   B1 = B1 - 1                *DECREMENT RECORD CNT                      T5X
54 IF(P9.EQ.0)GOTO 30         *LOOP IF RECORD MAX IS ZERO                T5X
   IF(B1.LT.P9)GOTO 30        *LOOP RECORD MAX TIMES                     T5X
   B3 = 1                     *FM/TM FLAG                                T5X
   B1 = 0                     *ZERO RECORD COUNT                         T5X
   B0 = B0 + 1                *INCREMENT FILE COUNT                      T5X
   IF(P8.EQ.0)GOTO 30         *FILE COUNT ZERO                           T5X
   IF(B0.LT.P8)GOTO 30        *LOOP FILEMAX TIMES                        T5X
   B1 = P9                   *SET RECORD COUNT FOR REV READ              T5X
   B0 = B0 - 1               *SET FILE COUNT FOR REV READ                T5X
55 B6 = B6 + 1                                                           T5X
   IF(ES.AND.SL.EQ.0) GOTO 56  *NOT SCOPING                              T5X
   MSG 14(BA,B6) TO DISPLAY                                              T5X
   GOTO 21                                                               T5X
56 IF(ES.AND.CM.NE.0) GOTO 21  *IF REPEAT COND. OR MODULE                T5X
   IF(BA.EQ.0) GOTO 57        *NO ERRORS                                 T5X
   MSG 15 (BA) TO DAYFILE                                                T5X
   IF(B7.EQ.0) GOTO 57        *IF NO ABORTS(TAPE POSITIONED)             T5X
   EXIT                       *SKIP REVERSE READ                         T5X
57 EXIT TO 57A                *EXIT TO READ (REV)                        T5X
*                                                                        T5X
*---------RELEASE-DELAY-RESERVE                                          T5X
*                                                                        T5X
60 B5 = 7                                                                T5X
   REL, ABT 74                                                           T5X
61 B5 = P6                    *DELAY PARAM TO B5                         T5X
   IF(P5.EQ.0) GOTO 62        *USE FIXED DELAY FROM P6                   T5X
   B5 = RT.AND.P5             *USE RT CLOCK AND MASK                     T5X
62 DELAY B5 MSEC                                                         T5X
   B5 = 6                                                                T5X
   RES P1, ABT 74             *RESERVE                                   T5X
   RETURN                                                                T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
67 ERROR 2/105                *DATA COMPARE ERROR                        T5X
   B8 = 1                     *SET COMPARE CHECK FLAG 
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 71  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   GOTO 53                    *CONTINUE TESTING                          T5X
71 MSG EM(EC,EA) TO LINE 0    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(B8.EQ.0) GOTO 36        *COMPARE
   B8 = 0 
   GOTO 53                    *CONTINUE TESTING                          T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 75  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   GOTO 21                    *RESTART                                   T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   B7 = 1                     *SET ABORT FLAG                            T5X
   GOTO 55                    *ABNORMAL TERMINATION                      T5X
   END 20                                                                T5X
COMPILE   - T5X57 -                                                      T5X
   MODULE T5X57A,65X(40,41,50,51)LOCK  - RANDOM READ (REV) -             T5X
 1 FORMAT T5X57A - RANDOM READ (REVERSE)                                 T5X
 2 FORMAT T5X57A - ERROR CODE = *OCT  AT LINE (EA) = *OCT                T5X
 4 FORMAT T5X57A - ABORT ON .READ REV. COMMAND -                         T5X
 5 FORMAT T5X57A - ABORT ON .RES. COMMAND -                              T5X
 6 FORMAT T5X57A - ABORT ON .REL. COMMAND -                              T5X
 7 FORMAT T5X57A - ABORT ON .REWIND. COMMAND -                           T5X
10 FORMAT T5X57A - ABORT ON .WAITNB. COMMAND -                           T5X
11 FORMAT T5X57A - ABORT ON .STATUS. COMMAND -                           T5X
14 FORMAT T5X57A - ERRS=*DEC LOOPS=*DEC                                  T5X
15 FORMAT T5X57A ERROR(S) IN MODULE = *DEC                               T5X
*                                                                        T5X
   EQUATE ALERT TO 2000, LOADPT TO 20, FILEMK TO 10                      T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY,PRINT     *RUNNING MESSAGE                           T5X
22 IF(P5+P6.LT.20D) GOTO 23   *BYPASS REL ON SHORT DELAY                 T5X
   B5 = 6                                                                T5X
   REL, ABT 74                *RELEASE                                   T5X
23 B5 = P6                    *DELAY PARAM TO B5                         T5X
   IF(P5.EQ.0) GOTO 24        *USE FIXED DELAY FROM P6                   T5X
   B5 = RT.AND.P5             *USE RT CLOCK AND MASK                     T5X
24 DELAY B5 MSEC                                                         T5X
   B5 = 5                                                                T5X
   RES P1, ABT 74             *RESERVE                                   T5X
*                                                                        T5X
*---------READ REVERSE                                                   T5X
*                                                                        T5X
   B5 = 4                                                                T5X
   READ REV , ABT 74                                                     T5X
   IF(P3.AND.20.NE.0)GOTO 40  *BYPASS WAIT *NOT BUSY*                    T5X
   B5 = 10                                                               T5X
   WAITNB, ABT 74                                                        T5X
40 IF(SB.AND.LOADPT.NE.0)GOTO 55   *LOAD POINT DETECTED                  T5X
   IF(SB.AND.FILEMK.EQ.0)GOTO 44   *NO FILE MARK DETECTED                T5X
   IF(B3.EQ.1)GOTO 50                 *DO NOT EXPECT FM/TM               T5X
   IF(P4.AND.4000.EQ.0)GOTO 50        *DO NOT REPORT FM ERRS             T5X
   B5 = 11                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/207,GOSUB 70               *EOF NOT EXPECTED                  T5X
   GOTO 50                                                               T5X
44 B1 = B1 - 1               *DECREMENT RECORD COUNT                     T5X
   IF(SB.AND.ALERT.EQ.0) GOTO 50   *NO ALERT DETECTED                    T5X
   B5 = 11                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/202 , GOSUB 70                                                T5X
   GOTO 50                                                               T5X
50 IF(B3.EQ.0)GOTO 51                 *NOT A FM/TM READ                  T5X
   B3 = 0                                                                T5X
51 B6 = B6 + 1                        *LOOP COUNT                        T5X
   IF(B1.NE.0) GOTO 22                *MORE RECORDS IN FILE              T5X
   B3 = 1                             *FM/TM FLAG                        T5X
   B1 = P9                                                               T5X
   B0 = B0 - 1               *DECREMENT FILE COUNT                       T5X
   GOTO 22                   *CONTINUE THE REVERSE READ                  T5X
55 IF(BA.EQ.0)GOTO 57         *NO ERRORS                                 T5X
56 MSG 15 (BA) TO DAYFILE     *REPORT ERRORS                             T5X
57 EXIT                       *NORMAL TERMINATION                        T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 71  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   RETURN                     *RETURN                                    T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 75  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   GOTO 22                    *RESTART                                   T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(BA.LT.2)GOTO 22         *NOT SECOND TRY                            T5X
   GOTO 56                    *ABNORMAL TERMINATION                      T5X
   END 20                                                                T5X
COMPILE    - T5X57A -                                                    T5X
   MODULE T5X59,65X(40,41,50,51)LOCK   - POSITION TEST -                 T5X
*** T5X59 - POSITION TEST                                                T5X
*                                                                        T5X
**  T5X59 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         T5X59 VERIFIES THE ABILITY OF THE TAPE SUBSYSTEM TO            T5X
*         MAINTAIN TAPE POSITION WITHOUT DROPPING OR PICKING             T5X
*         RECORDS DURING TYPICAL WRITE RECOVERY SEQUENCES USED           T5X
*         BY OPERATING SYSTEM DRIVERS.  A SOMEWHAT COMPLEX SEQUENCE      T5X
*         IS USED, SO TO PROMOTE UNDERSTANDING, THE DETAIL HAS           T5X
*         BEEN REMOVED FROM THE SEQUENCE BELOW.                          T5X
*         THE TOTAL SEQUENCE IS RE-STARTED IF AN ERROR IS DETECTED       T5X
*         DURING ANY OPERATION EXCEPT FOR THE WRITING OF RECORDS         T5X
*         5 OR 6 (ERRORS ARE ALLOWED ON THESE RECORDS TO SIMULATE        T5X
*         ACTUAL RECOVERY CONDITIONS).                                   T5X
*         A TOTAL OF 6 RECORDS AND 1 END-OF-FILE MAKE UP THE             T5X
*         STRUCTURE OF THE TEST.  EACH RECORD IS UNIQUELY IDENTIFIED     T5X
*         IN THAT RECORD 1 DATA IS 1111, RECORD 2 DATA IS 2222, ETC.     T5X
*         ONE DATA WORD IS SAVED WHEN EACH RECORD IS WRITTEN AND IS      T5X
*         COMPARED WITH THE 1ST WORD INPUT WHEN EACH RECORD IS           T5X
*         READ (EXCEPT THE END-OF-FILE).                                 T5X
*                                                                        T5X
*         T5X59 RUNS TO EOT OR FILE MAX.                                 T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. REWIND.                                                     T5X
*         2. WRITE RECORD 1.                                             T5X
*         3. WRITE RECORD 2.                                             T5X
*         4. WRITE FM.                                                   T5X
*         5. WRITE RECORD 3.                                             T5X
*         6. WRITE RECORD 4.                                             T5X
*         7. CONTROLLED BKSP OVER RECORD 4.                              T5X
*         8. BKSP OVER RECORDS 3, FM, 2 AND 1.                           T5X
*         9, READ AND VERIFY RECORDS 1,2,FM AND 3.                       T5X
*        10. ERASE RECORD 4 (RECORD 4 NO LONGER EXISTS).                 T5X
*        11. WRITE RECORD 5.                                             T5X
*        12. CONTROLLED BKSP OVER RECORD 5.                              T5X
*        13. BKSP OVER ERASED AREA AND RECORDS 3,FM,2 AND 1.             T5X
*        14. READ AND VERIFY RECORDS 1,2,FM AND 3.                       T5X
*        15. ERASE THE ERASED AREA (WHERE RECORD 4 WAS).                 T5X
*        16. ERASE RECORD 5 (RECORD 5 NO LONGER EXISTS).                 T5X
*        17. WRITE RECORD 6.                                             T5X
*        18. CONTROLLED BKSP OVER RECORD 6.                              T5X
*        19. BKSP OVER ERASED AREAS AND RECORDS 3,FM,2 AND 1.            T5X
*        20. READ AND VERIFY RECORDS 1,2,FM, AND 3.                      T5X
*        21. READ THE ERASED AREAS AND RECORD 6.                         T5X
*        22. VERIFY RECORD 6 STATUS AND 1ST DATA WORD.                   T5X
*        23. REPEAT STEPS 2-22 FOR *FILE MAX* TIMES.                     T5X
*        24. REPEAT MODULE OR EXIT.                                      T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERROSRS.                                T5X
*         2. T5X59 - ERROR CODE = *OCT  AT LINE (EA) = *OCT              T5X
*                                                                        T5X
*         3. EC 122- NO FM/TM STATUS IN GENERAL STATUS AT END OF         T5X
*            OPERATION AFTER A WRITE FM/TM.                              T5X
*                                                                        T5X
*         4. EC 200 - AN UNEXPECTED BIT APPEARED IN GENERAL              T5X
*            STATUS DURING A WRITE OPERATION.                            T5X
*            NOTE THAT GENERAL STATUS WAS MASKED WITH 6410B.             T5X
*                                                                        T5X
*         5. EC 240 -AN ABNORMAL STATUS WAS DETECTED DURING A            T5X
*            CONTROLLED BACKSPACE IN THE POSTION SUBTEST.                T5X
*                                                                        T5X
*         6. EC 241 - AN ABNORMAL STATUS WAS DETECTED DURING A           T5X
*            BACKSPACE IN THE POSITION SUBTEST.                          T5X
*                                                                        T5X
*         7. EC 242 - AN ABNORMAL STATUS WAS DETECTED DURING A           T5X
*            READ FORWARD IN THE POSITION TEST.                          T5X
*                                                                        T5X
*         8. EC 243 - A COMPARE ERROR HAS OCCURRED WHEN THE WRITE        T5X
*            AND READ DATA(1ST WORD) WERE COMPARED FOR RECORDS           T5X
*            1, 2 OR 3 IN THE POSITION TEST.                             T5X
*                                                                        T5X
*         9. EC 244 - AN ABNORMAL STATUS WAS DETECTED DURING THE         T5X
*            READ FORWARD OF RECORD 6 IN THE POSITION TEST.              T5X
*                                                                        T5X
*        10. EC 245 - THE 1ST WORD WRITTEN AND 1ST WORD READ             T5X
*            FOR RECORD 6 HAVE FAILED TO COMPARE IN THE                  T5X
*            POSITION TEST.  B6=EXPECTED  IB(0)=ACTUAL                   T5X
*                                                                        T5X
*        11. EC 246 - AN ALERT STATUS OCCURRED AFTER AN ERASE.           T5X
*                                                                        T5X
*** T5X59 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B0 = CURRENT ITERATION(FILE) COUNT                             T5X
*         B1 = CURRENT RECORD COUNT                                      T5X
*         B2 = CURRENT RECORD CONTENTS                                   T5X
*         B5 = FILE MAX                                                  T5X
*         B6 = EXPECTED DATA                                             T5X
*         BA = ERROR COUNT                                               T5X
*                                                                        T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
*                                                                        T5X
 1 FORMAT T5X59 - POSITION TEST                                          T5X
 2 FORMAT T5X59 - ERROR CODE = *OCT  AT LINE (EA) = *OCT                 T5X
 3 FORMAT T5X59 ERROR(S) IN MODULE = *DEC                                T5X
*                                                                        T5X
   EQUATE ERROR TO 6410, FILEMK TO 10, EOT TO 40                         T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY,PRINT     *RUNNING MESSAGE                           T5X
   B5 = 25D                   *FILE MAX FOR DIAG. MODE                   T5X
   IF(P3.AND.40.EQ.0)GOTO 21  *NOT MAINTENANCE MODE                      T5X
   B5 = P8                    *FILE MAX FOR MAINT. MODE                  T5X
21 RES P1, ABT 74             *RESERVE                                   T5X
   REWIND, ABT 74                                                        T5X
22 B2 = 0             *INITIALIZE DATA REGISTER                          T5X
   B1 = 0             *CLEAR RECORD COUNTER                              T5X
   GOSUB 40           *WRITE RECORD 1                                    T5X
   GOSUB 40           *WRITE RECORD 2                                    T5X
   GOSUB 60           *WRITE FM/TM                                       T5X
   GOSUB 40           *WRITE RECORD 3                                    T5X
   GOSUB 40           *WRITE RECORD 4                                    T5X
   GOSUB 43           *CB, BKSP ALL RECORDS, READ 1,2,TM,3               T5X
   GOSUB 54           *ERASE RECORD 4                                    T5X
   GOSUB 40           *WRITE RECORD 5                                    T5X
   GOSUB 43           *CB, BKSP ALL RECORDS, READ 1,2,TM,3               T5X
   GOSUB 54           *ERASE ERASED AREA                                 T5X
   GOSUB 54           *ERASE RECORD 5                                    T5X
   GOSUB 40           *WRITE RECORD 6                                    T5X
   GOSUB 43           *CB, BKSP ALL RECORDS, READ 1,2,TM,3               T5X
   RES P1, ABT 74                                                        T5X
   READ, ABT 74       *READ THE ERASED AREA AND RECORD 6                 T5X
   B1 = B1 + 1        *BUMP RECORD COUNT                                 T5X
   STATUS, ABT 74                                                        T5X
   IF(SB.AND.ERROR.EQ.0) GOTO 23                                         T5X
   ERROR 2/244, GOSUB 70                                                 T5X
   GOTO 22                     *RESTART                                  T5X
23 B6 = IB(B1+400)             *EXPECTED DATA                            T5X
   IF(IB.NE.B6) ERROR 2/245, GOSUB 70                                    T5X
   IF(SB.AND.EOT.NE.0) GOTO 24      *EXIT IF EOT                         T5X
   IF(B5.EQ.0) GOTO 22         *IF INFINITE FILE MAX.                    T5X
   GOTO 22 WHILE (B0+1.NE.B5)  *DO FILE MAX TIMES                        T5X
24 IF(BA.NE.0)MSG 3(BA)TO DAYFILE    *IF ERRORS                          T5X000G
25 EXIT                                                                  T5X
*                                                                        T5X
*-------------WRITE A RECORD SUBROUTINE                                  T5X
*                                                                        T5X
40 B2 = B2 + 1111             *DATA TO WRITE IN THIS RECORD              T5X
   DUP B2 TO OB FOR 500                                                  T5X
   RES P1, ABT 74                                                        T5X
   WC = P2                    *SET WORD COUNT                            T5X
   IF(WC.LT.2)WC=2                   *IF ILLEGAL WORD COUNT              T5X000G
41 WRITE, ABT 74                                                         T5X
   B1 = B1 + 1                *BUMP RECORD COUNT                         T5X
   IF(SB.AND.ERROR.EQ.0) GOTO 42    *IF NO ERROR                         T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/200, GOSUB 70                                                 T5X
   IF(B1.LE.4)ENDSUB, GOTO 22        *RESTART                            T5X000G
42 IB(B1+400) = B2            *SAVE WRITE DATA                           T5X
   RETURN                                                                T5X
*                                                                        T5X
*-------------CONTROL BACKSPACE AND BACKSPACE ALL RECORDS                T5X
*             THEN READ RECORDS 1,2, TAPE MARK, AND 3.                   T5X
*                                                                        T5X
43 RES P1, ABT 74                                                        T5X
   BKSP C, ABT 74                                                        T5X
   B1 = B1 - 1                *DECREMENT RECORD NUMBER                   T5X
   IF(DC.NE.40) GOTO 45            *IF NOT 607 UNIT                      T5X
44 IF(SB.AND.ERROR.EQ.0) GOTO 45   *IF NO ERROR                          T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/240, GOTO 64                                                  T5X
45 RES P1, ABT 74                                                        T5X
   BKSP, ABT 74                                                          T5X
   B1 = B1 - 1                *DECREMENT RECORD NUMBER                   T5X
   IF(SB.AND.ERROR.EQ.0) GOTO 47                                         T5X
   STATUS, ABT 74                                                        T5X
   IF(B1.NE.2) GOTO 46        *IF NOT TIME FOR FM/TM                     T5X
   IF(SB.AND.FILEMK.NE.0) GOTO 47  *OK IF FM/TM                          T5X
46 ERROR 2/241, GOTO 64                                                  T5X
47 IF(B1.NE.0) GOTO 45        *BKSP ALL RECORDS                          T5X
*                                                                        T5X
*-------------READ SUBROUTINE                                            T5X
*                                                                        T5X
50 RES P1, ABT 74                                                        T5X
   WC = 400                   *SET WC TO PROTECT IB(400-477)             T5X
   READ FWD, ABT 74                                                      T5X
   B1 = B1 + 1                *BUMP RECORD COUNT                         T5X
   IF(B1.NE.3) GOTO 52        *IF NOT TIME FOR FM/TM                     T5X
   IF(SB.AND.FILEMK.NE.0) GOTO 53  *OK IF FM/TM                          T5X
51 STATUS, ABT 74                                                        T5X
   ERROR 2/242, GOTO 64       *REPORT ERROR AND RESTART                  T5X
52 IF(SB.AND.ERROR.NE.0) GOTO 51                                         T5X
   IF(IB.NE.IB(B1+400)) ERROR 2/243,GOSUB 70                             T5X
53 IF(B1.NE.4) GOTO 50        *READ 1,2,TM,3                             T5X
   RETURN                                                                T5X
*                                                                        T5X
*-------------ERASE SUBROUTINE                                           T5X
*                                                                        T5X
54 RES P1, ABT 74                                                        T5X
   ERASE, ABT 74                                                         T5X
   IF(SB.AND.ERROR.EQ.0)RETURN       *IF NO ERRORS                       T5X000G
   STATUS, ABT 74                                                        T5X
   ERROR 2/246, GOTO 64                                                  T5X
*                                                                        T5X
*-------------ENDFILE SUBROUTINE                                         T5X
*                                                                        T5X
60 RES P1, ABT 74                                                        T5X
   ENDFILE, ABT 74                                                       T5X
   B1 = B1 + 1                *BUMP RECORD COUNT                         T5X
   IF(SB.AND.FILEMK.NE.0)RETURN     *IF FM/TM                            T5X000G
   STATUS, ABT 74                                                        T5X
   ERROR 2/122, GOTO 64                                                  T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
64 GOSUB 70                                                              T5X
   ENDSUB, GOTO 22            *RESTART                                   T5X
*                                                                        T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
71 MSG EM(EC,EA) TO LINE 0    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *CONTINUE TESTING                          T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   GOTO 24                    *ABNORMAL TERMINATION                      T5X
   END 20                                                                T5X
COMPILE    - T5X59 -                                                     T5X
   MODULE T5X60,65X(40,41,50,51)LOCK   - CREEP -                         T5X
*** T5X60 - CREEP                                                        T5X
*                                                                        T5X
**  T5X60 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         T5X60 PLOTS THE AMOUNT OF FORWARD TAPE MOVEMENT                T5X
*         THAT OCCURS WHEN A RECORD IS BACKSPACED AND                    T5X
*         THEN RE-WRITTEN.  NORMAL CREEP IS CONSIDERED                   T5X
*         TO BE IN THE RANGE OF .1 INCHES TO .2 INCHES                   T5X
*         FORWARD PER ITTERATION.  CREEP IN THE REVERSE                  T5X
*         DIRECTION IS UNACCEPTABLE.                                     T5X
*                                                                        T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. BUILD THE PLOT OUTLINE.                                     T5X
*         2. RESERVE.                                                    T5X
*         3. REWIND.                                                     T5X
*         4. ERASE SIX INCHES OF TAPE.                                   T5X
*         5. POST EC 137  IF STILL AT B.O.T.                             T5X
*         6. WRITE RECORD 1. REPORT EC 200 IF STATUS ERROR.              T5X
*         7. WRITE RECORD 2. REPORT EC 200 IF STATUS ERROR.              T5X
*         8. POST EC 123  IF E.O.T.                                      T5X
*         9. BACKSPACE RECORD 2. REPORT EC 253 IF STATUS ERROR.          T5X
*        10. BACKSPACE RECORD 1. REPORT EC 253 IF STATUS ERROR.          T5X
*        11. MEASURE THE FIRST GAP.                                      T5X
*        12. POST EC 123  IF E.O.T.                                      T5X
*        13. POST EC 127  IF INCORRECT RECORD LENGTH.                    T5X
*        14. BACKSPACE RECORD 2. REPORT EC 253 IF STATUS ERROR.          T5X
*        15. RE-WRITE RECORD 2. REPORT EC 200 IF STATUS ERROR.           T5X
*        16. POST EC 123  IF E.O.T.                                      T5X
*        17. BACKSPACE RECORD 2. REPORT EC 253 IF STATUS ERROR.          T5X
*        18. BACKSPACE RECORD 1. REPORT EC 253 IF STATUS ERROR.          T5X
*        19. MEASURE SECOND GAP.                                         T5X
*        20. POST EC 123  IF E.O.T.                                      T5X
*        21. POST EC 127  IF BAD INCORRECT RECORD LENGTH.                T5X
*        22. BACKSPACE RECORD 2. REPORT EC 253 IF STATUS ERROR.          T5X
*        23. BACKSPACE RECORD 1. REPORT EC 253 IF STATUS ERROR.          T5X
*        24. COMPUTE AND PLOT CREEP VALUE.                               T5X
*        25. DO STEPS 6 THROUGH 24 FIFTY TIMES.                          T5X
*        26. IF REPEAT GO TO STEP 2.                                     T5X
*        27. EXIT.                                                       T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS.                                 T5X
*                                                                        T5X
*         2. T5X60 - ABORT ON .RES. COMMAND                              T5X
*         3. T5X60 - ABORT ON .WRITE. COMMAND                            T5X
*         4. T5X60 - ABORT ON .BKSP. COMMAND                             T5X
*         5. T5X60 - ABORT ON .WAITNB. COMMAND                           T5X
*         6. T5X60 - ABORT ON .TIME GAPS. COMMAND                        T5X
*         7. T5X60 - ABORT ON .REWIND. COMMAND                           T5X
*         8. T5X60 - ABORT ON .STATUS. COMMAND                           T5X
*         9. T5X60 - ABORT ON .ERASE. COMMAND                            T5X
*                                                                        T5X
*        10. T5X60 - EC 123 - TAPE TOO SHORT                             T5X
*        11. T5X60 - EC 127 - RECORD READ WAS WRONG LENGTH               T5X
*        12. T5X60 - EC 134 - CREEP IS OUT OF SPECIFICATION              T5X
*        13. T5X60 - EC 137 - STILL AT B.O.T. AFTER AN ERASE             T5X
*                                                                        T5X
*        14. EC 200 - AN UNEXPECTED BIT APPEARED IN GENERAL              T5X
*            STATUS DURING A WRITE OPERATION.                            T5X
*            NOTE THAT GENERAL STATUS WAS MASKED WITH 6410B.             T5X
*                                                                        T5X
*        15. EC 253 - A STATUS ERROR OCCURRED ON A BACKSPACE.            T5X
*                                                                        T5X
*** T5X60 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B2 = FIRST GAP SIZE                                            T5X
*         B3 = SECOND GAP SIZE                                           T5X
*         B4 = ERROR FLAG                                                T5X
*         B5 = CREEP VALUE FOR PLOT GRID X AXIS                          T5X
*              MESSAGE INDEX FOR COMMAND ABORT                           T5X
*         B6 = LINE NUMBER INDEX FOR MESSAGE COMMAND                     T5X
*              COLUMN NUMBER INDEX FOR PLOT COMMAND                      T5X
*         BA = ERROR COUNTER                                             T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*                                                                        T5X
*                                                                        T5X
 1 FORMAT T5X60 - CREEP -                                                T5X
 2 FORMAT T5X60 - ERROR CODE =*OCT AT LINE (EA) = *OCT                   T5X
 3 FORMAT  OVER                                                          T5X
 4 FORMAT +*DEC                                                          T5X
 5 FORMAT   NEG                                                          T5X
 6 FORMAT T5X60 - EC 134 - CREEP IS OUT OF SPECIFICATION                 T5X
 7 FORMAT              CREEP IN HUNDREDTHS OF INCHES                     T5X
10 FORMAT T5X60 - ABORT ON .RES. COMMAND -                               T5X
11 FORMAT T5X60 ERROR(S) IN MODULE = *DEC                                T5X
12 FORMAT T5X60 - ABORT ON .WRITE. COMMAND -                             T5X
13 FORMAT T5X60 - ABORT ON .BKSP. COMMAND -                              T5X
14 FORMAT T5X60 - ABORT ON .WAITNB. COMMAND -                            T5X
15 FORMAT T5X60 - ABORT ON .TIME GAPS. COMMAND -                         T5X
16 FORMAT T5X60 - ABORT ON .REWIND. COMMAND -                            T5X
17 FORMAT T5X60 - ABORT ON .STATUS. COMMAND -                            T5X
20 FORMAT T5X60 - ABORT ON .ERASE. COMMAND -                             T5X
21 FORMAT T5X60 - EC 137 - STILL AT BOT AFTER AN ERASE                   T5X
22 FORMAT T5X60 - EC 123 - TAPE TOO SHORT                                T5X
23 FORMAT T5X60 - EC 127 - RECORD READ WAS WRONG LENGTH                  T5X
*                                                                        T5X
   EQUATE ERROR TO 6410, BOT TO 20, EOT TO 40                            T5X
*                                                                        T5X
*                                                                        T5X
24 MSG 1 TO DISPLAY, PRINT   *POST RUNNING MESSAGE                       T5X
*                                                                        T5X
*--------- BUILD PLOT SHELL ---------                                    T5X
*                                                                        T5X
   MSG 7 TO LINE 1           *HEADER                                     T5X
   MSG 3 TO LINE 3           *OVER LINE                                  T5X
   B6 = 4                    *LINE NUMBER                                T5X
   B5 = 30D                  *MAX CREEP VALUE                            T5X
   DUP 7777 TO OB FOR 500                                                T5X
   WC = P2                                                               T5X
25 MSG 4(B5) TO LINE B6                                                  T5X
   B5 = B5 - 1               *DECREMENT FROM MAX                         T5X
   GOTO 25 WHILE (B6+1.LT.35D)   *DECREMENT TO ZERO                      T5X
   MSG 5 TO LINE B6          *NEG CREEP                                  T5X
*                                                                        T5X
*--------- RESERVE, REWIND AND ERASE 6 INCHES OF TAPE ---                T5X
*                                                                        T5X
26 B5 = 10                                                               T5X
   RES P1, ABT 74                                                        T5X
   B5 = 16                                                               T5X
   REWIND, ABT 74                                                        T5X
   B5 = 20                                                               T5X
   ERASE, ABT 74                                                         T5X
   B5 = 17                                                               T5X
   STATUS, ABT 74                                                        T5X
   IF(SB.AND.BOT.NE.0) ERROR 21/0, GOTO 74  *IF STILL AT BOT             T5X
*                                                                        T5X
*---------- MEASURE CREEP ON RE-WRITE ------                             T5X
*                                                                        T5X
   B6 = 6                     *CHAR POSITION FOR PLOT                    T5X
   B4 = 0                     *CLEAR ERROR FLAG                          T5X
30 GOSUB 40                   *WRITE RECORD 1                            T5X
   GOSUB 40                   *WRITE RECORD 2                            T5X
   IF(SB.AND.EOT.NE.0) ERROR 22/0, GOTO 74  *IF SHORT TAPE               T5X
   GOSUB 50                   *BKSP RECORD 2                             T5X
   GOSUB 50                   *BKSP RECORD 1                             T5X
   GOSUB 60                   *MEASURE FIRST GAP                         T5X
   IF(SB.AND.EOT.NE.0) ERROR 22/0, GOTO 74  *IF SHORT TAPE               T5X
   IF(IB(2).NE.WC) ERROR 23/0, GOTO 74  *IF BAD LENGTH                   T5X
   GOSUB 50                   *BKSP RECORD 2                             T5X
   GOSUB 40                   *REWRITE RECORD 2                          T5X
   IF(SB.AND.EOT.NE.0) ERROR 22/0, GOTO 74  *IF SHORT TAPE               T5X
   GOSUB 50                   *BKSP RECORD 2                             T5X
   GOSUB 50                   *BKSP RECORD 1                             T5X
   B2 = IB                    *FIRST GAP SIZE                            T5X
   GOSUB 60                   *MEASURE SECOND GAP                        T5X
   IF(SB.AND.EOT.NE.0) ERROR 22/0, GOTO 74  *IF SHORT TAPE               T5X
   IF(IB(2).NE.WC) ERROR 23/0, GOTO 74  *IF BAD LENGTH                   T5X
   B3 = IB                    *SECOND GAP SIZE                           T5X
   GOSUB 50                   *BKSP RECORD 2                             T5X
   GOSUB 50                   *BKSP RECORD 1                             T5X
   B5 = 7777                  *RESET CREEP VALUE                         T5X
*                                                                        T5X
*---------- COMPUTE AND PLOT CREEP --------                              T5X
*                                                                        T5X
   IF(B3.LT.B2) GOTO 31       *IF CREEPING BACKWARDS                     T5X
   B5 = B3 - B2               *FORWARD CREEP                             T5X
   IF(B5.LE.30D) GOTO 32      *IF IN RANGE OF PLOT                       T5X
   B5 = 31D                   *SET IT TO MAX + 1                         T5X
31 B4 = 1                     *SET ERROR FLAG                            T5X
32 B5 = B5 + 5                *ADD LINE BIAS                             T5X
   PLOT LINE B5 CHAR B6                                                  T5X
   GOTO 30 WHILE (B6+1.LE.55D)  *DO 50 TIMES                             T5X
   IF(B4.EQ.0) GOTO 36          *IF NO ERROR                             T5X
   MSG 6 TO LINE 37D            *OUT OF SPECIFICATIONS MSG               T5X
   BA = BA + 1                *BUMP ERROR COUNTER                        T5X
*                                                                        T5X
*---------- REPEAT OR EXIT --------                                      T5X
*                                                                        T5X
36 IF(ES.AND.CM.EQ.0) GOTO 37  *IF NO REPEAT                             T5X
   BLANK PLOT                                                            T5X
   GOTO 26                     *REPEAT TEST                              T5X
37 PICTURE                                                               T5X
   IF(BA.NE.0) GOTO 76         *IF ERRORS IN MODULE                      T5X
   EXIT                                                                  T5X
*                                                                        T5X
*--------- WRITE A RECORD -----                                          T5X
*                                                                        T5X
40 B5 = 10                                                               T5X
   RES P1, ABT 74                                                        T5X
   B5 = 12                                                               T5X
   WRITE, ABT 74                                                         T5X
   IF(SB.AND.ERROR.NE.0) ERROR 2/200, GOTO 70                            T5X
   RETURN                                                                T5X
*                                                                        T5X
*--------- BACKSPACE A RECORD -------                                    T5X
*                                                                        T5X
50 B5 = 10                                                               T5X
   RES P1, ABT 74                                                        T5X
   B5 = 13                                                               T5X
   BKSP, ABT 74                                                          T5X
   IF(SB.AND.ERROR.NE.0) ERROR 2/253, GOTO 70                            T5X
   RETURN                                                                T5X
*                                                                        T5X
*--------- TIME A GAP -------                                            T5X
*                                                                        T5X
60 B5 = 10                                                               T5X
   RES P1, ABT 74                                                        T5X
   B5 = 15                                                               T5X
   TIME 1 GAPS TO IB, ABT 74                                             T5X
   B5 = 14
   WAITNB,ABT 74
   RETURN                                                                T5X
*                                                                        T5X
*---------- PROCESS MODULE DETECTED ERROR(S)                             T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   PICTURE AND BLANK                                                     T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
   CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   ENDSUB, GOTO 24            *RESTART                                   T5X
*                                                                        T5X
*---------- PROCESS OVERLAY ABORT --------                               T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   PICTURE AND BLANK                                                     T5X
   MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERR MSG                   T5X
   CALL 980                   *ERROR STATUS CRACKING                     T5X
   IF(BA.LT.2) GOTO 24        *NOT SECOND TRY                            T5X
76 MSG 11(BA) TO DAYFILE                                                 T5X
   EXIT                                                                  T5X
77 END 24                                                                T5X
COMPILE   - T5X60 -                                                      T5X
   MODULE T5X61,65X(40,41,50,51)LOCK   - TEST END OF TAPE -              T5X
*** T5X61 - TEST END OF TAPE                                             T5X
*                                                                        T5X
**  T5X61 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         T5X61 TESTS THE ABILITY OF THE TAPE UNIT TO DETECT             T5X
*         END OF TAPE.                                                   T5X
*         ENDFILES ARE DONE UNTIL EOT IS DETECTED OR THE UNIT            T5X
*         GOES NOT READY.                                                T5X
*         DATA IS IGNORED.  ONLY READY, BOT AND EOT ARE                  T5X
*         CHECKED.                                                       T5X
*         ONCE EOT IS DETECTED, UP TO THREE BACKSPACES ARE               T5X
*         PERFORMED TO GET OFF IT, THEN UP TO THREE READS ARE            T5X
*         DONE FORWARD TO GET ON IT AGAIN.  THIS SEQUENCE IS             T5X
*         REPEATED 25D TIMES.                                            T5X
*                                                                        T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. CLEAR COUNTERS.                                             T5X
*         2. RESERVE.                                                    T5X
*         3. GO TO STEP 4 IF BOT.                                        T5X
*         3. REWIND.                                                     T5X
*         4. IF EOT, REPORT EC 130.                                      T5X
*         5. ERASE.                                                      T5X
*         6. IF STILL BOT, REPORT EC 137.                                T5X
*         7. RESERVE.                                                    T5X
*         8. GO TO STEP 12 IF EOT HAS BEEN REACHED.                      T5X
*         9. ENDFILE.                                                    T5X
*        10. IF STRANGE BOT DETECTED, REPORT EC 131.                     T5X
*        11. BUMP LOOP COUNT AND GO TO STEP 7.                           T5X
*        12. IF LOOP COUNT .LT. 3, REPORT EC 123.                        T5X
*        13. CLEAR LOOP COUNT.                                           T5X
*        14. RESERVE.                                                    T5X
*        15. BACKSPACE.                                                  T5X
*        16. IF STRANGE BOT DETECTED, REPORT EC 131.                     T5X
*        17. IF OFF EOT, GO TO STEP 19.                                  T5X
*        18. BUMP LOOP COUNT.  REPORT EC 125 IF COUNT IS                 T5X
*            EQUAL TO 3.  OTHERWISE, GO TO STEP 14.                      T5X
*        19. CLEAR LOOP COUNT.                                           T5X
*        20. RESERVE.                                                    T5X
*        21. READ FORWARD.                                               T5X
*        22. IF STRANGE BOT DETECTED, REPORT EC 131.                     T5X
*        23. GO TO STEP 25 IF EOT IS DETECTED.                           T5X
*        24. BUMP LOOP COUNT.  REPORT EC 133 IF COUNT IS                 T5X
*            EQUAL TO 3.  OTHERWISE, GO TO STEP 20.                      T5X
*        25. BUMP CYCLE COUNT.  GO TO STEP 14 IF 25D CYCLES              T5X
*            HAVE NOT BEEN COMPLETED.                                    T5X
*        26. TERMINATE CONFIDENCE TEST.                                  T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS.                                 T5X
*                                                                        T5X
*         2. T5X61 - ABORT ON .RES. COMMAND                              T5X
*         3. T5X61 - ABORT ON .REL. COMMAND                              T5X
*         4. T5X61 - ABORT ON .REWIND. COMMAND                           T5X
*         5. T5X61 - ABORT ON .ERASE. COMMAND                            T5X
*         6. T5X61 - ABORT ON .READ FWD. COMMAND                         T5X
*         7. T5X61 - ABORT ON .BKSP. COMMAND                             T5X
*         8. T5X61 - ABORT ON .ENDFILE. COMMAND                          T5X
*                                                                        T5X
*         9. T5X61 - EC 123 - TAPE TOO SHORT                             T5X
*        10. T5X61 - EC 125 - STILL AT EOT AFTER 3 BACKSPACES            T5X
*        11. T5X61 - EC 130 - BOT AND EOT AT THE SAME TIME               T5X
*        12. T5X61 - EC 131 - UNEXPECTED BOT                             T5X
*        13. T5X61 - EC 133 - NO EOT AFTER 3 READ FORWARDS               T5X
*        14. T5X61 - EC 137 - STILL AT BOT AFTER AN ERASE                T5X
*                                                                        T5X
*                                                                        T5X
*** T5X61 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B0 = MODULE CYCLE COUNT                                        T5X
*         B2 = SUBROUTINE LOOP COUNTER                                   T5X
*         B3 = INITIAL SEARCH EOT CYCLE COUNTER                          T5X
*         B5 = MESSAGE NUMBER IN CASE OF COMMAND ABORT                   T5X
*         BA = ERROR COUNTER                                             T5X
*                                                                        T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
 1 FORMAT T5X61 - TEST END OF TAPE                                       T5X
 2 FORMAT T5X61 - ABORT ON .RES. COMMAND                                 T5X
 3 FORMAT T5X61 - ABORT ON .REL. COMMAND                                 T5X
 4 FORMAT T5X61 ERROR(S) IN MODULE =  *DEC                               T5X
 5 FORMAT T5X61 - ABORT ON .REWIND. COMMAND                              T5X
 6 FORMAT T5X61 - ABORT ON .ERASE. COMMAND                               T5X
 7 FORMAT T5X61 - ABORT ON .READ FWD. COMMAND                            T5X
10 FORMAT T5X61 - ABORT ON .BKSP. COMMAND                                T5X
11 FORMAT T5X61 - ABORT ON .ENDFILE. COMMAND                             T5X
12 FORMAT T5X61 - EC 123 - TAPE TOO SHORT                                T5X
13 FORMAT T5X61 - EC 125 - STILL AT EOT AFTER 3 BACKSPACES               T5X
14 FORMAT T5X61 - EC 130 - BOT AND EOT AT THE SAME TIME                  T5X
15 FORMAT T5X61 - EC 131 - UNEXPECTED BOT                                T5X
16 FORMAT T5X61 - EC 133 - NO EOT AFTER 3 READ FORWARDS                  T5X
17 FORMAT T5X61 - EC 137 - STILL AT BOT AFTER AN ERASE                   T5X
*                                                                        T5X
   EQUATE BOT TO 20, EOT TO 40                                           T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY, PRINT     *RUNNING MESSAGE                          T5X
21 B0 = 0                      *CLEAR COUNTERS                           T5X
   B2 = 0                                                                T5X
   B3 = 0                                                                T5X
   B5 = 2                                                                T5X
   RES P1, ABT 74                                                        T5X
   IF(SB.AND.BOT.NE.0) GOTO 22     *IF LOAD POINT                        T5X
   B5 = 5                                                                T5X
   REWIND, ABT 74                                                        T5X
22 IF(SB.AND.EOT.NE.0) ERROR 14/0, GOTO 70  *IF BOT/EOT                  T5X
   B5 = 6                                                                T5X
   ERASE, ABT 74                                                         T5X
   IF(SB.AND.BOT.NE.0) ERROR 17/0, GOTO 70  *IF STILL BOT                T5X
*                                                                        T5X
*--------- SEARCH FOR EOT                                                T5X
*                                                                        T5X
30 B5 = 2                                                                T5X
   RES P1, ABT 74                                                        T5X
   IF(SB.AND.EOT.NE.0) GOTO 31       *IF END OF TAPE                     T5X
   B5 = 11                                                               T5X
   ENDFILE, ABT 74                                                       T5X
   IF(SB.AND.BOT.NE.0) ERROR 15/0, GOTO 70  *IF 2ND BOT                  T5X
   GOTO 30 WHILE (B2+1.NE.7777)                                          T5X
   B3 = B3 + 1                                                           T5X
   GOTO 30                                                               T5X
31 IF(B2.GE.3) GOTO 40             *IF NOT SHORT TAPE                    T5X
   IF(B3.EQ.0) ERROR 12/0, GOTO 70  *SHORT TAPE                          T5X
*                                                                        T5X
*---------- EOT FOUND, BACKSPACE OFF IT                                  T5X
*                                                                        T5X
40 B2 = 0                           *CLEAR COUNTERS                      T5X
   B0 = 0                                                                T5X
41 B5 = 2                                                                T5X
   RES P1, ABT 74                                                        T5X
   B5 = 10                                                               T5X
   BKSP, ABT 74                                                          T5X
   IF(SB.AND.BOT.NE.0) ERROR 15/0, GOTO 70  *IF 2ND BOT                  T5X
   IF(SB.AND.EOT.EQ.0) GOTO 50      *IF OFF EOT                          T5X
   GOTO 41 WHILE (B2+1.NE.3)        *TRY THREE TIMES                     T5X
   ERROR 13/0, GOTO 70                                                   T5X
*                                                                        T5X
*--------- WE BACKED OFF EOT, NOW FIND IT FORWARD                        T5X
*                                                                        T5X
50 B2 = 0                                                                T5X
51 B5 = 2                                                                T5X
   RES P1, ABT 74                                                        T5X
   B5 = 7                                                                T5X
   READ FWD, ABT 74                                                      T5X
   IF(SB.AND.BOT.NE.0) ERROR 15/0, GOTO 70  *IF 2ND BOT                  T5X
   IF(SB.AND.EOT.NE.0) GOTO 54      *IF EOT FOUND                        T5X
   GOTO 51 WHILE (B2+1.NE.3)        *TRY THREE TIMES                     T5X
   ERROR 16/0, GOTO 70                                                   T5X
*                                                                        T5X
*--------- REPEAT THE SEQUENCE 25D TIMES                                 T5X
*                                                                        T5X
54 B5 = 3                                                                T5X
   REL, ABT 74                                                           T5X
   DELAY 100D MSEC                                                       T5X
   B2 = 0                                                                T5X
   GOTO 41 WHILE (B0+1.NE.25D)                                           T5X
55 IF(ES.AND.CM.NE.0) GOTO 21       *IF RC OR RM                         T5X
   IF(BA.EQ.0) GOTO 57              *IF NO ERRORS                        T5X
   MSG 4(BA) TO DAYFILE                                                  T5X
57 GOTO 77                    *TERMINATE CONFIDENCE TEST                 T5X
*                                                                        T5X
*-------- PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                      *BUMP ERROR COUNT                    T5X
71 MSG EM(EC,EA) TO LINE 0          *ERROR CODE MESSAGE                  T5X
72 CALL 980                         *ERROR STATUS ANALYSIS               T5X
   MSG 1 TO DISPLAY                                                      T5X
   GOTO 21                          *RESTART                             T5X
*                                                                        T5X
*--------- PROCESS PRODUCT OVERLAY ABORT                                 T5X
*                                                                        T5X
74 BA = BA + 1                      *BUMP ERROR COUNT                    T5X
75 MSG B5 TO LINE 0                 *ERROR CONDITION                     T5X
   MSG EM TO LINE 1                 *PRODUCT OVERLAY MSG                 T5X
   CALL 980                         *ERROR STATUS ANALYSIS               T5X
   MSG 1 TO DISPLAY                                                      T5X
   IF(BA.LT.2) GOTO 21              *RESTART                             T5X
   GOTO 55                          *ABNORMAL TERMINATION                T5X
77 END 20                                                                T5X
COMPILE   - T5X61 -                                                      T5X
   MODULE T5X70,65X(40,41,50,51)LOCK   - TAPE PATH DAMAGE -              T5X
*** T5X70 - TAPE PATH DAMAGE                                             T5X
*                                                                        T5X
**  T5X70 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         T5X70 IS DESIGNED TO WRITE ONE RECORD OF THE LENGTH            T5X
*         SPECIFIED BY THE USER AND PERFORM 20,475 READ REVERSES         T5X
*         AND 20,475 READ FORWARDS OVER THAT RECORD.  THE USER           T5X
*         CAN THEN VISUALLY INSPECT THE TAPE FOR DAMAGE.  BY             T5X
*         PROPERLY SETTING THE LENGTH OF THE RECORD, THE USER            T5X
*         CAN CONTROL WHAT ELEMENTS OF THE TAPE TRANSPORT MAKE           T5X
*         CONTACT WITH SPECIFIC AREAS OF THE TAPE, THEREFORE             T5X
*         ISOLATING THE SPECIFIC CAUSE OF ANY DAMAGE.                    T5X
*                                                                        T5X
*         A SHORT RECORD (P2 =0500 FOR EXAMPLE) ALLOWS TESTING OF        T5X
*         THE EOT,BOT,BLOCK,HEAD,SCRAPERS AND GUIDES.                    T5X
*         THESE ITEMS ARE CLOSE TOGETHER, SO A SHORT RECORD MUST         T5X
*         BE USED TO CONTROL TAPE MOVEMENT AND PREVENT OVERLAP           T5X
*         OF COMPONENTS IN CONTACT WITH THE TAPE.                        T5X
*                                                                        T5X
*         WITH A LONG RECORD (P2 =6000 FOR EXAMPLE) TAPE REELS           T5X
*         WILL MOVE AND YOU CAN VERIFY LOOP COLUMNS,                     T5X
*         TAPE PATH AND THE TAPE REELS AND HUBS.                         T5X
*                                                                        T5X
*         IN ACTUAL PRACTICE, TWO RUNS SHOULD BE MADE - THE FIRST        T5X
*         WITH P2 = 0500 AND THE SECOND WITH P2 = 6000.  (NOTE           T5X
*         THAT THE ACTUAL WORD COUNT USED FOR THE RECORD LENGTH IS       T5X
*         8 TIMES THE VALUE PLACED INTO REGISTER P2).                    T5X
*                                                                        T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*                                                                        T5X
*         1. SELECT MARGINS.                                             T5X
*         2. RESERVE.                                                    T5X
*         3. REWIND.                                                     T5X
*         4. FILL OB WITH 7777 PATTERN.                                  T5X
*         5. RESERVE.                                                    T5X
*         6. WRITE LONG.                                                 T5X
*         7. WAIT NOT BUSY.                                              T5X
*         8. REPORT EC 200 IF STATUS ERROR.                              T5X
*         9. RESERVE.                                                    T5X
*        10. READ REVERSE.                                               T5X
*        11. WAIT NOT BUSY.                                              T5X
*        12. REPORT EC 227 IF STATUS ERROR.                              T5X
*        13. RESERVE.                                                    T5X
*        14. READ FORWARD.                                               T5X
*        15. WAIT NOT BUSY.                                              T5X
*        16. REPORT EC 226 IF STATUS ERROR.                              T5X
*        17. REPEAT STEPS 9-16 FOR 20,475 PASSES.                        T5X
*        18. GO TO STEP 2 IF REPEAT MODULE.                              T5X
*        19. EXIT.                                                       T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. PRODUCT OVERLAY ERRORS                                      T5X
*                                                                        T5X
*         2. T5X70 - ERROR CODE = *OCT  AT LINE (EA) = *OCT              T5X
*         3. T5X70 - ABORT ON .READ FWD. COMMAND -                       T5X
*         4. T5X70 - ABORT ON .READ REV. COMMAND -                       T5X
*         5. T5X70 - ABORT ON .WRITE. COMMAND -                          T5X
*         6. T5X70 - ABORT ON .RES. COMMAND -                            T5X
*         7. T5X70 - ABORT ON .REL. COMMAND -                            T5X
*         8. T5X70 - ABORT ON .REWIND. COMMAND -                         T5X
*         9. T5X70 - ABORT ON .WAITNB. COMMAND -                         T5X
*        10. T5X70 - ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*        11. -EC 200- AN UNEXPECTED STATUS BIT APPEARED IN A GENERAL     T5X
*            STATUS DURING A WRITE OPERATION.                            T5X
*            NOTE THAT GENERAL STATUS WAS MASKED WITH LOGICAL            T5X
*            PRODUCT 6410B.                                              T5X
*                                                                        T5X
*        12. - EC 226- AN ERROR OCCURRED DURING A READ FORWARD           T5X
*            OPERATION IN THE TAPE PATH DAMAGE TEST.                     T5X
*                                                                        T5X
*        13. - EC 227- AN ERROR OCCURRED DURING A READ REVERSE           T5X
*            OPERATION IN THE TAPE PATH DAMAGE TEST.                     T5X
*                                                                        T5X
*                                                                        T5X
*** T5X70 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B0 = CURRENT FILE COUNT                                        T5X
*         B1 = CURRENT RECORD COUNT                                      T5X
*         B5 = MSG NUMBER(SET BEFORE ENTRY) FOR MESSAGE PROCESSOR        T5X
*            = MARGINS                                                   T5X
*         B6 = LOOP COUNT                                                T5X
*         BA = ERROR COUNT                                               T5X
*                                                                        T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
 1 FORMAT T5X70 - TAPE PATH DAMAGE -                                     T5X
 2 FORMAT T5X70 - ERROR CODE = *OCT  AT LINE (EA) = *OCT                 T5X
 4 FORMAT T5X70 - ABORT ON .READ FWD. COMMAND -                          T5X
 5 FORMAT T5X70 - ABORT ON .READ REV. COMMAND -                          T5X
 6 FORMAT T5X70 - ABORT ON .WRITE. COMMAND -                             T5X
 7 FORMAT T5X70 - ABORT ON .RES. COMMAND -                               T5X
10 FORMAT T5X70 - ABORT ON .REL. COMMAND -                               T5X
11 FORMAT T5X70 - ABORT ON .REWIND. COMMAND -                            T5X
12 FORMAT T5X70 - ABORT ON .WAITNB. COMMAND -                            T5X
13 FORMAT T5X70 - ABORT ON .STATUS. COMMAND -                            T5X
14 FORMAT T5X70 - ERRS=*DEC LOOPS=*DEC                                   T5X
15 FORMAT T5X70 ERROR(S) IN MODULE = *DEC                                T5X
*                                                                        T5X
*                                                                        T5X
   EQUATE ERROR TO 6410                                                  T5X
*                                                                        T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY,PRINT   *RUNNING MESSAGE                             T5X
   BA=0                     *CLEAR ERROR COUNTER                         T5X
   B5 = P3.RS.6.AND.7       *MARGIN BITS TO B5                           T5X
   MARGINS B5               *SELECT MARGINS PER PARAM P3                 T5X
21 B5 =7                                                                 T5X
   RES P1, ABT 74           *RESERVE                                     T5X
   B5 = 11                                                               T5X
   REWIND,ABT 74                                                         T5X
   WC = P2                  *REC LENGTH TO WC REG                        T5X
   DUP 7777 TO OB FOR 500                                                T5X
*                                                                        T5X
*----------WRITE THE RECORD                                              T5X
*                                                                        T5X
30 B0 = 0                    *CLEAR FILE COUNT                           T5X
   B1 = 1                    *SET RECORD COUNT                           T5X
   B5 = 7                                                                T5X
   RES P1, ABT 74                                                        T5X
   B5 = 6                                                                T5X
   WRITE LONG, ABT 74                                                    T5X
   B5 = 12                                                               T5X
   WAITNB, ABT 74            *WAIT NOT BUSY                              T5X
   IF(SB.AND.ERROR.EQ.0) GOTO 40    *NO WRITE ERRORS                     T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/200, GOSUB 70                                                 T5X
   GOTO 30                   *RE-WRITE THE RECORD                        T5X
*                                                                        T5X
*---------READ THE RECORD REVERSE                                        T5X
*                                                                        T5X
40 B5 = 7                                                                T5X
   RES P1, ABT 74                                                        T5X
   B5 = 5                                                                T5X
   READ REV, ABT 74                                                      T5X
   B5 = 12                                                               T5X
   WAITNB, ABT 74            *WAIT NOT BUSY                              T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   IF(SB.AND.ERROR.NE.0) ERROR 2/227, GOSUB 70                           T5X
*                                                                        T5X
*---------READ THE RECORD FORWARD                                        T5X
*                                                                        T5X
   B5 = 7                                                                T5X
   RES P1, ABT 74                                                        T5X
   B5 = 4                                                                T5X
   READ FWD, ABT 74                                                      T5X
   B5 = 12                                                               T5X
   WAITNB, ABT 74            *WAIT NOT BUSY                              T5X
   B5 = 13                                                               T5X
   STATUS, ABT 74                                                        T5X
   IF(SB.AND.ERROR.NE.0) ERROR 2/226, GOSUB 70                           T5X
   GOTO 40 WHILE (B1+1.NE.7777)        *DO 4095D PASSES                  T5X
   B1 = 0                                                                T5X
   GOTO 40 WHILE (B0+1.NE.6)           *DO 20,475 PASSES                 T5X
   B5 = 10                                                               T5X
   REL, ABT 74                                                           T5X
54 B6 = B6 + 1                *LOOP COUNT                                T5X
   IF(ES.AND.SL.EQ.0) GOTO 55         *IF NOT SCOPING                    T5X
   MSG 14 (BA,B6) TO DISPLAY          *POST SCOPING MSG                  T5X
   GOTO 21                            *RESTART                           T5X
55 IF(ES.AND.CM.NE.0)GOTO 21  *IF REPEAT MODULE/CONDITION                T5X
   IF(BA.EQ.0) GOTO 57       *NO MODULE ERRORS                           T5X
56 MSG 15(BA) TO DAYFILE     *REPORT ERRORS                              T5X
57 GOTO 77                   * END MODULE EXECUTION                      T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 71  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   RETURN                     *RETURN                                    T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
   IF(ES.AND.SL.EQ.0)GOTO 75  *SCOPE LOOP NOT SELECTED                   T5X
   MSG 14 (BA,B6) TO DISPLAY  *ERROR MESSAGE                             T5X
   GOTO 21                    *RESTART                                   T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                   *PROCESS ERROR MODULE                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   IF(BA.LT.2)GOTO 21         *NOT SECOND TRY                            T5X
   GOTO 55                   *ABNORMAL TERMINATION                       T5X
77 END 20                                                                T5X
COMPILE    - T5X70 -                                                     T5X
   MODULE T5X72,65X(40,41,50,51)LOCK   - STATUS -                        T5X
*** T5X72 -  STATUS                                                      T5X
*                                                                        T5X
**   T5X72 - EXTERNAL DOCUMENTATION                                      T5X
*                                                                        T5X
*    OVERVIEW -                                                          T5X
*                                                                        T5X
*          T5X72 IS A REPAIR MODULE THAT  RESERVES THE                   T5X
*          UNIT UNDER TEST, DISPLAYS THE STATUS BUFFER,                  T5X
*          AND INTERPRETS THE CONTENTS OF STATUS BUFFER                  T5X
*          WORDS ZERO AND TWO.                                           T5X
*          IT IS DESIGNED TO BE USED TO REPAIR SUB-                      T5X
*          SYSTEM PROBLEMS INVOLVING THE CONNECT SEQUENCE.               T5X
*                                                                        T5X
*          NOTE -  THE CONTENTS OF THE STATUS BUFFER                     T5X
*                  ARE IDENTIFIED BELOW.                                 T5X
*                                                                        T5X
*                  WORD 0 = EQUIPMENT STATUS (1ST WORD)                  T5X
*                  WORD 1 = NO SIGNIFICANCE                              T5X
*                  WORD 2 = LAST 668X STATUS                             T5X
*                  WORD 3 = LAST 668X FUNCTION                           T5X
*                  WORD 4 = CHANNEL UNDER TEST                           T5X
*                  WORD 5 = EQUIPMENT UNDER TEST                         T5X
*                  WORD 6 = UNIT UNDER TEST                              T5X
*                  WORD 7 = NO SIGNIFICANCE                              T5X
*                                                                        T5X
*                                                                        T5X
*    DESCRIPTION -                                                       T5X
*                                                                        T5X
*          1. RESERVE BASED ON PARAMETERS IN P1 REGISTER.                T5X
*          2. DISPLAY STATUS.                                            T5X
*          3. REPEAT STEPS 1 AND 2 UNTIL STOPPED BY THE OPERATOR         T5X
*             OR IF IN TERMINAL MODE, PAUSE FOR A GO DIRECTIVE           T5X
*             FROM THE OPERATOR.                                         T5X
*                                                                        T5X
*    ERRORS REPORTED -                                                   T5X
*                                                                        T5X
*          1. ALL PRODUCT OVERLAY ERRORS.                                T5X
*                                                                        T5X
*          2. T5X72 - ABORT ON .RES. COMMAND -                           T5X
*                                                                        T5X
***  T5X72 - INTERNAL DOCUMENTATION                                      T5X
*                                                                        T5X
*    REGISTER USAGE -                                                    T5X
*                                                                        T5X
*          B3 = LINE COUNT INDEX                                         T5X
*          B5 = MESSAGE NUMBER INDEX FOR COMMAND ABORT                   T5X
*          B6 = LOOP COUNT FOR SCOPING                                   T5X
*          BA = ERROR COUNT                                              T5X
*                                                                        T5X
*    MODULES CALLED -                                                    T5X
*                                                                        T5X
*          NONE                                                          T5X
*                                                                        T5X
*                                                                        T5X
   EQUATE BIT0 TO 1, BIT1 TO 2, BIT2 TO 4, BIT3 TO 10                    T5X
   EQUATE BIT4 TO 20, BIT5 TO 40, BIT6 TO 100                            T5X
   EQUATE BIT7 TO 200, BIT8 TO 400, BIT9 TO 1000                         T5X
   EQUATE BIT10 TO 2000, BIT11 TO 4000                                   T5X
   BASE DECIMAL                                                          T5X
 1 FORMAT ---- TERMINAL MODE - WAITING FOR GO DIRECTIVE ----             T5X
 2 FORMAT SB(0-7) = *OCT *OCT *OCT *OCT *OCT *OCT *OCT *OCT              T5X
 4 FORMAT T5X72 - ABORT ON .RES. COMMAND -                               T5X
 5 FORMAT T5X72 - ERRS=*DEC LOOPS=*DEC                                   T5X
10 FORMAT    STATUS = 6681 XMISSION P.E.                                 T5X
11 FORMAT    STATUS = 6681 INTERNAL REJECT                               T5X
12 FORMAT    STATUS = 6681 EXTERNAL REJECT                               T5X
13 FORMAT    STATUS = 6681 REJECT STATUS IS WRONG (SB(2))                T5X
14 FORMAT    STATUS = READY                                              T5X
15 FORMAT    STATUS = BUSY                                               T5X
16 FORMAT    STATUS = WRITE ENABLE                                       T5X
17 FORMAT    STATUS = FILE MARK                                          T5X
20 FORMAT    STATUS = LOAD POINT                                         T5X
21 FORMAT    STATUS = END OF TAPE                                        T5X
22 FORMAT    STATUS = 200 BPI                                            T5X
23 FORMAT    STATUS = 556 BPI                                            T5X
24 FORMAT    STATUS = 800 BPI                                            T5X
25 FORMAT    STATUS = 1600 BPI                                           T5X
26 FORMAT    STATUS = LOST DATA                                          T5X
27 FORMAT    STATUS = END OF OPERATION                                   T5X
30 FORMAT    STATUS = ALERT                                              T5X
31 FORMAT    STATUS = UNIT RESERVED                                      T5X
32 FORMAT    STATUS = ---- UNIT NOT READY ----                           T5X
33 FORMAT    STATUS = VERTICAL PARITY ERROR                              T5X
40 B3 = 1               *SET LINE COUNTER TO LINE 1                      T5X
*                                                                        T5X
*---------- RESERVE AND POST BUFFER CONTENTS-----------                  T5X
*                                                                        T5X
41 B5 = 4                                                                T5X
   RES P1, ABT 61                                                        T5X
42 MSG 2, 8 WORDS FROM SB TO LINE B3                                     T5X
   B3 = B3 + 1                  *BUMP LINE COUNTER                       T5X
*                                                                        T5X
*---------- CRACK STATUS -----------                                     T5X
*                                                                        T5X
50 IF(SB(2).AND.BIT2.NE.0) ERROR 10/0, GOSUB 60  *XMISS PE               T5X
   IF(SB(2).AND.3.EQ.3) ERROR 11/0, GOSUB 60  *INT REJ                   T5X
   IF(SB(2).AND.3.EQ.1) ERROR 12/0, GOSUB 60  *EXT REJ                   T5X
   IF(SB(2).AND.3.EQ.2) ERROR 13/0, GOSUB 60  *WRONG 81 STAT             T5X
   IF(SB.AND.BIT0.NE.0) ERROR 14/0, GOSUB 60  *READY                     T5X
   IF(SB.AND.BIT1.NE.0) ERROR 15/0, GOSUB 60  *BUSY                      T5X
   IF(SB.AND.BIT2.NE.0) ERROR 16/0, GOSUB 60  *WRT ENAB                  T5X
   IF(SB.AND.BIT3.NE.0) ERROR 17/0, GOSUB 60  *FILE MARK                 T5X
   IF(SB.AND.BIT4.NE.0) ERROR 20/0, GOSUB 60  *LOAD POINT                T5X
   IF(SB.AND.BIT5.NE.0) ERROR 21/0, GOSUB 60  *END OF TAPE               T5X
   IF(SB.AND.300B.EQ.0) ERROR 22/0, GOSUB 60  *200 BPI                   T5X
   IF(SB.AND.300B.EQ.100B) ERROR 23/0, GOSUB 60  *556                    T5X
   IF(SB.AND.300B.EQ.200B) ERROR 24/0, GOSUB 60  *800                    T5X
   IF(SB.AND.300B.EQ.300B) ERROR 25/0, GOSUB 60  *1600                   T5X
   IF(SB.AND.BIT8.NE.0) ERROR 26/0, GOSUB 60  *LOST DATA                 T5X
   IF(SB.AND.BIT9.EQ.0) ERROR 27/0, GOSUB 60  *END OF OP                 T5X
   IF(SB.AND.BIT10.EQ.0) GOTO 51  *NO ALERT OR VERT PE                   T5X
   IF(DC.AND.1.EQ.1) ERROR 30/0, GOSUB 60  *65X MSG                      T5X
   IF(DC.AND.1.EQ.0) ERROR 33/0, GOSUB 60  *60X MSG                      T5X
51 IF(SB.AND.BIT11.NE.0) ERROR 31/0, GOSUB 60  *UNIT RES                 T5X
   IF(SB.AND.BIT0.EQ.0) ERROR 32/0, GOSUB 60  *(NOT READY)               T5X
*                                                                        T5X
*---------- CHECK FOR TERMINAL MODE, REPEAT -----------                  T5X
*                                                                        T5X
   B6 = B6 + 1               *BUMP LOOP COUNT                            T5X
   IF(ES.AND.TM.EQ.0) GOTO 52    *NOT TTY                                T5X
   IF(ES.AND.CM.NE.0) GOTO 52  *SCOPING IN TERMINAL MODE                 T5X
   B3 = B3 + 1                   *SPACE DOWN 1 LINE                      T5X
   MSG 1 TO LINE B3                                                      T5X
   PICTURE AND BLANK                                                     T5X
   PAUSE                          *WAIT FOR GO                           T5X
52 IF(ES.AND.TM.NE.0) GOTO 40       *LOOP                                T5X
   MSG 5(BA,B6) TO DISPLAY                                               T5X
   GOTO 40                          *LOOP                                T5X
*                                                                        T5X
*---------- POST STATUS MESSAGE ----------                               T5X
*                                                                        T5X
60 MSG EM TO LINE B3    *POST MESSAGE                                    T5X
   B3 = B3 + 1          *BUMP LINE COUNT                                 T5X
   RETURN                                                                T5X
*                                                                        T5X
*---------- ERROR PROCESSOR -----------                                  T5X
*                                                                        T5X
61 BA = BA + 1               *BUMP ERROR COUNT                           T5X
   IF(ES.AND.SL.EQ.0) GOTO 62          *NOT SCOPING                      T5X
   MSG 5 (BA,B6) TO DISPLAY                                              T5X
   GOTO 40                    *LOOP                                      T5X
62 MSG EM TO LINE 1                                                      T5X
   MSG B5 TO LINE 0                                                      T5X
   GOTO 40                  *LOOP                                        T5X
   END 40                                                                T5X
COMPILE   - T5X72 -                                                      T5X
   MODULE T5X73,65X(40,41,50,51)LOCK   - LADDER TEST -                   T5X
*** T5X73 - LADDER TEST                                                  T5X
*                                                                        T5X
**  T5X73 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         RECORDS ARE WRITTEN ON TAPE AT THE DENSITY                     T5X
*         AND PATTERN SELECTED BY THE *PARAM* DIRECTIVE                  T5X
*                                                                        T5X
*         RECORDS ARE WRITTEN ON TAPE FROM LOAD POINT                    T5X
*         TO END OF TAPE.  RECORD LENGTHS VARY FROM 1                    T5X
*         TO 7777 WORDS, THEN ARE DECREMENTED FROM 7777                  T5X
*         BACK TO 1.                                                     T5X
*         WHEN EOT IS REACHED, A READ REVERSE IS                         T5X
*         EXECUTED UNTIL LOAD POINT IS REACHED.  IF                      T5X
*         REPEAT MODULE IS SELECTED, A READ FORWARD                      T5X
*         TO EOT IS DONE.  THE READING FORWARD AND                       T5X
*         REVERSE CONTINUES UNTIL STOPPED BY THE                         T5X
*         USER.                                                          T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. FILL OB WITH SELECTED DATA PATTERN.                         T5X
*         2. SELECT MARGINS.                                             T5X
*         3. RESERVE.                                                    T5X
*         4. REWIND.                                                     T5X
*         5. SET WC = 1.                                                 T5X
*         6. RESERVE.                                                    T5X
*         7. WRITE.                                                      T5X
*         8. BUMP RECORD COUNT IN B0/B1.                                 T5X
*         9. WAIT NOT BUSY IF SELECTED.                                  T5X
*        10. GO TO STEP 14 IF *EOT*.                                     T5X
*        11. REPORT EC 200 IF STATUS ERROR.                              T5X
*        12. BUMP WC BY 1 (ADD 1 IF INCREMENTING UNTIL IT REACHES        T5X
*            7777. THEN DECREMENT IT BY 1 UNTIL IT REACHES 0. THEN       T5X
*            START INCREMENTING IT AGAIN).                               T5X
*        13. REPEAT STEPS 6-12 UNTIL *EOT* IS DETECTED.                  T5X
*        14. RESERVE.                                                    T5X
*        15. READ REVERSE.                                               T5X
*        16. GO TO STEP 21 IF *BOT*.                                     T5X
*        17. DECREMENT RECORD COUNT IN B0/B1.                            T5X
*        18. WAIT NOT BUSY IF SELECTED.                                  T5X
*        19. REPORT EC 202 IF STATUS ERROR.                              T5X
*        20. REPEAT STEPS 14-19 UNTIL *BOT* IS DETECTED.                 T5X
*        21. REPORT EC 267 IF B0/B1 ARE NOT ZERO (NUMBER OF RECORDS      T5X
*            READ DOES NOT EQUAL NUMBER OF RECORDS WRITTEN).             T5X
*        22. EXIT IF REPEAT MODULE IS NOT SELECTED.                      T5X
*        23. RESERVE.                                                    T5X
*        24. READ FORWARD.                                               T5X
*        25. BUMP RECORD COUNT IN B0/B1.                                 T5X
*        26. WAIT NOT BUSY IF SELECTED.                                  T5X
*        27. GO TO STEP 30 IF *EOT*.                                     T5X
*        28. REPORT EC 203 IF STATUS ERROR.                              T5X
*        29. REPEAT STEPS 23-28 UNTIL *EOT* IS DETECTED.                 T5X
*        30. GO TO STEP 14 IF REPEAT MODULE IS SELECTED (READ REV).      T5X
*        31. EXIT.                                                       T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS                                  T5X
*                                                                        T5X
*         2. T5X73 - ERROR CODE = *OCT  AT LINE (EA) = *OCT              T5X
*         3. T5X73 - ABORT ON .WAITNB. COMMAND -                         T5X
*         4. T5X73 - ABORT ON .WRITE. COMMAND -                          T5X
*         5. T5X73 - ABORT ON .RES. COMMAND -                            T5X
*         6. T5X73 - ABORT ON .REWIND. COMMAND -                         T5X
*         7. T5X73 - ABORT ON .REL. COMMAND -                            T5X
*         8. T5X73 - ABORT ON .READ FWD. COMMAND -                       T5X
*         9. T5X73 - ABORT ON .READ REV. COMMAND -                       T5X
*        10. T5X73 - ABORT ON .STATUS. COMMAND -                         T5X
*                                                                        T5X
*        11. -EC 200- AN UNEXPECTED STATUS BIT APPEARED IN GENERAL       T5X
*            STATUS DURING A -WRITE- OPERATION.                          T5X
*            NOTE THAT GENERAL STATUS WAS MASKED WITH LOGICAL            T5X
*            PRODUCT 6410B.                                              T5X
*                                                                        T5X
*        12. -EC 202- A STATUS ERROR OCCURRED ON A REVERSE READ.         T5X
*            THE INPUT BUFFER CONTAINS THE DATA READ.                    T5X
*                                                                        T5X
*        13. -EC 203- A STATUS ERROR OCCURRED ON A FORWARD READ.         T5X
*            THE INPUT BUFFER CONTAINS THE DATA READ.                    T5X
*                                                                        T5X
*        14. -EC 267- THE NUMBER OF RECORDS WRITTEN AND THE              T5X
*            NUMBER OF RECORDS READ IN REVERSE DO NOT                    T5X
*            COMPARE.                                                    T5X
*                                                                        T5X
*                                                                        T5X
*** T5X73 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         B0 = CURRENT FILE COUNT                                        T5X
*            = TRACK SIZE (6 OR 8)                                       T5X
*            = RANDOM STARTER                                            T5X
*            = MARGINS                                                   T5X
*         B1 = CURRENT RECORD COUNT                                      T5X
*         B2 = BUFFER LIMIT FOR DUP (7TK OR 9TK)                         T5X
*         B3 = WC INCREMENT VALUE (1 OR 7776).                           T5X
*         B4 = PATTERN FOR STORING                                       T5X
*         B5 = MSG NUMBER(SET BEFORE ENTRY) FOR MESSAGE PROCESSOR        T5X
*         B6 = LOOP COUNT                                                T5X
*         BA = ERROR COUNT                                               T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*         T5X98A - ERROR CODE PROCESSOR                                  T5X
*                                                                        T5X
 1 FORMAT T5X73 - LADDER TEST -                                          T5X
 2 FORMAT T5X73 - ERROR CODE = *OCT  AT LINE (EA) = *OCT                 T5X
 4 FORMAT T5X73 - ABORT ON .WAITNB. COMMAND -                            T5X
 5 FORMAT T5X73 - ABORT ON .WRITE. COMMAND -                             T5X
 6 FORMAT T5X73 - ABORT ON .RES. COMMAND -                               T5X
10 FORMAT T5X73 - ABORT ON .REWIND. COMMAND -                            T5X
11 FORMAT T5X73 - ABORT ON .REL. COMMAND -                               T5X
12 FORMAT T5X73 - ABORT ON .READ FWD. COMMAND -                          T5X
13 FORMAT T5X73 - ABORT ON .READ REV. COMMAND -                          T5X
14 FORMAT T5X73 - ABORT ON .STATUS. COMMAND -                            T5X
15 FORMAT T5X73 ERROR(S) IN MODULE = *DEC                                T5X
*                                                                        T5X
   EQUATE BOT TO 20, EOT TO 40, ERROR TO 6410                            T5X
*                                                                        T5X
*                                                                        T5X
20 MSG 1 TO DISPLAY,PRINT      *RUNNING MESSAGE.                         T5X
   IF(P4.AND.3000.EQ.2000) GOTO 23  *RANDOM PATTERN SELECTED             T5X
   B4 = P4                                                               T5X
   B0 = 10                                                               T5X
   IF(DC.AND.10.NE.0)GOTO 21   *IF 9 TRACK TAPE.                         T5X
   B0 = 6                      *TRACK SIZE (6 OR 8)                      T5X
*                                                                        T5X
*---------FILL BUFFER                                                    T5X
*                                                                        T5X
21 IF(P4.AND.3000.EQ.1000)B4=P4.XOR.7777    *ALT PATRN                   T5X000G
   DUP B0 BITS OF P4/B4 TO OB FOR 500                                    T5X000G
   GOTO 25                                                               T5X
23 B0 = P7                   *RANDOM STARTER TO B0                       T5X
   IF(P3.AND.4.NE.0)GOTO 24  *USE RANDOM STARTER                         T5X
   B0 = RT                   *USE RT CLOCK FOR STARTER                   T5X
24 RANDOM TO OB FOR 500 , START B0                                       T5X
25 B0 = P3.RS.6.AND.7        *MARGIN BITS                                T5X
   MARGINS B0                *SELECT MARGINS PER PARAM P3                T5X
26 B5 = 6                                                                T5X
   B0 = 0                    *CLEAR FILE COUNT                           T5X
   B1 = 0                    *CLEAR RECORD COUNT                         T5X
   RES P1, ABT 74            *RESERVE                                    T5X
   B5 = 10                                                               T5X
   REWIND,ABT 74             *REWIND                                     T5X
   WC = 1                    *SET WC TO WRITE 1 WORD                     T5X
   B3 = 1                    *WC INCREMENT VALUE                         T5X
*                                                                        T5X
*---------WRITE FROM BOT TO EOT                                          T5X
*                                                                        T5X
30 B5 = 6                                                                T5X
   RES P1, ABT 74                                                        T5X
   B5 = 5                                                                T5X
   WRITE, ABT 74                                                         T5X
   B1 = B1 + 1               *BUMP RECORD COUNT                          T5X
   IF(B1.NE.0) GOTO 31       *IF NOT OVERFLOW                            T5X
   B0 = B0 + 1               *BUMP FILE COUNT                            T5X
31 IF(P3.AND.20.NE.0) GOTO 32  *IF BYPASS WAIT *NOT BUSY*                T5X
   B5 = 4                                                                T5X
   WAITNB, ABT 74                                                        T5X
32 IF(SB.AND.EOT.NE.0) GOTO 40      *IF EOT                              T5X
   IF(SB.AND.ERROR.EQ.0) GOTO 33   *IF NO ERROR                          T5X
   B5 = 14                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/200, GOSUB 70                                                 T5X
33 WC = WC + B3              *INCR/DECR. WORD COUNT                      T5X
   IF(WC.NE.0) GOTO 30       *IF NOT MAX/MIN WC                          T5X
   B3 = B3.XOR.7776          *TOGGLE B3 0001/7777                        T5X
   WC = B3                                                               T5X
   GOTO 30                                                               T5X
*                                                                        T5X
*----------READ TAPE REVERSE FROM EOT TO BOT                             T5X
*                                                                        T5X
40 WC = 500                                                              T5X
41 B5 = 6                                                                T5X
   RES P1, ABT 74                                                        T5X
   B5 = 13                                                               T5X
   READ REV, ABT 74                                                      T5X
   IF(SB.AND.BOT.NE.0) GOTO 45    *IF LOAD POINT                         T5X
   IF(B1.EQ.0) GOTO 42       *IF RECORD COUNT UNDERFLOW                  T5X
   B1 = B1 - 1                                                           T5X
   GOTO 43                                                               T5X
42 B1 = 7777                 *PRESET RECORD COUNT                        T5X
   B0 = B0 - 1               *AND DECREMENT FILE COUNT                   T5X
43 IF(P3.AND.20.NE.0) GOTO 44  *IF BYPASS WAIT *NOT BUSY*                T5X
   B5 = 4                                                                T5X
   WAITNB, ABT 74                                                        T5X
44 IF(SB.AND.ERROR.EQ.0) GOTO 41   *IF NO ERROR                          T5X
   B5 = 14                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/202, GOSUB 70                                                 T5X
   GOTO 41                                                               T5X
45 IF(B0.NE.0) GOTO 46       *IF FILE COUNT ERROR                        T5X
   IF(B1.EQ.0) GOTO 50       *IF NO RECORD COUNT ERROR                   T5X
46 ERROR 2/267, GOSUB 70                                                 T5X
*                                                                        T5X
*---------READ TAPE FORWARD IF REPEAT MODULE SELECTED                    T5X
*                                                                        T5X
50 IF(ES.AND.RM.EQ.0) GOTO 55                                            T5X
   B0 = 0                    *CLEAR FILE COUNT                           T5X
   B1 = 0                    *CLEAR RECORD COUNT                         T5X
51 B5 = 6                                                                T5X
   RES P1, ABT 74                                                        T5X
   B5 = 12                                                               T5X
   READ FWD, ABT 74                                                      T5X
   B1 = B1 + 1               *BUMP RECORD COUNT                          T5X
   IF(B1.NE.0) GOTO 52       *IF NO RECORD COUNT OVERFLOW                T5X
   B0 = B0 + 1               *BUMP FILE COUNT                            T5X
52 IF(P3.AND.20.NE.0) GOTO 53  *IF BYPASS WAIT *NOT BUSY*                T5X
   B5 = 4                                                                T5X
   WAITNB, ABT 74                                                        T5X
53 IF(SB.AND.EOT.NE.0) GOTO 55      *IF EOT REACHED                      T5X
   IF(SB.AND.ERROR.EQ.0) GOTO 55   *IF NO ERROR                          T5X
   B5 = 14                                                               T5X
   STATUS, ABT 74                                                        T5X
   ERROR 2/203, GOSUB 70                                                 T5X
   GOTO 51                                                               T5X
55 IF(ES.AND.CM.NE.0)GOTO 26  *IF REPEAT MODULE/CONDITION                T5X
   IF(BA.EQ.0)GOTO 57                 *NO ERRORS                         T5X
56 MSG 15 (BA) TO DAYFILE             *REPORT ERRORS                     T5X
57 GOTO 77                   *****TERMINATE TESTING******                T5X
*                                                                        T5X
*---------PROCESS MODULE DETECTED ERROR(S)                               T5X
*                                                                        T5X
70 BA = BA + 1                *BUMP ERROR COUNT                          T5X
71 MSG EM(EC,EA) TO LINE 1    *ERROR CODE MESSAGE                        T5X
72 CALL 98A                   *ERROR CODE PROCESSOR                      T5X
   MSG 1 TO DISPLAY           *REPLACE RUN MESSAGE                       T5X
   RETURN                     *RETURN                                    T5X
*                                                                        T5X
*---------PROCESS PRODUCT OVERLAY ABORT                                  T5X
*                                                                        T5X
74 BA = BA + 1                *BUMP ERROR COUNT                          T5X
75 MSG B5 TO LINE 0           *ERROR CONDITION                           T5X
   MSG EM TO LINE 1           *PRODUCT OVERLAY ERROR MESSAGE             T5X
   CALL 980                  *PROCESS ERROR MODULE                       T5X
   MSG 1 TO DISPLAY          *REPLACE RUN MESSAGE                        T5X
   IF(BA.LT.2) GOTO 26       *NOT SECOND TRY                             T5X
   GOTO 55                   *ABNORMAL TERMINATION                       T5X
77 END 20                                                                T5X
COMPILE   - T5X73 -                                                      T5X
   MODULE T5X74,65X(40,41,50,51)LOCK   - CLIPPING LEVELS -               T5X
*** T5X74 - CLIPPING LEVELS                                              T5X
*                                                                        T5X
**  T5X74 - EXTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         T5X74 EXERCISES ALL CLIPPING LEVEL SELECTIONS, SO              T5X
*         THAT THEY MAY BE VERIFIED BY SCOPING THE TAPE UNIT.            T5X
*         T5X74 IS NOT INTENDED TO BE A *PASS OR FAIL* MODULE            T5X
*         BUT, IT MAY BE USED TO COMPARE ONE UNITS PERFORMANCE           T5X
*         WITH ANOTHER.                                                  T5X
*         APPROXIMATELY THREE FEET OF TAPE IS ERASED THEN,               T5X
*         THREE RECORDS ARE WRITTEN.  THE THIRD AND SECOND               T5X
*         RECORDS ARE BACKSPACED THEN, THE SECOND                        T5X
*         RECORD IS READ WITH ONE OF EIGHT CLIPPING LEVEL                T5X
*         SELECTIONS.  THE SECOND RECORD IS BACKSPACED                   T5X
*         AGAIN,  THE NEXT CLIPPING LEVEL IS SELECTED AND SO             T5X
*         ON, UNTIL THE SECOND RECORD HAS BEEN READ EIGHT                T5X
*         TIMES, ONCE WITH EACH CLIPPING LEVEL SELECTION.                T5X
*                                                                        T5X
*                                                                        T5X
*   DESCRIPTION -                                                        T5X
*                                                                        T5X
*         1. RESERVE.                                                    T5X
*         2. REWIND.                                                     T5X
*         3. ERASE THREE FEET OF TAPE.                                   T5X
*         4. FILL OUTPUT BUFFER WITH RECORD NUMBER.                      T5X
*            (IE. 1111 = THE FIRST RECORD)                               T5X
*         5. RESERVE.                                                    T5X
*         6. WRITE A RECORD. (P2 = LENGTH)                               T5X
*         7. INCREMENT RECORD NUMBER AND GO TO STEP 4,                   T5X
*            UNTIL THREE RECORDS HAVE BEEN WRITTEN.                      T5X
*         8. BACK SPACE OVER THE THIRD RECORD.                           T5X
*         9. SET CLIPPING LEVEL SELECT COUNTER TO ZERO.                  T5X
*        10. SELECT CLIPPING LEVEL.                                      T5X
*        11. RESERVE.                                                    T5X
*        12. BACKSPACE OVER THE SECOND RECORD.                           T5X
*        13. POST THE CURRENT CLIPPING LEVEL                             T5X
*            SELECTION MESSAGE.                                          T5X
*        14. WAIT ONE SECOND FOR REPEAT CONDITION                        T5X
*            TO BE TURNED ON.                                            T5X
*        15. READ THE SECOND RECORD.                                     T5X
*        16. IF REPEAT CONDITION IS SELECTED GO TO                       T5X
*            STEP 10.                                                    T5X
*        17. INCREMENT CLIPPING LEVEL SELECT COUNTER.                    T5X
*        18. GO TO STEP 10 UNTIL ALL EIGHT CLIPPING                      T5X
*            LEVEL SELECTIONS HAVE BEEN USED.                            T5X
*        19. GO TO STEP 9 IF REPEAT MODULE IS                            T5X
*            SELECTED.                                                   T5X
*        20. TERMINATE.                                                  T5X
***                                                                      T5X
**                                                                       T5X
*                                                                        T5X
*                                                                        T5X
*   ERRORS REPORTED -                                                    T5X
*                                                                        T5X
*         1. ALL PRODUCT OVERLAY ERRORS.                                 T5X
*                                                                        T5X
*         2. T5X74 - ABORT ON .RES. COMMAND                              T5X
*         3. T5X74 - ABORT ON .REWIND. COMMAND                           T5X
*         4. T5X74 - ABORT ON .ERASE. COMMAND                            T5X
*         5. T5X74 - ABORT ON .STATUS. COMMAND                           T5X
*         6. T5X74 - ABORT ON .BKSP. COMMAND                             T5X
*         7. T5X74 - ABORT ON .WRITE. COMMAND                            T5X
*         8. T5X74 - ABORT ON .READ. COMMAND                             T5X
*                                                                        T5X
*         9. T5X74 - EC 126 - INCORRECT RECORD WAS READ                  T5X
*        10. T5X74 - EC 132 - ABNORMAL STATUS                            T5X
*        11. T5X74 - EC 137 - STILL AT BOT AFTER AN ERASE                T5X
*                                                                        T5X
*                                                                        T5X
*** T5X74 - INTERNAL DOCUMENTATION                                       T5X
*                                                                        T5X
*   REGISTER USAGE                                                       T5X
*                                                                        T5X
*         B0 = ERASE COUNT                                               T5X
*         B2 = CLIPPING LEVEL SELECT COUNTER (COUNTS UP)                 T5X
*         B5 = MESSAGE NUMBER IN CASE OF COMMAND ABORT                   T5X
*         B6 = PASS COUNT FOR SCOPING LOOPS                              T5X
*         BA = ERROR COUNTER                                             T5X
*                                                                        T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*                                                                        T5X
 0 FORMAT T5X74 - NORMAL CLIP (INCL IRG)                                 T5X
 1 FORMAT T5X74 - LOW CLIP    (INCL IRG)                                 T5X
 2 FORMAT T5X74 - HYPER CLIP  (INCL IRG)                                 T5X
 3 FORMAT T5X74 - HIGH CLIP   (INCL IRG)                                 T5X
 4 FORMAT T5X74 - NORMAL CLIP (EXCL IRG)                                 T5X
 5 FORMAT T5X74 - LOW CLIP    (EXCL IRG)                                 T5X
 6 FORMAT T5X74 - HYPER CLIP  (EXCL IRG)                                 T5X
 7 FORMAT T5X74 - HIGH CLIP   (EXCL IRG)                                 T5X
10 FORMAT T5X74 - CLIPPING LEVELS                                        T5X
11 FORMAT T5X74 - ABORT ON .RES. COMMAND                                 T5X
12 FORMAT T5X74 - ERRS=*DEC LOOPS=*DEC                                   T5X
13 FORMAT T5X74 ERROR(S) IN MODULE =  *DEC                               T5X
14 FORMAT T5X74 - ABORT ON .REWIND. COMMAND                              T5X
15 FORMAT T5X74 - ABORT ON .ERASE. COMMAND                               T5X
16 FORMAT T5X74 - ABORT ON .STATUS. COMMAND                              T5X
17 FORMAT T5X74 - ABORT ON .BKSP. COMMAND                                T5X
20 FORMAT T5X74 - ABORT ON .WRITE. COMMAND                               T5X
21 FORMAT T5X74 - ABORT ON .READ. COMMAND                                T5X
22 FORMAT T5X74 - EC 132 - ABNORMAL STATUS                               T5X
23 FORMAT T5X74 - EC 137 - STILL AT BOT AFTER AN ERASE                   T5X
24 FORMAT T5X74 - EC 126 - INCORRECT RECORD WAS READ                     T5X
*                                                                        T5X
   EQUATE ERROR TO 6410, READY TO 1, BOT TO 20                           T5X
*                                                                        T5X
*----------RESERVE, ERASE 3 FEET----------                               T5X
*                                                                        T5X
30 MSG 10 TO DISPLAY,PRINT                                               T5X
31 B0 = 0                    *CLEAR ERASE COUNT                          T5X
   B5 = 11                                                               T5X
   RES P1, ABT 70                                                        T5X
   IF(SB.AND.READY.EQ.0) ERROR 22/0, GOTO 70  *IF NOT READY              T5X
   B5 = 14                                                               T5X
   REWIND, ABT 70                                                        T5X
   B5 = 15                                                               T5X
32 ERASE, ABT 70             *MOVE FWD 6 INCHES                          T5X
   IF(SB.AND.READY.EQ.0) ERROR 22/0, GOTO 70  *IF NOT READY              T5X
   IF(SB.AND.BOT.NE.0) ERROR 23/0, GOTO 70  *IF STILL AT BOT             T5X
   GOTO 32 WHILE (B0+1.NE.6)   *ERASE 3 FEET                             T5X
   B0 = 0                      *CLEAR FILE COUNT                         T5X
*                                                                        T5X
*----------WRITE THREE RECORDS----------                                 T5X
*                                                                        T5X
   B1 = 1111                 *DATA PATTERN FOR 1ST RECORD                T5X
   WC = P2                   *GET SELECTED WORD LENGTH                   T5X
35 B5 = 11                                                               T5X
   DUP B1 TO OB FOR 500                                                  T5X
   RES P1, ABT 70                                                        T5X
   B5 = 20                                                               T5X
   WRITE, ABT 70                                                         T5X
   IF(SB.AND.ERROR.NE.0) ERROR 22/0, GOTO 70                             T5X
   B1 = B1 + 1111                                                        T5X
   IF(B1.LE.3333) GOTO 35                                                T5X
*                                                                        T5X
*----------BKSP OVER THIRD RECORD----------                              T5X
*                                                                        T5X
   B5 = 17                                                               T5X
   BKSP, ABT 70               *BACK OVER RECORD OF 3333                  T5X
   IF(SB.AND.ERROR.NE.0) ERROR 22/0, GOTO 70                             T5X
*                                                                        T5X
36 B2 = 0                     *CLIP LEVEL                                T5X
*                                                                        T5X
*----------BACKSPACE OVER SECOND RECORD----------                        T5X
*                                                                        T5X
40 MARGINS B2                *SELECT CLIP LEVEL                          T5X
*                                                                        T5X
45 B5 = 11                                                               T5X
   RES P1, ABT 70                                                        T5X
   B5 = 17                                                               T5X
   BKSP, ABT 70               *BACK OVER RECORD OF 2222                  T5X
   IF(SB.AND.ERROR.NE.0) ERROR 22/0, GOTO 70                             T5X
   MSG B2 TO DISPLAY                                                     T5X
*                                                                        T5X
*----------READ THE SECOND RECORD----------                              T5X
*                                                                        T5X
   B5 = 21                                                               T5X
   READ, ABT 70                                                          T5X
   IF(SB.AND.ERROR.NE.0) ERROR 22/0, GOSUB 50                            T5X
   IF(IB.NE.2222) ERROR 24/0, GOTO 70  *IF WRONG DATA READ               T5X
   IF(ES.AND.RC.NE.0) GOTO 45  *REPEAT CONDITION                         T5X
   B2 = B2 + 1               *SELECT NEXT CLIPPING LEVEL                 T5X
   IF(B2.GT.7) GOTO 72       *TEST FINISHED                              T5X
   GOTO 40                                                               T5X
*                                                                        T5X
*-------ERROR PROCESSOR-----------------------------                     T5X
*                                                                        T5X
50 STATUS, ABT 53                *GET 2ND WORD FOR 65X                   T5X
   GOTO 54                                                               T5X
53 B5 = 16                       *SET MSG INDEX FOR STATUS ABORT         T5X
54 BA = BA + 1       *BUMP ERROR COUNT                                   T5X
   IF(ES.AND.SL.NE.0) GOTO 56  *SCOPING                                  T5X
   MSG EM TO LINE 1                                                      T5X
   CALL 980          *CALL STATUS CRACKER                                T5X
   RETURN                                                                T5X
56 B6 = B6 + 1       *BUMP PASS COUNT                                    T5X
   MSG 12(BA,B6) TO DISPLAY    *POST SCOPING MSG                         T5X
   RETURN                                                                T5X
70 BA = BA + 1       *BUMP ERROR COUNT                                   T5X
   IF(ES.AND.SL.NE.0) GOTO 73  *SCOPING                                  T5X
   IF(EM.LT.100) GOTO 71      *NO DRIVER ERROR                           T5X
   MSG B5 TO LINE 0                                                      T5X
71 MSG EM TO LINE 1                                                      T5X
   CALL 980          *CALL STATUS CRACKER                                T5X
   MSG 10 TO DISPLAY  *RE-POST RUNNING MESSAGE                           T5X
72 IF(ES.AND.SL.EQ.0) GOTO 74  *NOT SCOPING                              T5X
73 B6 = B6 + 1       *BUMP PASS COUNT                                    T5X
   MSG 12(BA,B6) TO DISPLAY    *POST SCOPING MSG                         T5X
74 IF(ES.AND.CM.NE.0) GOTO 31  *RC OR RM                                 T5X
   IF(BA.EQ.0) GOTO 76        *NO MODULE ERRORS                          T5X
   MSG 13(BA) TO DAYFILE      *INDICATE ERRORS TO DAYFILE                T5X
76 END 30                                                                T5X
COMPILE   - T5X74 -                                                      T5X
   MODULE T5X80,65X(40,41,50,51)LOCK  - COMPATIBILITY TEST
*** T5X80 - COMPATIBILITY TEST
* 
**  T5X80 - EXTERNAL DOCUMENTATION
* 
*   OVERVIEW -
* 
*         THIS MODULE ALLOWS THE USER TO VERIFY READ COMPATIBILITY
*         BETWEEN 60X/65X TAPE TRANSPORTS OR BETWEEN 60X/65X UNITS
*         AND OTHER CDC TAPE UNITS (66X OR 67X).  TO ACCOMPLISH THIS
*         TASK, A -COMPAT- TAPE IS GENERATED SUCH THAT EACH TRANSPORT 
*         IN A SYSTEM HAS A FILE OF DATA ON THE TAPE. OBVIOUSLY, A
*         SEPARATE TAPE MUST BE USED FOR 7TK UNITS, 9TK NRZI, PHASE 
*         AND 9TK GCR.  FOR EXAMPLE, ALL 7TK UNITS IN A SYSTEM SHOULD 
*         CONTAIN A FILE OF DATA ON THE 7TK -COMPAT- TAPE REGARDLESS
*         OF THEIR UNIT TYPE. (NOTE- THIS MODULE CAN ONLY BE USED ON
*         60X/65X UNITS. TO ACCOMPLISH THIS TASK ON OTHER DEVICES, THE
*         COMPATIBILITY TEST IN T6X OR T7X DIAGNOSTICS MUST BE USED.
*         THIS IS POSSIBLE SINCE T5X, T6X AND T7X COMPATIBILITY 
*         TESTS ARE COMPATIBLE).
* 
*         THIS TEST OPERATES IN TWO MODES, DETERMINED BY THE PRESENCE 
*         OR ABSENCE OF A WRITE RING IN THE UNIT TO BE TESTED.  IF A
*         WRITE RING IS PRESENT IT INDICATES THAT THE USER WANTS TO 
*         ADD A NEW FILE OF DATA TO THE -COMPAT- TAPE.  THIS WILL BE
*         ACCOMPLISHED AS FOLLOWS;
* 
*           1. READ THE TAPE FORWARD FROM LOAD POINT TO DOUBLE EOF. 
*           2. BACKSPACE OVER THE SECOND EOF. 
*           3. WRITE A FILE OF DATA AND DOUBLE EOF. 
*           4. READ THE TAPE REVERSE TO LOAD POINT. 
* 
*         THE READ OPERATIONS VERIFY THE ABILITY OF THIS UNIT TO READ 
*         DATA ON THE TAPE WRITTEN BY PREVIOUS UNITS.  PRIOR TO 
*         RUNNING THE COMPATIBILITY TEST IN A WRITE MODE, A NORMAL RUN
*         OF T5X SHOULD BE MADE TO ENSURE THE UNIT IS OPERATIONAL.
*         NORMALLY A LOT OF TIME AND EFFORT WILL BE INVESTED IN THE 
*         COMPATIBILITY TAPE AND CARE MUST BE USED TO ENSURE THAT A 
*         BAD UNIT DOES NOT DESTROY IT.  SHOULD IT BE NECESSARY, IT 
*         MAY BE POSSIBLE TO CLEAN UP THE TAPE USING MODULE T5X81.
* 
*         SINCE A SEARCH IS MADE FOR DOUBLE END-OF-FILES IN EITHER
*         MODE, THE USER MUST ENSURE THAT A NEW -COMPAT- TAPE HAS AT
*         LEAST TWO END-OF-FILES OFF LOAD POINT WHEN THE FIRST RUN OF 
*         THIS TEST IS MADE.  THIS CAN BE ACCOMPLISHED WITH THE USE OF
*         MODULE T5X41 (WRITE FILE MARKS TEST).  THIS PROCEDURE IS ONLY 
*         REQUIRED ON THE FIRST RUN TO INITIALIZE THE -COMPAT- TAPE.
* 
*         THE SECOND MODE OF OPERATION IS USED IF A WRITE RING IS NOT 
*         PRESENT.  THIS INDICATES THAT THE USER IS SIMPLY TESTING FOR
*         READ COMPATIBILITY AND NO WRITING IS TO BE PERFORMED.  THE
*         TAPE IS REWOUND AND READ FORWARD TO DOUBLE END-OF-FILES,
*         THEN READ REVERSE TO LOAD POINT.
* 
*         THE FILE OF DATA ADDED TO THE TAPE IN A WRITE MODE CONTAINS 
*         200 DECIMAL RECORDS OF RANDOM DATA.  THE RECORD LENGTH IS 
*         DEFINED BY THE USER IN PARAMETER REGISTER P2.  ACTUALLY, P2 
*         WILL BE MULTIPLIED BY 8 TO OBTAIN THE ACTUAL NUMBER OF WORDS
*         TO WRITE.  TYPICALLY A VALUE OF 500 OCTAL SHOULD BE USED IN 
*         P2 SUCH THAT 5000 OCTAL PP WORDS ARE WRITTEN.  THIS IS THE
*         NORMAL RECORD SIZE FOR OPERATING SYSTEM TAPES.  THE LENGTH
*         SELECTED IS QUITE IMPORTANT SINCE IT CONTROLS THE NUMBER OF 
*         UNITS THAT MAY HAVE A FILE OF DATA ON THE -COMPAT- TAPE.
*         FOR EXAMPLE, USING THE ABOVE FIGURES, THE FOLLOWING INDICATES 
*         THE NUMBER OF UNITS THAT COULD SHARE A 2400 FOOT REEL OF
*         TAPE.  IF MORE UNITS THAN THOSE INDICATED MUST BE TESTED, 
*         THE USER MUST USE SHORTER RECORDS OR USE MULTIPLE TAPES.  TO
*         ENSURE A REASONABLE TEST, A WORD COUNT OF 240 OCTAL IS
*         USED IF THE USER SETS REGISTER P2 LESS THAN 240.
* 
*            7TK 556 BPI    - 14
*            7TK 800 BPI    - 20
*            9TK 800 BPI    - 26
*            9TK 1600 BPI   - 46
* 
*         TO ASSIST IN ISOLATING UNITS THAT ARE NOT COMPATIBLE, EACH
*         RECORD WRITTEN CONTAINS INFORMATION WITHIN IT THAT IDENTIFIES 
*         WHICH FILE IT IS IN, WHAT RECORD NUMBER IT IS, IT'S LENGTH
*         AND THE CHANNEL, EQUIPMENT, UNIT AND SYSTEM ID OF THE UNIT
*         THAT HAS WRITTEN THE DATA.  THIS DATA IS WRITTEN WITHIN THE 
*         RECORD SUCH THAT IT IS AVAILABLE ON A FORWARD OR REVERSE
*         READ IN THE FOLLOWING WORDS OF THE INPUT BUFFER.
* 
*            IB(1) = FILE NUMBER
*            IB(2) = RECORD NUMBER
*            IB(3) = LENGTH/8 
*            IB(4) = CHANNEL
*            IB(5) = EQUIPMENT
*            IB(6) = UNIT 
*            IB(7) = SYSTEM NUMBER
* 
*         IN ORDER TO IDENTIFY THE SYSTEM NUMBER IN A MULTI-MAINFRAME 
*         ENVIRONMENT, THE VALUE SUPPLIED BY THE USER IN PARAMETER
*         REGISTER P9 IS USED DURING A WRITE MODE AS THE SYSTEM NUMBER. 
*         ACTUALLY THIS CAN BE ANY OCTAL VALUE THE USER CHOOSES.  FOR 
*         EXAMPLE, IT MAY INDICATE THE EST, OR SYSTEM AND EST OR AN 
*         OCTAL BOX NUMBER OF THE UNIT BEING TESTED.  IT SHOULD BE
*         UNDERSTOOD THAT THE DATA IN IB(1-7) MAY BE INVALID IF READ
*         ERRORS OCCUR.  HOWEVER, THE FILE NUMBER BEING PROCESSED 
*         THAT IS REPORTED IN OUTPUT IS CORRECT AND CAN BE USED TO
*         DETERMINE THE UNIT THAT WROTE THE DATA (THE USER MUST KEEP
*         A GOOD COPY OF THE OUTPUT OF MODULE 80 TO BE ABLE TO
*         DETERMINE WHICH FILE WAS WRITTEN BY WHICH UNIT).
* 
*         IT IS IMPORTANT THAT A CERTIFIED TAPE BE USED FOR THIS TEST.
*         DURING A WRITE MODE, WRITE ERRORS ARE RECOVERED IF POSSIBLE 
*         BY BACKSPACING, ERASING AND RE-WRITING A RECORD OR FILE MARK
*         UP TO THREE TIMES.  IF THIS PROCESS IS NOT SUCCESSFUL, OR IF
*         AN ERROR OCCURS ON THE ERASE, THE WRITE IS ABORTED.  TO TRY 
*         AND SAVE THE FORMAT OF THE -COMPAT- TAPE, A SEARCH IS MADE
*         REVERSE FOR THE LAST END-OF-FILE AND AN ATTEMPT IS MADE TO
*         ADD ANOTHER END-OF-FILE TO THE TAPE SUCH THAT IT IS PROPERLY
*         TERMINATED FOR SUBSEQUENT RUNS.  HOWEVER, CARE MUST BE USED 
*         IF UNRECOVERED WRITES OCCUR SINCE THE TAPE MAY NO LONGER BE 
*         PROPERLY TERMINATED.  WRITING ALSO TERMINATES ONCE END-OF-
*         TAPE IS DETECTED AND THE USER SHOULD NOT ATTEMPT TO ADD MORE
*         FILES TO THE TAPE (NO MORE WRITES ARE ALLOWED). 
* 
*         IN A READ MODE NO RECOVERY IS ATTEMPTED. ERRORS ARE REPORTED
*         AND READING CONTINUES.  IN ADDITION TO STATUS CHECKS DURING 
*         THE READING, CHECKS ARE MADE TO ENSURE THAT THE CORRECT 
*         NUMBER OF RECORDS ARE READ FOR EACH FILE ON BOTH FORWARD AND
*         REVERSE READS AND A CHECK IS MADE TO ENSURE THAT THE SAME 
*         NUMBER OF FILES AND RECORDS ARE READ REVERSE THAT WERE
*       PROCESSED FORWARD.  SINCE ERROR RECOVERY IS PERFORMED ON
*       WRITE OPERATIONS, ZERO ERRORS ARE EXPECTED ON READ.  ANY ERROR
*       INDICATES A FAILURE OF THE TEST AND THE CAUSE MUST BE FOUND.
* 
*         IT IS RECOMMENDED THAT THE COMPATIBILITY TEST BE EXECUTED 
*         AT ODD PARITY WITH NO CODE TRANSLATION SELECTED AND 3N+2
*         OPTION DISABLED (P1 = 000X).  THE TEST SHOULD BE EXECUTED 
*         IN A READ MODE AT LEAST ONCE EVERY MONTH ON ALL UNITS AND 
*         THE WRITE MODE SHOULD BE PERFORMED ON A UNIT IF MAJOR 
*         ELECTRICAL OR MECHANICAL ADJUSTMENT/REPLACEMENTS ARE MADE 
*         THAT COULD IMPACT TAPE SKEW, TAPE TRACKING OR TAPE-TO-HEAD
*         CONTACT.
* 
*         THE COMPATIBILITY TEST IS ACTUALLY MADE UP OF THREE MODULES 
*         AS FOLLOWS; 
* 
*            T5X80  - READ FORWARD
*            T5X80A - WRITE 
*            T5X80B - READ REVERSE
* 
*         TO REDUCE COMPLEXITY, EACH MODULE WILL BE DESCRIBED 
*         SEPARATELY SINCE EACH PERFORMS A SPECIFIC FUNCTION IN THE 
*         OVERALL TEST. 
* 
*   DESCRIPTION - (FORWARD READ)
* 
*         1. CALCULATE WORD COUNT AND BUFFER INDEXES IN CASE WRITES 
*            ARE PERFORMED LATER.  SET THE WORD COUNT TO 500. 
*         2. SET READ CLIP MARGINS SELECTED IN P3.
*         3. RESERVE. 
*         4. REWIND.
*         5. READ THE FIRST RECORD FORWARD. 
*         6. IF THE FIRST RECORD IS NOT AN END-OF-FILE, REPORT EC070
*            AND TERMINATE (NOT A -COMPAT- TAPE). 
*         7. INITIALIZE THE FILE COUNTER, RECORD COUNTER AND NUMBER 
*            OF FILE MARKS READ TO 1. 
*         8. RESERVE. 
*         9. READ A RECORD FORWARD. 
*        10. WAIT NOT BUSY IF SELECTED IN P3. 
*        11. IF END-OF-TAPE IS ENCOUNTERED, REPORT THE FACT AND EXIT
*            TO T5X80B (REVERSE READ - NOTE THAT WRITING IS BYPASSED).
*        12. IF END-OF-FILE STATUS, BUMP THE FILE COUNTER AND NUMBER
*            OF CONSECUTIVE FILE MARKS COUNTER.  IF TWO CONSECUTIVE 
*            FILE MARKS HAVE BEEN ENCOUNTERED, BACKSPACE OVER THE 
*            SECOND END-OF-FILE AND EXIT TO T5X80A (WRITE MODULE) 
*            IF WRITE RING STATUS IS UP, OR TO T5X80B (READ REVERSE)
*            IF NO WRITE RING STATUS.  IF NOT TWO FILE MARKS, VERIFY
*            THAT THE PROPER NUMBER OF RECORDS WERE READ IN THE LAST
*            FILE.  IF NOT, REPORT EC071.  RESET THE RECORD COUNTER 
*            TO 1 AND GO TO STEP 8 TO CONTINUE THE READ.
*        13. IF AN ABNORMAL STATUS ERROR OCCURRED ON THE READ, REPORT 
*            EC203. 
*        14. WE ARRIVE AT THIS STEP IF AN END-OF-FILE WAS NOT READ. 
*            RESET THE CONSECUTIVE FILE MARKS COUNTER.  REPORT A
*            RUNNING MESSAGE IF THE PREVIOUS READ WAS THE FIRST RECORD
*            OF A NEW FILE.  INCREMENT THE RECORD COUNT AND GO TO 
*            STEP 8 TO CONTINUE THE READ. 
* 
*   ERRORS REPORTED - 
* 
*         1. ALL PRODUCT OVERLAY ERRORS.
* 
*         2. T5X80 - ABORT ON .RES. COMMAND 
*         3. T5X80 - ABORT ON .REL. COMMAND 
*         4. T5X80 - ABORT ON .REWIND. COMMAND
*         5. T5X80 - ABORT ON .READ FWD. COMMAND
*         6. T5X80 - ABORT ON .WAITNB. COMMAND
*         7. T5X80 - ABORT ON .BKSP. COMMAND
* 
*         8. EC070- TAPE MOUNTED IS NOT A -COMPAT- TAPE 
* 
*         9. EC071- RECORD COUNT=*OCT IN FILE *OCT, EXP=0311
* 
*        10. EC203- ALERT BIT IN GENERAL STATUS WAS SET DURING
*            A READ FORWARD OPERATION.  THE INPUT BUFFER CONTAINS 
*            DATA JUST READ.
* 
*** T5X80 - INTERNAL DOCUMENTATION
* 
*   REGISTER USAGE -
* 
*         B0 = TOTAL FILE COUNTER 
*         B1 = RECORD COUNTER PER FILE
*         B2 = INDEX INTO OB FOR RECORD CODING
*         B3 = WORD COUNT FOR LATER WRITE OPERATIONS
*         B4 = CONSECUTIVE FILE MARKS COUNTER 
*         B5 = ABORT MESSAGE POINTER
*            = MARGINS
*         BA = ERROR COUNT
* 
*   MODULES CALLED -
* 
*         T5X980 - STATUS ANALYSIS MODULE 
* 
*         T5X98A - ERROR CODE PROCESSOR 
* 
 1 FORMAT T5X80 - COMPATIBILITY FORWARD READ -
 2 FORMAT T5X80 ERROR CODE = *OCT  AT LINE (EA) = *OCT
 3 FORMAT T5X80 - ABORT ON .READ FWD. COMMAND - 
 4 FORMAT T5X80 - ABORT ON .REWIND. COMMAND - 
 5 FORMAT T5X80 - ABORT ON .RES. COMMAND -
 6 FORMAT T5X80 - ABORT ON .REL. COMMAND -
 7 FORMAT T5X80 - ABORT ON .WAITNB. COMMAND - 
10 FORMAT EC070- TAPE MOUNTED IS NOT A -COMPAT- TAPE
11 FORMAT EC071- RECORD COUNT=*OCT IN FILE *OCT, EXP=0311 
12 FORMAT T5X80 - FILE=*OCT CH=*OCT EQ=*OCT UN=*OCT SYS=*OCT
13 FORMAT T5X80 - END OF TAPE ENCOUNTERED AT RECORD *OCT
14 FORMAT T5X80 ERROR(S) IN MODULE = *DEC - 
15 FORMAT T5X80 - ABORT ON .BKSP. COMMAND - 
* 
   EQUATE EOT TO 40, EOF TO 10, RING TO 4, STERR TO 6470
* 
20 MSG 1 TO DISPLAY,PRINT    *POST RUNNING MESSAGE
   BA = 0                    *CLEAR ERROR COUNTER 
* 
*---------CALCULATE INDEX INTO OB FOR REVERSE READ DATA 
* 
   B3 = P2                   *USER SELECTED WORD COUNT
   IF(B3.GE.240) GOTO 21     *IF .GE. MINIMUM 
   B3 = 240                  *SET IT TO MINIMUM 
21 B2 = B3-1.AND.7           *COMPUTE INDEX TO OB 
   IF(B2.GE.1) GOTO 22       *IF NOT ON TOP OF FWD DATA 
   B3 = B3 + 1               *BUMP WC AND TRY AGAIN 
   GOTO 21
22 B2 = B2.LS.3+100          *INDEX TO OB FOR REV DATA
* 
*---------DETERMINE IF WE HAVE A -COMPAT- TAPE MOUNTED
* 
   WC = 500 
   B5 = P3.RS.6.AND.7 
   MARGINS B5                *SELECT READ CLIP MARGINS
   B5 = 5 
   RES P1, ABT 74 
   B5 = 4 
   REWIND, ABT 74 
   B5 = 3 
   READ FWD, ABT 74          *READ FIRST RECORD 
   IF(SB.AND.EOF.NE.0) GOTO 25  *IF EOF ON FIRST READ 
   B5 = 6 
   REL, ABT 74
   MSG 10 TO LINE 1 
   BA = BA + 1               *BUMP ERROR COUNTER
   GOTO 75                   *TERMINATE, NOT -COMPAT- TAPE
25 B0 = 1                    *SET FILE COUNT TO 1 
   B4 = 1                    *SET CONSECUTIVE FILES TO 1
* 
*--------READ TAPE FORWARD COUNTING RECORDS AND FILES.
* 
30 B1 = 1                    *SET RECORD COUNT TO 1 
31 B5 = 5 
   RES P1, ABT 74 
   B5 = 3 
   READ FWD, ABT 74 
   IF(P3.AND.20.NE.0) GOTO 32  *IF WAIT NOT BUSY DISABLED 
   B5 = 7 
   WAITNB, ABT 74 
32 IF(SB.AND.STERR.EQ.0)GOTO 34  *IF NO ERROR,EOF OR EOT
   IF(SB.AND.EOF.NE.0) GOTO 36   *IF END OF FILE
   IF(SB.AND.EOT.NE.0) GOTO 41   *IF END OF TAPE
   ERROR 2/203, GOSUB 70         *REPORT THE READ ERROR 
34 B4 = 0                    *CLEAR CONSECUTIVE FILES CTR.
   IF(B1.NE.1) GOTO 35       *IF NOT FIRST RECORD OF FILE 
   MSG 12 (B0,IB(4),IB(5),IB(6),IB(7)) TO DISPLAY,PRINT 
35 B1 = B1 + 1               *BUMP RECORD COUNTER 
   GOTO 31
36 B4 = B4 + 1               *BUMP CONSECUTIVE FILES CTR. 
   IF(B4.EQ.2) GOTO 40       *IF DOUBLE END OF FILES
   IF(B1.NE.201D) GOTO 37    *IF RECORD COUNT INCORRECT 
   B0 = B0 + 1               *BUMP FILE COUNT 
   IF(SB.AND.EOT.EQ.0) GOTO 30  *IF NOT END OF TAPE 
   B1 = 200D                 *RESET RECORD COUNT
   GOTO 41
37 MSG 11 (B1,B0) TO LINE 1 
   BA = BA + 1               *BUMP ERROR COUNTER
   CALL 980                  *REPORT RECORD COUNT ERROR 
   B0 = B0 + 1               *BUMP FILE COUNT 
   IF(SB.AND.EOT.EQ.0) GOTO 30  *IF NOT END OF TAPE 
   B1 = 200D                 *RESET RECORD COUNT
   GOTO 41
* 
*---------DOUBLE END-OF-FILES OR EOT DETECTED.  EXIT WITH 
*         B0=FILES READ AND B1=RECORDS READ IN LAST FILE. 
* 
40 B5 = 5 
   RES P1, ABT 74 
   B5 = 15
   BKSP, ABT 74              *BACK OVER SECOND END OF FILE
   B5 = 6 
   REL, ABT 74
   B1 = 200D                 *RESET RECORD COUNT
   IF(SB.AND.EOT.NE.0) GOTO 41  *IF END OF TAPE 
   IF(SB.AND.RING.EQ.0) GOTO 42  *IF NO WRITE RING
   EXIT TO 80A               *EXIT TO WRITE TAPE
41 MSG 13 (B1) TO DISPLAY,PRINT   *INDICATE EOT DETECTED
42 EXIT TO 80B               *EXIT TO READ REVERSE
* 
*---------PROCESS MODULE ERRORS 
* 
70 BA = BA + 1               *BUMP ERROR COUNTER
   MSG EM (EC,EA) TO LINE 1  *REPORT ERROR CODE/LINE
   CALL 98A                  *PROCESS ERROR CODE
   RETURN 
* 
*---------PROCESS PRODUCT OVERLAY ABORTS
* 
74 BA = BA + 1               *BUMP ERROR COUNTER
   MSG B5 TO LINE 0          *ERROR CONDITION 
   MSG EM TO LINE 1          *PRODUCT OVERLAY MESSAGE 
75 CALL 980                  *ERROR PROCESSOR 
   MSG 14 (BA) TO DAYFILE    *REPORT ERRORS TO DAYFILE
   END 20 
COMPILE   - T5X80 - 
   MODULE T5X80A,65X(40,41,50,51)LOCK  - COMPATIBILITY WRITE
*** T5X80A- COMPATIBILITY WRITE 
* 
**  T5X80A- EXTERNAL DOCUMENTATION
* 
*   DESCRIPTION - (WRITE) 
* 
*         1. GENERATE RANDOM DATA TO THE OUTPUT BUFFER USING THE
*            REAL-TIME CLOCK AS THE STARTER.
*         2. INSERT RECORD CODING DATA INTO THE OUTPUT BUFFER THAT
*            IDENTIFIES THIS RECORD.  ALL WORDS EXCEPT THE RECORD 
*            COUNT ARE INSERTED.
*         3. CLEAR THE RECORD COUNTER.  SET THE WORD COUNT FOR WRITES.
*         4. RESERVE. 
*         5. BUMP THE RECORD COUNT BY 1.
*         6. INSERT THE RECORD COUNT INTO THE OUTPUT BUFFER.
*         7. WRITE LONG (8 TIMES WC) ONE RECORD.
*         8. WAIT NOT BUSY IF SELECTED IN P3. 
*         9. IF END-OF-TAPE IS ENCOUNTERED, REPORT THE FACT AND EXIT
*            TO T5X80B (READ REVERSE).
*        10. IF NO ERRORS OCCURRED ON THE WRITE AND 200D RECORDS HAVE 
*            NOT BEEN WRITTEN, GO TO STEP 4 TO CONTINUE THE WRITE.
*            IF 200D RECORDS HAVE BEEN WRITTEN, WRITE TWO END-OF-FILES
*            AND EXIT TO T5X80B (REVERSE READ).  IF AN ERROR HAS
*            OCCURRED ON THE WRITE OR OCCURS ON THE WRITE OF THE TWO
*            FILE MARKS, THE ERROR IS REPORTED AND RECOVERY IS THEN 
*            ATTEMPTED.  AFTER SUCCESSFUL RECOVERY, PROGRAM FLOW
*            CONTINUES AS THOUGH THE ERROR DID NOT OCCUR.  THE STEPS
*            BELOW IDENTIFY THE RECOVERY SEQUENCE FOR BOTH WRITE AND
*            END-OF-FILE ERRORS.
*        11. RESERVE. 
*        12. BACKSPACE OVER BAD RECORD/FILE MARK. 
*        13. ERASE. 
*        14. IF A STATUS ERROR OCCURS ON THE ERASE, GO TO STEP 15.
*            OTHERWISE, RETRY THE WRITE OR ENDFILE OPERATION.  IF THE 
*            ERROR PERSISTS, REPEAT STEPS 11-14 THREE TIME.  EXIT THE 
*            RECOVERY SEQUENCE IF THE ERROR IS RECOVERED WITHIN THREE 
*            ATTEMPTS.
*        15. WE GET TO THIS STEP IF AN ERROR OCCURS ON AN ERASE OR IF 
*            A WRITE OR ENDFILE OPERATION CANNOT BE CORRECTED WITH 3
*            RETRIES.  RESERVE AND BACKSPACE THE TAPE UNTIL THE LAST
*            GOOD END-OF-FILE IS DETECTED.  ABORT THE TEST IF LOAD
*            POINT IS DETECTED BEFORE THE END-OF-FILE.  READ FORWARD
*            OVER THE END-OF-FILE AND WRITE A SECOND END-OF-FILE IN 
*            AN ATTEMPT TO PROPERLY TERMINATE THE TAPE (STATUS IS NOT 
*            TESTED ON THIS WRITE).  THE TEST IS THEN ABORTED.
* 
* 
*   ERRORS REPORTED - 
* 
*         1. ALL PRODUCT OVERLAY ERRORS.
* 
*         2. T5X80A- ABORT ON .RES. COMMAND 
*         3. T5X80A- ABORT ON .REL. COMMAND 
*         4. T5X80A- ABORT ON .WAITNB. COMMAND
*         5. T5X80A- ABORT ON .WRITE. COMMAND 
*         6. T5X80A- ABORT ON .BKSP. COMMAND
*         7. T5X80A- ABORT ON .ENDFILE. COMMAND 
*         8. T5X80A- ABORT ON .ERASE. COMMAND 
*         9. T5X80A- ABORT ON .READ FWD. COMMAND
* 
*        10. EC122- NO FM/TM STATUS IN GENERAL STATUS AT
*            END OF OPERATION AFTER A WRITE FM/TM 
* 
*        11. EC200- AN UNEXPECTED BIT APPEARED IN GENERAL STATUS
*            AFTER A WRITE OPERATION.  NOTE THAT GENERAL STATUS 
*            WAS MASKED WITH 6410B. 
* 
*        12. EC246- AN ALERT STATUS OCCURRED AFTER AN ERASE.
* 
* 
*** T5X80A- INTERNAL DOCUMENTATION
* 
*   REGISTER USAGE -
* 
*         B0 = TOTAL FILE COUNTER 
*         B1 = RECORD COUNTER PER FILE
*         B2 = INDEX INTO OB FOR RECORD CODING
*         B3 = WORD COUNT FOR WRITE OPERATIONS
*         B5 = ABORT MESSAGE POINTER
*         B6 = WRITE AND ENDFILE RETRY COUNTER
*         BA = ERROR COUNT
* 
*   MODULES CALLED -
* 
*         T5X980 - STATUS ANALYSIS MODULE 
* 
*         T5X98A - ERROR CODE PROCESSOR 
* 
 1 FORMAT T5X80A- COMPATIBILITY WRITE (FILE *OCT) 
 2 FORMAT T5X80A ERROR CODE = *OCT AT LINE (EA) = *OCT
 3 FORMAT T5X80A- ABORT ON .RES. COMMAND -
 4 FORMAT T5X80A- ABORT ON .REL. COMMAND -
 5 FORMAT T5X80A- ABORT ON .WRITE. COMMAND -
 6 FORMAT T5X80A- ABORT ON .WAITNB. COMMAND - 
 7 FORMAT T5X80A- ABORT ON .BKSP. COMMAND - 
10 FORMAT T5X80A- ABORT ON .ENDFILE. COMMAND -
11 FORMAT T5X80A- ABORT ON .ERASE. COMMAND -
12 FORMAT T5X80A- ABORT ON .READ FWD. COMMAND - 
13 FORMAT T5X80A- END OF TAPE ENCOUNTERED AT RECORD *OCT
14 FORMAT T5X80A TERMINATED- UNRECOVERABLE WRITE
15 FORMAT T5X80A TERMINATED- BOT DETECTED ON WRITE RECOVERY 
16 FORMAT T5X80A ERROR(S) IN MODULE = *DEC
* 
   EQUATE BOT TO 20, EOT TO 40, EOF TO 10, STERR TO 6470
   EQUATE STERR1 TO 6430
* 
20 MSG 1 (B0) TO DISPLAY,PRINT    *RUNNING MESSAGE
   RANDOM TO OB FOR 500, START RT 
   OB(1) = B0                *FILE COUNT
   OB(B2+6) = B0
   OB(3) = B3                *RECORD LENGTH 
   OB(B2+4) = B3
   OB(4) = SB(4)             *CHANNEL 
   OB(B2+3) = SB(4) 
   OB(5) = SB(5)             *EQUIPMENT 
   OB(B2+2) = SB(5) 
   OB(6) = SB(6)             *UNIT
   OB(B2+1) = SB(6) 
   OB(7) = P9                *SYSTEM ID 
   OB(B2) = P9
   B1 = 0                    *CLEAR RECORD COUNTER
   WC = B3                   *SET WORD COUNT FOR WRITES 
* 
*---------WRITE A FILE OF DATA
* 
40 B5 = 3 
   RES P1, ABT 74 
   B1 = B1 + 1               *BUMP RECORD NUMBER
   OB(2) = B1                *RECORD NUMBER FOR WRITE DATA
   OB(B2+5) = B1
   B6 = 3                    *RETRY COUNTER FOR RECOVERY
41 B5 = 5 
   WRITE LONG, ABT 74 
   IF(P3.AND.20.NE.0) GOTO 42  *IF WAIT NOT BUSY DISABLED 
   B5 = 6 
   WAITNB, ABT 74 
42 IF(SB.AND.STERR.EQ.EOT) GOTO 44  *IF GOOD WRITE/EOT
   IF(SB.AND.STERR.EQ.0) GOTO 43  *IF SUCCESSFUL WRITE
   ERROR 2/200, GOSUB 70     *REPORT THE WRITE ERROR
   GOSUB 50                  *POSITION TAPE FOR RECOVERY
   GOTO 41 WHILE(B6-1.NE.0)  *TRY IT THREE TIMES
   GOTO 52                   *UNRECOVERABLE ERROR 
43 IF(B1.NE.200D) GOTO 40    *WRITE 200D RECORDS
   GOSUB 55                  *WRITE AN END OF FILE
   GOSUB 55                  *WRITE A SECOND END OF FILE
   GOTO 45
44 MSG 13 (B1) TO DISPLAY,PRINT   *REPORT EOT ENCOUNTERED 
45 B5 = 4 
   REL, ABT 74
   EXIT TO 80B               *EXIT TO REVERSE READ
* 
*---------REPOSITION TAPE FOR WRITE/ENDFILE RETRY 
* 
50 B5 = 3 
   RES P1, ABT 74 
   B5 = 7 
   BKSP, ABT 74              *BACKSPACE OVER BAD RECORD 
   B5 = 11
   ERASE, ABT 74             *EARSE BAD RECORD
   IF(SB.AND.STERR1.NE.0) GOTO 51  *TERMINATE ON ERROR
   RETURN 
51 ENDSUB 
   ERROR 2/246, GOSUB 70     *REPORT ERASE ERROR
* 
*---------ERASE ERROR OR UNRECOVERABLE WRITE.  REPOSTITION
*         TO LAST GOOD END OF FILE AND TRY TO WRITE AN EOF. 
* 
52 MSG 14 TO DISPLAY,PRINT   *REPORT UNRECOVERABLE ERROR
53 B5 = 3 
   RES P1, ABT 74 
   B5 = 7 
   BKSP, ABT 74 
   IF(SB.AND.BOT.NE.0) GOTO 54  *IF LOAD POINT
   IF(SB.AND.EOF.EQ.0) GOTO 53  *SEARCH UNTIL EOF FOUND 
   B5 = 12
   READ FWD, ABT 74          *SKIP OVER THE EOF 
   B5 = 10
   ENDFILE, ABT 74           *WRITE SECOND END OF FILE
   GOTO 76
54 MSG 15 TO DISPLAY,PRINT   *REPORT TERMINATION MESSAGE
   GOTO 77
* 
*---------WRITE END OF FILE SUBROUTINE
* 
55 B6 = 3                    *RETRY COUNT 
56 B5 = 3 
   RES P1, ABT 74 
   B5 = 10
   ENDFILE, ABT 74
   IF(SB.AND.EOF.NE.0) GOTO 57  *IF SUCCESSFUL EOF
   ERROR 2/122, GOSUB 70     *REPORT EOF ERROR
   GOSUB 50                  *REPOSTITION TAPE FOR RETRY
   GOTO 56 WHILE(B6-1.NE.0)  *TRY THREE TIMES 
   GOTO 52                   *TERMINATE 
57 B0 = B0 + 1               *BUMP FILE COUNT 
   RETURN 
* 
*---------PROCESS MODULE ERRORS 
* 
70 BA = BA + 1               *BUMP ERROR COUNTER
   MSG EM (EC,EA) TO LINE 1  *REPORT ERROR CODE AND LINE
   CALL 98A                  *ERROR CODE PROCESSOR
   RETURN 
* 
*---------PROCESS PRODUCT OVERLAY ABORTS
* 
74 BA = BA + 1               *BUMP ERROR COUNTER
   MSG B5 TO LINE 0          *ERROR CONDITION 
   MSG EM TO LINE 1          *PRODUCT OVERLAY MESSAGE 
   CALL 980                  *ERROR PROCESSOR 
76 MSG 16 (BA) TO DAYFILE    *REPORT ERROR TO DAYFILE 
77 END 20 
COMPILE   - T5X80A -
   MODULE T5X80B,65X(40,41,50,51)LOCK  - COMPAT. READ REVERSE 
*** T5X80B- COMPATIBILITY READ REVERSE
* 
**  T5X80B- EXTERNAL DOCUMENTATION
* 
*   DESCRIPTION - (READ REVERSE)
* 
*         1. SET WORD COUNT FOR READS TO 500. 
*         2. RESERVE. 
*         3. READ ONE RECORD REVERSE. 
*         4. WAIT NOT BUSY IF SELECTED IN P3. 
*         5. IF LOAD POINT IS DETECTED, VERIFY THAT THE NUMBER OF 
*            FILES READ REVERSE IS THE SAME NUMBER PROCESSED FORWARD. 
*            IF THEY DO NOT AGREE, REPORT EC073.  ALSO VERIFY THAT
*            THE CORRECT NUMBER OF RECORDS WERE READ REVERSE AND
*            REPORT EC072 IF IN ERROR.  TERMINATE IF LOAD POINT.
*         6. IF END-OF-FILE IS DETECTED, DECREMENT THE FILE COUNT AND 
*            VERIFY THAT THE PROPER NUMBER OF RECORDS WERE PROCESSED
*            WITHIN THE LAST FILE.  IF THEY DO NOT AGREE, REPORT
*            EC072.  RESET THE RECORD COUNT TO 200D AND GO TO STEP 2
*            TO CONTINUE THE REVERSE READ.
*         7. IF A STATUS ERROR OCCURRED ON THE LAST READ, REPORT EC202. 
*         8. WE ARRIVE AT THIS STEP IF THE LAST READ WAS NOT AN END-OF
*            FILE.  REPORT A RUNNING MESSAGE IF THE PREVIOUS READ WAS 
*            THE FIRST RECORD OF A NEW FILE.  DECREMENT THE RECORD
*            COUNT BY 1 AND GO TO STEP 2 TO CONTINUE THE READ.
* 
*   ERRORS REPORTED - 
* 
*         1. ALL PRODUCT OVERLAY ERRORS.
* 
*         2. T5X80B- ABORT ON .RES. COMMAND 
*         3. T5X80B- ABORT ON .REL. COMMAND 
*         4. T5X80B- ABORT ON .READ REV. COMMAND
*         5. T5X80B- ABORT ON .WAITNB. COMMAND
* 
*         6. EC072- RECORD COUNT=*OCT AT EOF *OCT, EXP=*OCT 
* 
*         7. EC073- FILE COUNT=*OCT AT LOAD POINT, EXP=0000 
* 
*         8. EC202- A STATUS ERROR OCCURRED ON A REVERSE READ.
*            THE INPUT BUFFER CONTAINS THE DATA READ. 
* 
* 
*** T5X80B- INTERNAL DOCUMENTATION
* 
*   REGISTER USAGE -
* 
*         B0 = TOTAL FILE COUNTER 
*         B1 = RECORD COUNTER PER FILE
*         B5 = ABORT MESSAGE POINTER
*         B6 = ONLY EOF'S READ FLAG 
*         BA = ERROR COUNTER
* 
*   MODULES CALLED -
* 
*         T5X980 - STATUS ANALYSIS MODULE 
* 
*         T5X98A - ERROR CODE PROCESSOR 
* 
 1 FORMAT T5X80B- COMPATIBILITY REVERSE READ
 2 FORMAT T5X80B ERROR CODE = *OCT AT LINE (EA) = *OCT
 3 FORMAT T5X80B- ABORT ON .RES. COMMAND -
 4 FORMAT T5X80B- ABORT ON .REL. COMMAND -
 5 FORMAT T5X80B- ABORT ON .READ REV. COMMAND - 
 6 FORMAT T5X80B- ABORT ON .WAITNB. COMMAND - 
 7 FORMAT T5X80B- FILE=*OCT CH=*OCT EQ=*OCT UN=*OCT SYS=*OCT
10 FORMAT EC072- RECORD COUNT=*OCT AT EOF *OCT, EXP=*OCT
11 FORMAT EC073- FILE COUNT=*OCT AT LOAD POINT, EXP=0000
12 FORMAT T5X80B ERROR(S) IN MODULE = *DEC
* 
   EQUATE BOT TO 20, EOF TO 10, STERR TO 6470 
* 
20 MSG 1 TO DISPLAY,PRINT    *RUNNING MESSAGE 
   B6 = 1                    *SET ONLY EOF'S READ FLAG
   WC = 500                  *SET READ WORD COUNT 
* 
*---------READ TAPE REVERSE TO LOAD POINT COUNTING RECORDS
*         AND FILES BACKWARDS.
* 
30 B5 = 3 
   RES P1, ABT 74 
   B5 = 5 
   READ REV, ABT 74 
   IF(P3.AND.20.NE.0) GOTO 31  *IF WAIT NOT BUSY BYPASSED 
   B5 = 6 
   WAITNB, ABT 74 
31 IF(SB.AND.EOF.NE.0) GOTO 50  *IF END OF FILE 
   IF(SB.AND.BOT.EQ.0) GOTO 34  *IF NOT LOAD POINT
   IF(B0.EQ.0) GOTO 32       *IF NO FILE COUNT ERROR
   MSG 11 (B0) TO LINE 1
   GOTO 33                   *REPORT FILE COUNT ERROR 
32 IF(B1.EQ.200D) GOTO 77    *IF NO RECORD COUNT ERROR
   MSG 10 (B1,B0,200D) TO LINE 1
33 BA = BA + 1               *BUMP ERROR COUNTER
   CALL 980                  *PROCESS ERROR 
   GOTO 76                   *TERMINATE 
34 IF(SB.AND.STERR.NE.0) ERROR 2/202, GOSUB 70
   IF(B6.NE.0) GOTO 35       *IF FIRST RECORD REVERSE 
   IF(B1.NE.200D) GOTO 36    *IF NOT FIRST RECORD OF FILE 
35 MSG 7 (B0,IB(4),IB(5),IB(6),IB(7)) TO DISPLAY,PRINT
36 B1 = B1 - 1               *DECREMENT RECORD COUNT
   B6 = 0                    *INDICATE DATA READ
   GOTO 30
* 
*---------END OF FILE DETECTED. VERIFY RECORD COUNT.
* 
50 B0 = B0 - 1               *DECREMENT FILE COUNT
   IF(B6.NE.0) GOTO 51       *IF ONLY FILE MARKS READ 
   IF(B1.EQ.0) GOTO 51       *IF NO RECORD COUNT ERROR
   MSG 10 (B1,B0,0) TO LINE 1 
   BA = BA + 1               *BUMP ERROR COUNTER
   CALL 980                  *REPORT RECORD COUNT ERROR 
51 B1 = 200D                 *RESET RECORD COUNTER
   GOTO 30
* 
*---------PROCESS MODULE ERRORS 
* 
70 BA = BA + 1               *BUMP ERROR COUNTER
   MSG EM (EC,EA) TO LINE 1  *REPORT ERROR CODE AND LINE
   CALL 98A                  *ERROR CODE PROCESSOR
   RETURN 
* 
*---------PROCESS PRODUCT OVERLAY ABORTS
* 
74 BA = BA + 1               *BUMP ERROR COUNTER
   MSG B5 TO LINE 0          *ERROR CONDITION 
   MSG EM TO LINE 1          *PRODUCT OVERLAY MESSAGE 
   CALL 980                  *ERROR PROCESSOR 
76 MSG 12 (BA) TO DAYFILE 
77 END 20 
COMPILE   - T5X80B -
   MODULE T5X81,65X(40,41,50,51)LOCK  - COMPAT. CLEANUP 
*** T5X81 - COMPATIBILITY TAPE CLEAN-UP 
* 
**  T5X81 - EXTERNAL DOCUMENTATION
* 
*   OVERVIEW -
* 
*         THIS MODULE IS A UTILITY TO BE USED IN CONJUNCTION WITH 
*         MODULE 80, TAPE COMPATIBILITY TEST.  IT IS DESIGNED TO
*         BE USED TO PROPERLY TERMINATE A COMPATIBILITY TAPE WITH 
*         DOUBLE END-OF-FILES IN SITUATIONS WHERE THE TAPE IS NOT 
*         PROPERLY TERMINATED OR CONTAINS UN-READABLE FILES.  THE 
*         TAPE IS READ FORWARD THE NUMBER OF FILES SPECIFIED BY THE 
*         USER IN PARAMETER REGISTER P8 AND ANOTHER FILE MARK IS THEN 
*         WRITTEN.  THE USER SHOULD INDICATE THE NUMBER OF GOOD FILES 
*         ON THE TAPE IN REGISTER P8 (FILE 1 IS THE FIRST FILE, NOT 0). 
* 
*         THE NORMAL CHECKS MADE BY THE READ FORWARD SECTION OF THE 
*         COMPATIBILITY TEST ARE MADE BY THIS MODULE.  IF A WRITE RING
*         IS NOT PRESENT, DOUBLE END-OF-FILES ARE READ BEFORE 
*         PROCESSING (P8) FILES, OR IF END-OF-TAPE IS ENCOUNTERED 
*         PRIOR TO READING (P8) FILES, THE MODULE IS TERMINATED 
*         WITHOUT WRITING THE FILE MARK.
* 
*   DESCRIPTION - (FORWARD READ)
* 
*         1. SET THE WORD COUNT TO 500. 
*         2. SET READ CLIP MARGINS SELECTED IN P3.
*         3. RESERVE. 
*         4. REWIND.  IF THE UNIT DOES NOT HAVE A WRITE RING, 
*            REPORT THE FACT AND TERMINATE. 
*         5. READ THE FIRST RECORD FORWARD. 
*         6. IF THE FIRST RECORD IS NOT AN END-OF-FILE, REPORT EC070
*            AND TERMINATE (NOT A -COMPAT- TAPE). 
*         7. INITIALIZE THE FILE COUNTER, RECORD COUNTER AND NUMBER 
*            OF FILE MARKS READ TO 1. 
*         8. RESERVE. 
*         9. READ A RECORD FORWARD. 
*        10. WAIT NOT BUSY IF SELECTED IN P3. 
*        11. IF END-OF-TAPE IS ENCOUNTERED, REPORT THE FACT AND EXIT
*            WITHOUT WRITING THE FILE MARK. 
*        12. IF END-OF-FILE STATUS, BUMP THE FILE COUNTER AND NUMBER
*            OF CONSECUTIVE FILE MARKS COUNTER.  IF TWO CONSECUTIVE 
*            FILE MARKS HAVE BEEN ENCOUNTERED, REPORT THE FACT AND
*            TERMINATE.  IF NOT TWO CONSECUTIVE FILE MARKS, VERIFY
*            THAT THE PROPER NUMBER OF RECORDS WERE READ IN THE LAST
*            FILE.  IF NOT, REPORT EC071.  RESET THE RECORD COUNTER 
*            TO 1.  IF THE SELECTED NUMBER OF FILES HAVE NOT BEEN 
*            READ, GO TO STEP 8 TO CONTINUE THE READ.  OTHERWISE, 
*            WRITE AN END-OF-FILE AND TERMINATE.
*        13. IF AN ABNORMAL STATUS ERROR OCCURRED ON THE READ, REPORT 
*            EC203. 
*        14. WE ARRIVE AT THIS STEP IF AN END-OF-FILE WAS NOT READ. 
*            RESET THE FILE MARK COUNTER.  REPORT A RUNNING MESSAGE 
*            IF THE PREVIOUS READ WAS THE FIRST RECORD OF A NEW FILE. 
*            INCREMENT THE RECORD COUNT AND GO TO STEP 8 TO CONTINUE
*            THE READ.
* 
*   ERRORS REPORTED - 
* 
*         1. ALL PRODUCT OVERLAY ERRORS.
* 
*         2. T5X81 - ABORT ON .RES. COMMAND 
*         3. T5X81 - ABORT ON .REL. COMMAND 
*         4. T5X81 - ABORT ON .REWIND. COMMAND
*         5. T5X81 - ABORT ON .READ FWD. COMMAND
*         6. T5X81 - ABORT ON .WAITNB. COMMAND
*         7. T5X81 - ABORT ON .BKSP. COMMAND
*         8. T5X81 - ABORT ON .ENDFILE. COMMAND 
* 
*         9. EC070- TAPE MOUNTED IS NOT A -COMPAT- TAPE 
* 
*        10. EC071- RECORD COUNT=*OCT IN FILE *OCT, EXP=0311
* 
*        11. EC122- NO FM/TM STATUS IN GENERAL STATUS AT
*            END OF OPERATION AFTER A WRITE FM/TM 
* 
*        12. EC203- ALERT BIT IN GENERAL STATUS WAS SET DURING
*            A READ FORWARD OPERATION.  THE INPUT BUFFER CONTAINS 
*            DATA JUST READ.
* 
*** T5X81 - INTERNAL DOCUMENTATION
* 
*   REGISTER USAGE -
* 
*         B0 = TOTAL FILE COUNTER 
*         B1 = RECORD COUNTER PER FILE
*         B2 = ENDFILE RETRY COUNTER
*         B4 = CONSECUTIVE FILE MARKS COUNTER 
*         B5 = ABORT MESSAGE POINTER
*            = MARGINS
*         BA = ERROR COUNT
* 
*   MODULES CALLED -
* 
*         T5X980 - STATUS ANALYSIS MODULE 
* 
*         T5X98A - ERROR CODE PROCESSOR 
* 
 1 FORMAT T5X81 - COMPATIBILITY TAPE CLEANUP -
 2 FORMAT T5X81 ERROR CODE = *OCT  AT LINE (EA) = *OCT
 3 FORMAT T5X81 - ABORT ON .READ FWD. COMMAND - 
 4 FORMAT T5X81 - ABORT ON .REWIND. COMMAND - 
 5 FORMAT T5X81 - ABORT ON .RES. COMMAND -
 6 FORMAT T5X81 - ABORT ON .REL. COMMAND -
 7 FORMAT T5X81 - ABORT ON .WAITNB. COMMAND - 
10 FORMAT EC070- TAPE MOUNTED IS NOT A -COMPAT- TAPE
11 FORMAT EC071- RECORD COUNT=*OCT IN FILE *OCT, EXP=0311 
12 FORMAT T5X81 - FILE=*OCT CH=*OCT EQ=*OCT UN=*OCT SYS=*OCT
13 FORMAT T5X81 TERMINATED ON EOT - NO EOF WRITTEN
14 FORMAT T5X81 ERROR(S) IN MODULE = *DEC - 
15 FORMAT T5X81 - ABORT ON .BKSP. COMMAND - 
16 FORMAT T5X81 - ABORT ON .ENDFILE. COMMAND -
17 FORMAT T5X81 TERMINATED ON DOUBLE EOF - NO EOF WRITTEN 
20 FORMAT T5X81 TERMINATED ON NO WRITE RING-NO EOF WRITTEN
21 FORMAT T5X81 TERMINATED ON UNRECOVERABLE WRITE OF EOF
* 
   EQUATE EOT TO 40, EOF TO 10, RING TO 4, STERR TO 6470
* 
22 MSG 1 TO DISPLAY,PRINT    *POST RUNNING MESSAGE
   BA = 0                    *CLEAR ERROR COUNTER 
* 
*---------DETERMINE IF WE HAVE A -COMPAT- TAPE MOUNTED
* 
   WC = 500 
   B5 = P3.RS.6 
   MARGINS B5                *SELECT READ CLIP MARGINS
   B5 = 5 
   RES P1, ABT 74 
   B5 = 4 
   REWIND, ABT 74 
   IF(SB.AND.RING.NE.0) GOTO 23  *IF WRITE ENABLED
   MSG 20 TO DISPLAY,PRINT   *INDICATE NO RING
   GOTO 77                   *TERMINATE 
23 B5 = 3 
   READ FWD, ABT 74          *READ FIRST RECORD 
   IF(SB.AND.EOF.NE.0) GOTO 25  *IF EOF ON FIRST READ 
   B5 = 6 
   REL, ABT 74
   MSG 10 TO LINE 1 
   BA = BA + 1               *BUMP ERROR COUNTER
   GOTO 75                   *TERMINATE, NOT -COMPAT- TAPE
25 B0 = 1                    *SET FILE COUNT TO 1 
   B4 = 1                    *SET CONSECUTIVE FILES TO 1
* 
*--------READ TAPE FORWARD COUNTING RECORDS AND FILES.
* 
30 B1 = 1                    *SET RECORD COUNT TO 1 
31 B5 = 5 
   RES P1, ABT 74 
   B5 = 3 
   READ FWD, ABT 74 
   IF(P3.AND.20.NE.0) GOTO 32  *IF WAIT NOT BUSY DISABLED 
   B5 = 7 
   WAITNB, ABT 74 
32 IF(SB.AND.STERR.EQ.0)GOTO 34  *IF NO ERROR,EOF OR EOT
   IF(SB.AND.EOF.NE.0) GOTO 36   *IF END OF FILE
   IF(SB.AND.EOT.NE.0) GOTO 41   *IF END OF TAPE
   ERROR 2/203, GOSUB 70            *REPORT THE READ ERROR
34 B4 = 0                    *CLEAR CONSECUTIVE FILES CTR.
   IF(B1.NE.1) GOTO 35       *IF NOT FIRST RECORD OF FILE 
   MSG 12 (B0,IB(4),IB(5),IB(6),IB(7)) TO DISPLAY,PRINT 
35 B1 = B1 + 1               *BUMP RECORD COUNTER 
   GOTO 31
36 B4 = B4 + 1               *BUMP CONSECUTIVE FILES CTR. 
   IF(B4.EQ.2) GOTO 40       *IF DOUBLE END OF FILES
   IF(B1.NE.201D) GOTO 37    *IF RECORD COUNT INCORRECT 
   B0 = B0 + 1               *BUMP FILE COUNT 
   IF(B0-1.EQ.P8) GOTO 50    *IF REQUESTED FILES READ 
   IF(SB.AND.EOT.EQ.0) GOTO 30  *IF NOT END OF TAPE 
   GOTO 41
37 MSG 11 (B1,B0) TO LINE 1 
   BA = BA + 1               *BUMP ERROR COUNTER
   CALL 980                  *REPORT RECORD COUNT ERROR 
   B0 = B0 + 1               *BUMP FILE COUNT 
   IF(B0-1.EQ.P8) GOTO 50    *IF REQUESTED FILES READ 
   IF(SB.AND.EOT.EQ.0) GOTO 30  *IF NOT END OF TAPE 
   B1 = 200D                 *RESET RECORD COUNT
   GOTO 41
* 
*---------DOUBLE END-OF-FILES OR EOT DETECTED.  REPORT
*         THE CONDITION AND TERMINATE WITHOUT WRITING EOF.
* 
40 MSG 17 TO DISPLAY,PRINT   *INDICATE DOUBLE EOF FOUND 
   GOTO 77                   *TERMINATE 
41 MSG 13 TO DISPLAY,PRINT   *INDICATE EOT ENCOUNTERED
   GOTO 77                   *TERMINATE 
* 
*---------REQUESTED FILES HAVE BEEN READ. WRITE END-OF-FILE.
* 
50 B5 = 5 
   RES P1, ABT 74 
   B5 = 16
   ENDFILE, ABT 74
   IF(SB.AND.EOF.NE.0) GOTO 51  *IF GOOD END OF FILE
   ERROR 2/122, GOSUB 70     *REPORT EOF ERROR
   B5 = 5 
   RES P1, ABT 74 
   B5 = 15
   BKSP, ABT 74              *BACKSPACE OVER BAD EOF
   GOTO 50 WHILE (B2+1.NE.10D)  *KEEP TRYING
   MSG 21 TO DISPLAY,PRINT   *INDICATE UNRECOVERABLE WRITE
   GOTO 77                   *TERMINATE 
51 B5 = 6 
   REL, ABT 74
   GOTO 77                   *NORMAL TERMINATION
* 
*---------PROCESS MODULE ERRORS 
* 
70 BA = BA + 1               *BUMP ERROR COUNTER
   MSG EM (EC,EA) TO LINE 1  *REPORT ERROR CODE/LINE
   CALL 98A                  *PROCESS ERROR CODE
   RETURN 
* 
*---------PROCESS PRODUCT OVERLAY ABORTS
* 
74 BA = BA + 1               *BUMP ERROR COUNTER
   MSG B5 TO LINE 0          *ERROR CONDITION 
   MSG EM TO LINE 1          *PRODUCT OVERLAY MESSAGE 
75 CALL 980                  *ERROR PROCESSOR 
   MSG 14 (BA) TO DAYFILE    *REPORT ERRORS TO DAYFILE
77 END 22 
COMPILE   - T5X81 - 
   MODULE T5X980,65X(40,41,50,51)LOCK  - ERROR STATUS PROCESSING -       T5X
*** T5X980-T5X981 - STATUS ANALYSIS                                      T5X
*                                                                        T5X
**  T5X980-T5X981 - EXTERNAL DOCUMENTATION                               T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         T5X980 CAN BE ENTERED FROM ANY TEST MODULE THAT MAKES          T5X
*         UP T5X OR FROM MODULES T5X98A-T5X98E (ERROR CODE               T5X
*         PROCESSING MODULES).  T5X980 ASSUMES THAT THE STATUS BUFFER    T5X
*         CONTAINS CURRENT STATUS FROM THE DEVICE AND IS ASSOCIATED      T5X
*         WITH THE CURRENT FAILURE.                                      T5X
*                                                                        T5X
*         (NOTE THAT IF B7=7777 IT IS A FLAG THAT T5X980 WAS             T5X
*         ENTERED FROM THE ERROR CODE PROCESSING MODULES, SO             T5X
*         REGISTER B7 IS RESTORED FROM THE INPUT BUFFER WHERE IT         T5X
*         WAS SAVED BY T5X98A).                                          T5X
*                                                                        T5X
*         T5X980 WILL ADD 8 LINES OF INFORMATION TO THE PP DISPLAY       T5X
*         CONCERNING REGISTER AND BUFFER CONTENTS AT THE TIME OF         T5X
*         THE CURRENT FAILURE.  IT WILL THEN START AN ANALYSIS           T5X
*         OF THE STATUS BUFFER TO DETERMINE WHICH STATUS BITS            T5X
*         ARE SET.  EXITS WILL BE MADE TO OTHER SUBMODULES               T5X
*         TO COMPLETE THE ANALYSIS OF THE STATUS BITS.                   T5X
*         THE FOLLOWING BREAKDOWN DOCUMENTS THE                          T5X
*         PRIMARY PURPOSE OF EACH STATUS ANALYSIS MODULE.                T5X
*                                                                        T5X
*          T5X980 - 668X STATUS                                          T5X
*                   PART OF THE 1ST STATUS WORD                          T5X
*                                                                        T5X
*          T5X981 - THE REST OF THE 1ST WORD                             T5X
*                   THE 2ND STATUS WORD (IF 65X)                         T5X
*                   STATUS BIT COMBINATIONS                              T5X
*                                                                        T5X
*                                                                        T5X
*                                                                        T5X
*         WHEN THE ANALYSIS IS COMPLETE, MODULE T5X981                   T5X
*         WILL TAKE A PICTURE OF THE FAILURE DATA AND HALT               T5X
*         (IF STOP ON ERROR IS SELECTED). AFTER A -GO- FROM THE          T5X
*         USER, REGISTERS ARE RESTORED AND CONTROL IS RETURNED           T5X
*         TO THE MODULE THAT DETECTED THE FAILURE.                       T5X
*         (NOTE THAT BEFORE RETURNING, THE DISPLAY IS BLANKED TO         T5X
*         ERASE THE INFORMATION CONCERNING THE FAILURE).                 T5X
*                                                                        T5X
*                                                                        T5X
*                                                                        T5X
   EQUATE BIT0 TO 1,BIT1 TO 2,BIT2 TO 4,BIT3 TO 8,BIT4 TO 20             T5X
   EQUATE BIT5 TO 40,BIT6 TO 100,BIT7 TO 200,BIT8 TO 400                 T5X
   EQUATE BIT9 TO 1000,BIT10 TO 2000,BIT11 TO 4000                       T5X
   BASE DECIMAL                                                          T5X
 1 FORMAT   CH=*OCT  EQ=*OCT  UN=*OCT  DC=*OCT  EA=*OCT                  T5X
 2 FORMAT   LF=*OCT L81F=*OCT L81S=*OCT WC=*OCT WT=*OCT*OCT              T5X
 3 FORMAT   FILE=*OCT  RECORD=*OCT     ERROR COUNT=*OCT                  T5X
 4 FORMAT   SB(0-2) =*OCT *OCT *OCT                                      T5X
 5 FORMAT   OB(0-7) =*OCT *OCT *OCT *OCT *OCT *OCT *OCT *OCT             T5X
 6 FORMAT   IB(0-7) =*OCT *OCT *OCT *OCT *OCT *OCT *OCT *OCT             T5X
 7 FORMAT   B0-B7   =*OCT *OCT *OCT *OCT *OCT *OCT *OCT *OCT             T5X
 8 FORMAT   P0-P7   =*OCT *OCT *OCT *OCT *OCT *OCT *OCT *OCT             T5X
 9 FORMAT   STATUS = 6681 XMISSION P.E.                                  T5X
10 FORMAT   STATUS = 6681 INTERNAL REJECT                                T5X
11 FORMAT   STATUS = 6681 EXTERNAL REJECT                                T5X
12 FORMAT   STATUS = READY                                               T5X
13 FORMAT   STATUS = BUSY                                                T5X
14 FORMAT   STATUS = WRITE ENABLE                                        T5X
15 FORMAT   STATUS = FILE MARK                                           T5X
16 FORMAT   STATUS = LOAD POINT                                          T5X
17 FORMAT   STATUS = END OF TAPE                                         T5X
18 FORMAT   STATUS = 200 BPI                                             T5X
19 FORMAT   STATUS = 556 BPI                                             T5X
20 FORMAT   STATUS = 800 BPI                                             T5X
21 FORMAT   P8-P9   =*OCT *OCT                                           T5X
22 FORMAT              DATA ERROR(S)                                     T5X
23 FORMAT   ERR.. WD=*OCT  AC=*OCT  EX=*OCT  DIFF=*OCT                   T5X
25 IF(B7.EQ.7777B) GOTO 27    *IF ENTERED FROM T5X98A                    T5X
   IB(470B) = B0              *SAVE REGISTERS                            T5X
   IB(471B) = B1                                                         T5X
   IB(472B) = B2                                                         T5X
   IB(473B) = B3                                                         T5X
   IB(474B) = B4                                                         T5X
   IB(475B) = B5                                                         T5X
   IB(476B) = B6                                                         T5X
   IB(477B) = B7                                                         T5X
   IB(467B) = BA                                                         T5X
   B6 = 2                    *LINE NUMBER                                T5X
27 MSG 1(SB(4),SB(5),SB(6),DC,EA) TO LINE B6                             T5X
   B6 = B6 + 1                                                           T5X
   MSG 2(LF,SB(3),SB(2),WC,SB(7),WT) TO LINE B6                          T5X
   B6 = B6 + 1                                                           T5X
   MSG 3(B0,B1,BA) TO LINE B6                                            T5X
   B6 = B6 + 1                                                           T5X
   MSG 4, 3 WORDS FROM SB TO LINE B6                                     T5X
   B6 = B6 + 1                                                           T5X
   MSG 5, 8 WORDS FROM OB TO LINE B6                                     T5X
   B6 = B6 + 1                                                           T5X
   MSG 6, 8 WORDS FROM IB TO LINE B6                                     T5X
   B6 = B6 + 1                                                           T5X
   MSG 7, 8 WORDS FROM IB(470B) TO LINE B6                               T5X
   B6 = B6 + 1                                                           T5X
   MSG 8, 8 WORDS FROM P0 TO LINE B6                                     T5X
   B6 = B6 + 1                                                           T5X
   MSG 21, 2 WORDS FROM P8 TO LINE B6                                    T5X
   B6 = B6 + 1                                                           T5X
   IF(EC.NE.105B) GOTO 30    *IF NOT DATA COMPARE ERROR                  T5X
   MSG 22 TO LINE B6                                                     T5X
   B6 = B6 + 1                                                           T5X
   B5 = 0                    *INDEX TO BUFFERS                           T5X
   B3 = B6 + 4               *TERMINATING MESSAGE LINE                   T5X
28 B4 = IB(B5).XOR.OB(B5)                                                T5X
   IF(B4.EQ.0) GOTO 29       *IF WORDS COMPARE                           T5X
   MSG 23(B5,IB(B5),OB(B5),B4) TO LINE B6                                T5X
   B6 = B6 + 1                                                           T5X
29 B5 = B5 + 1               *BUMP BUFFER INDEX                          T5X
   IF(WT-1.LE.B5) GOTO 30    *IF ALL WORDS DONE                          T5X
   IF(B5.EQ.400B) GOTO 30     *IF ALL WORDS DONE                         T5X
   IF(B6.NE.B3) GOTO 28      *IF 4 ERRORS NOT REPORTED                   T5X
30 IF(SB(2).AND.BIT2.NE.0) ERROR 9/0, GOSUB 40  *XMISS PE                T5X
   IF(SB(2).AND.3.EQ.3) ERROR 10/0, GOSUB 40  *INT REJ                   T5X
   IF(SB(2).AND.3.EQ.1) ERROR 11/0, GOSUB 40  *EXT REJ                   T5X
   IF(SB.AND.BIT0.NE.0) ERROR 12/0, GOSUB 40  *READY                     T5X
   IF(SB.AND.BIT1.NE.0) ERROR 13/0, GOSUB 40  *BUSY                      T5X
   IF(SB.AND.BIT2.NE.0) ERROR 14/0, GOSUB 40  *WRT ENAB                  T5X
   IF(SB.AND.BIT3.NE.0) ERROR 15/0, GOSUB 40  *FM                        T5X
   IF(SB.AND.BIT4.NE.0) ERROR 16/0, GOSUB 40  *BOT                       T5X
   IF(SB.AND.BIT5.NE.0) ERROR 17/0, GOSUB 40  *EOT                       T5X
   IF(SB.AND.300B.EQ.0) ERROR 18/0, GOSUB 40  *200                       T5X
   IF(SB.AND.300B.EQ.100B) ERROR 19/0, GOSUB 40  *556                    T5X
   IF(SB.AND.300B.EQ.200B) ERROR 20/0, GOSUB 40  *800                    T5X
35 EXIT TO 981               *CONTINUE UNIT ANALYSIS                     T5X
/-------- POST MESSAGE ---------                                         T5X
40 MSG EM TO LINE B6         *POST MESSAGE TO DISPLAY                    T5X
   B6 = B6 + 1               *BUMP LINE NUMBER                           T5X
   RETURN                                                                T5X
   END 25                                                                T5X
COMPILE    - T5X980 -                                                    T5X
   MODULE T5X981,65X(40,41,50,51)LOCK  - ERROR STATUS PROCESSING -       T5X
   EQUATE BIT0 TO 1,BIT1 TO 2,BIT2 TO 4,BIT3 TO 8,BIT4 TO 20             T5X
   EQUATE BIT5 TO 40,BIT6 TO 100,BIT7 TO 200,BIT8 TO 400                 T5X
   EQUATE BIT9 TO 1000,BIT10 TO 2000,BIT11 TO 4000                       T5X
   BASE DECIMAL                                                          T5X
 1 FORMAT   STATUS = 1600 BPI                                            T5X
 2 FORMAT   STATUS = LOST DATA                                           T5X
 3 FORMAT   STATUS = END OF OPERATION                                    T5X
 4 FORMAT   STATUS = ALERT                                               T5X
 5 FORMAT   STATUS = UNIT RESERVED                                       T5X
 6 FORMAT   STATUS = TAPE PARITY ERROR                                   T5X
 7 FORMAT   STATUS = MEMORY PARITY ERROR                                 T5X
 8 FORMAT   STATUS = FLAG BIT ERROR                                      T5X
 9 FORMAT   STATUS = CRC ERROR                                           T5X
10 FORMAT   STATUS = MULTI-TRK OR UNCORRECTABLE CRC ERROR                T5X
11 FORMAT   STATUS = CHARACTER FILL                                      T5X
12 FORMAT   STATUS = CHAR CROWD OR DROP AND FALSE END OF OP              T5X
13 FORMAT   STATUS = PHASE ERROR CORRECTION                              T5X
14 FORMAT   STATUS = FALSE POSTAMBLE DETECTED                            T5X
15 FORMAT   STATUS = COLD START ERROR                                    T5X
16 FORMAT   STATUS = ---- UNIT NOT READY ----                            T5X
17 FORMAT   STATUS = VERTICAL PARITY ERROR                               T5X
20 FORMAT WRONG 668X REJECT STATUS, SEE SB(2)                            T5X
21 FORMAT   STATUS = TAPE AT E.O.T. AND B.O.T.                           T5X
22 FORMAT ------------------------------------------------               T5X
30 IF(SB.AND.300B.EQ.300B) ERROR 1/0, GOSUB 40  *1600                    T5X
   IF(SB.AND.BIT8.NE.0) ERROR 2/0, GOSUB 40  *LOST DATA                  T5X
   IF(SB.AND.BIT9.NE.0) ERROR 3/0, GOSUB 40  *END OF OP                  T5X
   IF(SB.AND.BIT10.EQ.0) GOTO 31  *NO ALERT OR VPE                       T5X
   IF(DC.AND.1.EQ.1) ERROR 4/0, GOSUB 40     *65X MSG                    T5X
   IF(DC.AND.1.EQ.0) ERROR 17/0, GOSUB 40    *60X MSG                    T5X
31 IF(SB.AND.BIT11.NE.0) ERROR 5/0, GOSUB 40  *UNIT RES                  T5X
33 IF(SB(1).AND.BIT0.NE.0) ERROR 6/0, GOSUB 40    *TAPE PE               T5X
   IF(SB(1).AND.BIT1.NE.0) ERROR 7/0, GOSUB 40  *MEM P.E.                T5X
   IF(SB(1).AND.BIT2.NE.0) ERROR 8/0, GOSUB 40  *FLAG BIT ER             T5X
   IF(SB(1).AND.BIT3.NE.0) ERROR 9/0, GOSUB 40  *CRC ERROR               T5X
   IF(SB(1).AND.BIT4.NE.0) ERROR 10/0, GOSUB 40  *MTRK OR CR             T5X
   IF(SB(1).AND.BIT5.NE.0) ERROR 11/0, GOSUB 40  *CHAR FILL              T5X
   IF(SB(1).AND.BIT6.NE.0) ERROR 12/0, GOSUB 40  *CHAR + OR              T5X
   IF(SB(1).AND.BIT7.NE.0) ERROR 13/0, GOSUB 40  *ERROR CORR             T5X
   IF(SB(1).AND.BIT8.NE.0) ERROR 14/0, GOSUB 40  *BAD POSTAM             T5X
   IF(SB(1).AND.BIT11.NE.0) ERROR 15/0, GOSUB 40  *COLD STAR             T5X
   IF(SB.AND.BIT0.EQ.0) ERROR 16/0, GOSUB 40  *(NOT RDY)                 T5X
   IF(SB(2).AND.3.EQ.2) ERROR 20/0, GOSUB 40  *BAD 81 STAT               T5X
   IF(SB.AND.60B.EQ.60B) ERROR 21/0, GOSUB 40  *EOT AND BOT              T5X
   MSG 22 TO LINE B6                                                     T5X
*                                                                        T5X
*---------- MSG TO OUTPUT, RESTORE REGS, EXIT ----------                 T5X
*                                                                        T5X
   PICTURE                                                               T5X
   HALT                                                                  T5X
   BA = IB(467B)     *RESTORE REGS                                       T5X
   B0 = IB(470B)                                                         T5X
   B1 = IB(471B)                                                         T5X
   B2 = IB(472B)                                                         T5X
   B3 = IB(473B)                                                         T5X
   B4 = IB(474B)                                                         T5X
   B5 = IB(475B)                                                         T5X
   B6 = IB(476B)                                                         T5X
   B7 = IB(477B)                                                         T5X
   BLANK                                                                 T5X
   EXIT                                                                  T5X
/----- POST MESSAGE -----                                                T5X
40 MSG EM TO LINE B6                                                     T5X
   B6 = B6 + 1               *BUMP LINE NUMBER                           T5X
   RETURN                                                                T5X
   END 30                                                                T5X
COMPILE    - T5X981 -                                                    T5X
   MODULE T5X98A,65X(40,41,50,51)LOCK  - ERROR CODE PROCESSING -         T5X
*** T5X98A-T5X98E - ERROR CODE PROCESSING                                T5X
*                                                                        T5X
**  T5X98A-T5X98E - EXTERNAL DOCUMENTATION                               T5X
*                                                                        T5X
*   OVERVIEW -                                                           T5X
*                                                                        T5X
*         MODULE T5X98A CAN BE CALLED BY ANY TEST MODULE THAT            T5X
*         MAKES UP T5X.  T5X98A-E WILL ANALYZE THE CONTENTS OF           T5X
*         THE ERROR CODE REGISTER (EC) AND WILL POST THE                 T5X
*         APPROPORITE MESSAGE(S) THAT DESCRIBE THE ERROR CODE.           T5X
*         AN EXIT IS THEN MADE FROM T5X98E TO T5X980 TO PERFORM          T5X
*         STATUS ANALYSIS AND TO PRESENT A COMPOSITE PICTURE OF          T5X
*         THE FAILURE TO THE USER.                                       T5X
*                                                                        T5X
*         THE FOLLOWING DOCUMENTS WHICH MODULES PROCESSES                T5X
*         WHICH CODES                                                    T5X
*                                                                        T5X
*           T5X98A -  ERROR CODES 105 - 207                              T5X
*           T5X98B -  ERROR CODES 211 - 222                              T5X
*           T5X98C -  ERROR CODES 226 - 241                              T5X
*           T5X98D -  ERROR CODES 242 - 253                              T5X
*           T5X98E -  ERROR CODES 255 - 275                              T5X
*                                                                        T5X
*** T5X98A-T5X98E - INTERNAL DOCUMENTATION                               T5X
*                                                                        T5X
*   REGISTER USAGE -                                                     T5X
*                                                                        T5X
*         NOTE:  BEFORE ANY REGISTERS ARE USED, T5X98A SAVES             T5X
*                REGISTERS B0-B7 AND BA IN THE INPUT BUFFER              T5X
*                WORDS 467-477.  B7 IS THEN SET TO 7777 TO               T5X
*                FLAG T5X980 THAT IT IS BEING ENTERED FROM               T5X
*                T5X98A-T5X98E.  THE REGISTERS WILL ALWAYS BE            T5X
*                RESTORED BY THE T5X980 SEQUENCE BEFORE RETURNING        T5X
*                TO THE FAILING MODULE.                                  T5X
*                                                                        T5X
*         B4 = START OF FORMAT STATEMENT NUMBERS FOR EC                  T5X
*         B5 = NUMBER OF FORMAT STATEMENTS FOR EC TO BE PROCESSED        T5X
*         B6 = DISPLAY LINE NUMBER                                       T5X
*                                                                        T5X
*   MODULES CALLED -                                                     T5X
*                                                                        T5X
*         T5X980 - STATUS ANALYSIS MODULE                                T5X
*                                                                        T5X
*                                                                        T5X
/                                                                        T5X
 1 FORMAT EC 105-DATA COMPARE ERROR.THE FIRST 400B WORDS (OR             T5X
 2 FORMAT THE RECORD LENGTH IN -P2-), THAT WERE TRANSFERRED              T5X
 3 FORMAT DO NOT COMPARE ALTHOUGH NO SUBSYSTEM ERRORS WERE               T5X
 4 FORMAT REPORTED. (SEE NOTE ON CONVERSION, -T5X98A-)                   T5X
/                                                                        T5X
/                           --- NOTE ---                                 T5X
/                                                                        T5X
/   IF RUNNING CONVERSION MODE, ERRORS 105, 211, 212 AND 213             T5X
/   SHOULD BE EXAMINED VERY CLOSELY TO ENSURE THE ERROR IS A             T5X
/   TRUE ERROR AND NOT THE RESULT OF A CHARACTER BEING WRIT-             T5X
/   TEN AND CONVERTED TO A DIFFERENT CHARACTER BY  THE HARD-             T5X
/   WARE (CONTROLWARE) WHEN  READ BACK.  CERTAIN  CHARACTERS             T5X
/   ARE CHANGED ON THE READ BECAUSE THE CHARACTER WRITTEN IS             T5X
/   ILLEGAL WITHIN THE CHARACTER SUBSET BEING USED.                      T5X
/                                                                        T5X
/     EXAMPLE..                                                          T5X
/      WRITE   READ   T5X PARAMETERS                                     T5X
/       00      33    7 TRACK AND CODE TRANSLATION TABLE 3               T5X
/       12      00    7 TRACK AND CODE TRANSLATION TABLE 7               T5X
/                                                                        T5X
 5 FORMAT EC 122-NO FM/TM STATUS IN GENERAL STATUS,AT END OF             T5X
 6 FORMAT OPERATION, AFTER A WRITE FM/TM.                                T5X
/                                                                        T5X
 7 FORMAT EC 200- AN UNEXPECTED  BIT APPEARED IN GENERAL                 T5X
10 FORMAT STATUS DURING A WRITE OPERATION.                               T5X
11 FORMAT NOTE THAT GENERAL STATUS WAS MASKED WITH 6410B.                T5X
/                                                                        T5X
12 FORMAT EC 202-A STATUS ERROR OCCURRED ON A REVERSE READ.              T5X
13 FORMAT THE INPUT BUFFER CONTAINS THE DATA JUST READ.                  T5X
/                                                                        T5X
14 FORMAT EC 203- ALERT BIT IN GENERAL STATUS WAS SET DURING             T5X
15 FORMAT A READ FORWARD OPERATION.                                      T5X
16 FORMAT THE INPUT BUFFER CONTAINS THE DATA JUST READ.                  T5X
/                                                                        T5X
17 FORMAT EC 207-A FM/TM WAS DETECTED OUT OF EXPECTED                    T5X
20 FORMAT POSTION ON A READ OPERATION.  FOR THIS ERROR TO                T5X
21 FORMAT BE REPORTED, P4 = 4XXX MUST BE SET.                            T5X
/                                                                        T5X
40 IB(467) = BA              *SAVE REGISTERS                             T5X
   IB(470) = B0                                                          T5X
   IB(471) = B1                                                          T5X
   IB(472) = B2                                                          T5X
   IB(473) = B3                                                          T5X
   IB(474) = B4                                                          T5X
   IB(475) = B5                                                          T5X
   IB(476) = B6                                                          T5X
   IB(477) = B7                                                          T5X
   B7 = 7777                 *SET FLAG TO T5X980                         T5X
   B6 = 2                     *LINE NUMBER                               T5X
   IF(EC.LE.207) GOTO 50      *0 - 207                                   T5X
   IF(EC.GT.222)GOTO 41                                                  T5X
   EXIT TO 98B               *210 - 222                                  T5X
41 IF(EC.GT.241)GOTO 42                                                  T5X
   EXIT TO 98C               *223 - 241                                  T5X
42 IF(EC.GT.254)GOTO 43                                                  T5X
   EXIT TO 98D               *242 - 254                                  T5X
43 IF(EC.GT.277)GOTO 44                                                  T5X
   EXIT TO 98E               *255 - 277                                  T5X
/                                                                        T5X
44 EXIT TO 980               *GO PROCESS STATUS                          T5X
/                                                                        T5X
50 B5 = 401                                                              T5X
   IF(EC.EQ.105) GOTO 60                                                 T5X
   B5 = 205                                                              T5X
   IF(EC.EQ.122) GOTO 60                                                 T5X
   B5 = 307                                                              T5X
   IF(EC.EQ.200) GOTO 60                                                 T5X
   B5 = 212                                                              T5X
   IF(EC.EQ.202) GOTO 60                                                 T5X
   B5 = 314                                                              T5X
   IF(EC.EQ.203) GOTO 60                                                 T5X
   B5 = 317                                                              T5X
   IF(EC.EQ.207) GOTO 60                                                 T5X
   EXIT TO 980               *GO PROCESS STATUS                          T5X
/                                                                        T5X
60 B4 = B5.AND.77            *FORMAT NUMBER                              T5X
   B5 = B5.RS.6              *NUMBER OF LINES IN MESSAGE                 T5X
61 MSG B4 TO LINE B6                                                     T5X
   B4 = B4 + 1               *BUMP FORMAT NUMBER                         T5X
   B6 = B6 + 1               *BUMP DISPLAY LINE NUMBER                   T5X
   GOTO 61 WHILE (B5-1.NE.0)           *DO ALL LINES                     T5X
   EXIT TO 980               *GO PROCESS STATUS                          T5X
   END 40                                                                T5X
COMPILE    - T5X98A -                                                    T5X
   MODULE T5X98B,65X(40,41,50,51)LOCK  - ERROR CODE PROCESSING -         T5X
/                                                                        T5X
/                                                                        T5X
 1 FORMAT EC 211-INCORRECT FILE DETECTED DURING A RANDOM                 T5X
 2 FORMAT READ. (SEE NOTE IN -T5X98A- DOCUMENTATION)                     T5X
/                                                                        T5X
 3 FORMAT EC 212-INCORRECT RECORD HAS BEEN DETECTED DURING A             T5X
 4 FORMAT RANDOM READ. (SEE NOTE IN -T5X98A-)                            T5X
/                                                                        T5X
 5 FORMAT EC 213-INCORRECT RECORD LENGTH HAS BEEN DETECTED               T5X
 6 FORMAT DURING A RANDOM READ. -SEE NOTE IN T5X98A -                    T5X
/                                                                        T5X
/                           --- NOTE ---                                 T5X
/                                                                        T5X
/                FOR ERRORS 211, 212 AND 213 SEE NOTE UNDER              T5X
/                ERROR 105 REGARDING CONVERSION MODE.                    T5X
/                                                                        T5X
/                                                                        T5X
/                                                                        T5X
/                                                                        T5X
12 FORMAT EC 217 -ALERT IS SET AFTER A CONTROLLED BACKSPACE              T5X
/                                                                        T5X
13 FORMAT EC 220-A STATUS ERROR OCCURRED ON THE READ BACK-               T5X
14 FORMAT WARDS FOLLOWING A CONTROLLED BACKSPACE OPERATION.              T5X
/                                                                        T5X
15 FORMAT EC 221-AN INCORRECT RECORD HAS BEEN DETECTED                   T5X
16 FORMAT FOLLOWING A CONTROLLED BACKSPACE.  B1 (CURRENT                 T5X
17 FORMAT RECORD) WILL CONTAIN THE ACTUAL RECORD DETECTED.               T5X
/                                                                        T5X
20 FORMAT EC 222-IMPROPER RECORD LENGTH WAS DETECTED ON A                T5X
21 FORMAT REVERSE READ FOLLOWING A CONTROLLED BACKSPACE.                 T5X
22 FORMAT SEE WORD COUNT (WC) AND WORDS TRANSMITTED (WT).                T5X
/                                                                        T5X
50 B5 = 201                                                              T5X
   IF(EC.EQ.211) GOTO 60                                                 T5X
   B5 = 203                                                              T5X
   IF(EC.EQ.212) GOTO 60                                                 T5X
   B5 = 205                                                              T5X
   IF(EC.EQ.213) GOTO 60                                                 T5X
   B5 = 307                                                              T5X
   IF(EC.EQ.215) GOTO 60                                                 T5X
   B5 = 112                                                              T5X
   IF(EC.EQ.217) GOTO 60                                                 T5X
   B5 = 213                                                              T5X
   IF(EC.EQ.220) GOTO 60                                                 T5X
   B5 = 315                                                              T5X
   IF(EC.EQ.221) GOTO 60                                                 T5X
   B5 = 320                                                              T5X
   IF(EC.EQ.222) GOTO 60                                                 T5X
   EXIT TO 980               *GO PROCESS STATUS                          T5X
/                                                                        T5X
60 B4 = B5.AND.77            *FORMAT NUMBER                              T5X
   B5 = B5.RS.6              *NUMBER OF LINES IN MESSAGE                 T5X
61 MSG B4 TO LINE B6                                                     T5X
   B4 = B4 + 1               *BUMP FORMAT NUMBER                         T5X
   B6 = B6 + 1               *BUMP DISPLAY LINE NUMBER                   T5X
   GOTO 61 WHILE (B5-1.NE.0)           *DO ALL LINES                     T5X
   EXIT TO 980               *GO PROCESS STATUS                          T5X
   END 50                                                                T5X
COMPILE    - T5X98B -                                                    T5X
   MODULE T5X98C,65X(40,41,50,51)LOCK  - ERROR CODE PROCESSING -         T5X
/                                                                        T5X
/                                                                        T5X
 1 FORMAT EC 226-ERROR HAS OCCURRED DURING A READ FORWARD                T5X
 2 FORMAT OPERATION IN THE -TAPE PATH DAMAGE- TEST                       T5X
/                                                                        T5X
 3 FORMAT EC 227-ERROR HAS OCCURRED DURING A READ REVERSE                T5X
 4 FORMAT OPERATION IN THE -TAPE PATH DAMAGE- TEST                       T5X
/                                                                        T5X
16 FORMAT EC 240-AN ABNORMAL STATUS WAS DETECTED DURING A                T5X
17 FORMAT -CONTROLLED BACKSPACE- IN THE -POSITION- SUBTEST.              T5X
/                                                                        T5X
20 FORMAT EC 241-AN ABNORMAL STATUS WAS DETECTED DURING A                T5X
21 FORMAT -BACKSPACE- IN THE -POSITION- SUBTEST.                         T5X
/                                                                        T5X
50 B5 = 201                                                              T5X
   IF(EC.EQ.226) GOTO 60                                                 T5X
   B5 = 203                                                              T5X
   IF(EC.EQ.227) GOTO 60                                                 T5X
   B5 = 207                                                              T5X
   IF(EC.EQ.232) GOTO 60                                                 T5X
   B5 = 211                                                              T5X
   IF(EC.EQ.233) GOTO 60                                                 T5X
   B5 = 313                                                              T5X
   IF(EC.EQ.234) GOTO 60                                                 T5X
   B5 = 216                                                              T5X
   IF(EC.EQ.240) GOTO 60                                                 T5X
   B5 = 220                                                              T5X
   IF(EC.EQ.241) GOTO 60                                                 T5X
   EXIT TO 980              *GO PROCESS STATUS                           T5X
/                                                                        T5X
60 B4 = B5.AND.77            *FORMAT NUMBER                              T5X
   B5 = B5.RS.6              *NUMBER OF LINES IN MESSAGE                 T5X
61 MSG B4 TO LINE B6                                                     T5X
   B4 = B4 + 1               *BUMP FORMAT NUMBER                         T5X
   B6 = B6 + 1               *BUMP DISPLAY LINE NUMBER                   T5X
   GOTO 61 WHILE (B5-1.NE.0)           *DO ALL LINES                     T5X
   EXIT TO 980               *GO PROCESS STATUS                          T5X
   END 50                                                                T5X
COMPILE    - T5X98C -                                                    T5X
   MODULE T5X98D,65X(40,41,50,51)LOCK  - ERROR CODE PROCESSING -         T5X
/                                                                        T5X
/                                                                        T5X
 1 FORMAT EC 242-AN ABNORMAL STATUS WAS DETECTED DURING A                T5X
 2 FORMAT -READ FORWARD- IN THE -POSITION- TEST.                         T5X
/                                                                        T5X
 3 FORMAT EC 243-A COMPARE ERROR HAS OCCURRED WHEN THE WRITE             T5X
 4 FORMAT AND READ DATA(1ST WORD) WERE COMPARED FOR RECORDS              T5X
 5 FORMAT 1, 2 OR 3 IN THE -POSITION- TEST.                              T5X
/                                                                        T5X
 6 FORMAT EC 244-AN ABNORMAL STATUS WAS DETECTED DURING THE              T5X
 7 FORMAT READ FORWARD OF RECORD 6 IN THE -POSITION- TEST.               T5X
/                                                                        T5X
10 FORMAT EC 245-THE 1ST WORD WRITTEN AND 1ST WORD READ                  T5X
11 FORMAT FOR RECORD 6 HAVE FAILED TO COMPARE IN THE                     T5X
12 FORMAT -POSITION TEST. B6=EXPECTED  IB(0)=ACTUAL                      T5X
/                                                                        T5X
13 FORMAT EC 246-AN ALERT STATUS OCCURRED AFTER AN ERASE.                T5X
/                                                                        T5X
14 FORMAT EC 251-FILE MARK STATUS IS MISSING AT END-OF-OP                T5X
15 FORMAT DURING A READ FILE MARK REVERSE.                               T5X
/                                                                        T5X
16 FORMAT EC 252-FILE MARK STATUS IS MISSING AT END-OF-OP                T5X
17 FORMAT DURING A READ FILE MARK FORWARD.                               T5X
/                                                                        T5X
20 FORMAT EC 253-A STATUS ERROR OCCURRED ON A BACKSPACE.                 T5X
/                                                                        T5X
22 FORMAT FOLLOWING THE FIRST READ REVERSE AFTER A BACKSPACE             T5X
/                                                                        T5X
50 B5 = 201                                                              T5X
   IF(EC.EQ.242) GOTO 60                                                 T5X
   B5 = 303                                                              T5X
   IF(EC.EQ.243) GOTO 60                                                 T5X
   B5 = 206                                                              T5X
   IF(EC.EQ.244) GOTO 60                                                 T5X
   B5 = 310                                                              T5X
   IF(EC.EQ.245) GOTO 60                                                 T5X
   B5 = 113                                                              T5X
   IF(EC.EQ.246) GOTO 60                                                 T5X
   B5 = 214                                                              T5X
   IF(EC.EQ.251) GOTO 60                                                 T5X
   B5 = 216                                                              T5X
   IF(EC.EQ.252) GOTO 60                                                 T5X
   B5 = 120                                                              T5X
   IF(EC.EQ.253) GOTO 60                                                 T5X
   B5 = 221                                                              T5X
   IF(EC.EQ.254) GOTO 60                                                 T5X
   EXIT TO 980                *GO PROCESS STATUS                         T5X
/                                                                        T5X
60 B4 = B5.AND.77            *FORMAT NUMBER                              T5X
   B5 = B5.RS.6              *NUMBER OF LINES IN MESSAGE                 T5X
61 MSG B4 TO LINE B6                                                     T5X
   B4 = B4 + 1               *BUMP FORMAT NUMBER                         T5X
   B6 = B6 + 1               *BUMP DISPLAY LINE NUMBER                   T5X
   GOTO 61 WHILE (B5-1.NE.0)           *DO ALL LINES                     T5X
   EXIT TO 980               *GO PROCESS STATUS                          T5X
   END 50                                                                T5X
COMPILE    - T5X98D -                                                    T5X
   MODULE T5X98E,65X(40,41,50,51)LOCK  - ERROR CODE PROCESSING -         T5X
/                                                                        T5X
/                                                                        T5X
 1 FORMAT EC 255-AN INCORRECT RECORD LENGTH WAS DETECTED                 T5X
 2 FORMAT ON A REVERSE READ FOLLOWING A BACKSPACE OPERATION.             T5X
/                                                                        T5X
 3 FORMAT EC 256-AN INCORRECT RECORD WAS DETECTED ON A READ              T5X
 4 FORMAT REVERSE FOLLOWING A BACKSPACE.  (INPUT                         T5X
 5 FORMAT BUFFER) WILL CONTAIN THE ACTUAL RECORD DETECTED.               T5X
/                                                                        T5X
12 FORMAT EC 267-THE NUMBER OF RECORDS WRITTEN AND THE NUM-              T5X
13 FORMAT BER OF RECORDS READ IN REVERSE DO NOT COMPARE. THE             T5X
14 FORMAT CONTENTS OF B0 AND B1 SHOULD BE ZERO (0) BUT ARE               T5X
15 FORMAT NOT.THE PLUS OR MINUS VALUE OF THE COUNTS RECORDED             T5X
16 FORMAT IN B0 AND B1 AT LOAD POINT, (AFTER THE READ RE-                T5X
17 FORMAT VERSE), ARE EQUAL TO THE NUMBER OF RECORDS MISSED              T5X
20 FORMAT OR PICKED UP.                                                  T5X
/                                                                        T5X
50 B5 = 201                                                              T5X
   IF(EC.EQ.255) GOTO 60                                                 T5X
   B5 = 303                                                              T5X
   IF(EC.EQ.256) GOTO 60                                                 T5X
   B5 = 712                                                              T5X
   IF(EC.EQ.267) GOTO 60                                                 T5X
   EXIT TO 980                *GO PROCESS STATUS                         T5X
/                                                                        T5X
60 B4 = B5.AND.77            *FORMAT NUMBER                              T5X
   B5 = B5.RS.6              *NUMBER OF LINES IN MESSAGE                 T5X
61 MSG B4 TO LINE B6                                                     T5X
   B4 = B4 + 1               *BUMP FORMAT NUMBER                         T5X
   B6 = B6 + 1               *BUMP DISPLAY LINE NUMBER                   T5X
   GOTO 61 WHILE (B5-1.NE.0)           *DO ALL LINES                     T5X
   EXIT TO 980               *GO PROCESS STATUS                          T5X
   END 50                                                                T5X
COMPILE    - T5X98E -                                                    T5X
   MODULE T5X99,65X(40,41,50,51)LOCK   - T5X TEST SECTIONS -             T5X
/                                                                        T5X
/         PART ONE - DIAGNOSTIC PASS                                     T5X
/                                                                        T5X
/      1. VERIFY PARAMETERS                                              T5X
/                                                                        T5X
/         T5X00 - PARAMETER VALIDATION                                   T5X
/                                                                        T5X
/                                                                        T5X
/      2. VERIFY TAPE HANDLING CAPABILITIES                              T5X
/                                                                        T5X
/         T5X20 - LOOPS                                                  T5X
/         T5X21 - VALVE TEST                                             T5X
/                                                                        T5X
/                                                                        T5X
/      3. PRELIMINARY DATA INTEGRITY TESTING BY TRACK                    T5X
/                                                                        T5X
/         T5X23 - TRACK TEST                                             T5X
/                                                                        T5X
/                                                                        T5X
/      4. TEST DATA INTEGRITY OF SINGLE OPERATIONS                       T5X
/                                                                        T5X
/         T5X40 - ERASE                                                  T5X
/         T5X41 - WRITE TAPE MARK/FILE MARK                              T5X
/         T5X42 - READ TAPE MARK/FILE MARK                               T5X
/         T5X43 - WRITE                                                  T5X
/         T5X44 - READ FORWARD                                           T5X
/         T5X45 - READ FORWARD/REVERSE                                   T5X
/                                                                        T5X
/                                                                        T5X
/      5. PERFORMANCE TEST USING SEQUENCES OF OPERATIONS                 T5X
/                                                                        T5X
/         T5X50 - BACKSPACE                                              T5X
/         T5X51 - BACKSPACE INCREMENTING LENGTH                          T5X
/         T5X52 - CONTROLLED BACKSPACE                                   T5X
/         T5X53 - CONTROLLED BACKSPACE INCR. LENGTH                      T5X
/         T5X54 - WRITE SKIP TO ERASE                                    T5X
/         T5X55 - WRITE SKIP INCR. LENGTH                                T5X
/         T5X56 - RANDOM WRITE                                           T5X
/         T5X57 - RANDOM READ FORWARD /REVERSE                           T5X
/         T5X59 - POSITION TEST                                          T5X
/         T5X60 - CREEP TEST                                             T5X
/         T5X61 - EOT TEST                                               T5X
/                                                                        T5X
/                                                                        T5X
/   1.2   PART TWO - REPAIR OR SPECIAL APPLICATION MODULES               T5X
/                                                                        T5X
/                                                                        T5X
/         T5X70 - TAPE PATH DAMAGE                                       T5X
/         T5X72 - STATUS                                                 T5X
/         T5X73 - LADDER TEST                                            T5X
/         T5X74 - CLIPPING LEVELS                                        T5X
/         T5X80 - COMPATIBILITY TEST
/         T5X81 - COMPATIBILITY TAPE CLEAN-UP 
/                                                                        T5X
/                                                                        T5X
01 PAUSE                                                                 T5X
   EXIT TO 99A                                                           T5X
   END 1                                                                 T5X
COMPILE,SOURCE  - T5X99 -                                                T5X
   MODULE T5X99A,65X(40,41,50,51)LOCK  = T5X PARAMETERS -                T5X
/  -PARAMETER REGISTER SETTINGS-                                         T5X
/                                                                        T5X
/     P0 - TAPE SPEED   VALUE INDICATES SPEED AS FOLLOWS -               T5X
/                                                                        T5X
/          P0 =  37B = 37.5 IPS                                          T5X
/                75B = 75   IPS                                          T5X
/               112B = 112  IPS                                          T5X
/               150B = 150  IPS                                          T5X
/     P1 - TAPE ID                                                       T5X
/                                                                        T5X
/          P1 = PXXX - PARITY                                            T5X
/               0XXX =  ODD PARITY                                       T5X
/               1XXX =  EVEN PARITY                                      T5X
/             = XCXX - CODE CONVERSION OFF/ON                            T5X
/               X0XX =  OFF                                              T5X
/               X1XX =  ON                                               T5X
/             = XXAX - 3N+2 OFF/ON                                       T5X
/               XX0X =  OFF                                              T5X
/               XX1X =  ON  (SEE CAUTION IN SECTION 2.0)                 T5X
/             = XXXD - DENSITY                                           T5X
/               XXX0 =  556 BPI                                          T5X
/               XXX1 =  800 BPI                                          T5X
/               XXX2 =  1600 BPI                                         T5X
/               XXX3 =  200 BPI                                          T5X
/                                                                        T5X
/     P2 = RECORD LENGTH                                                 T5X
/                                                                        T5X
/     P3 = FLAG BITS / MARGINS                                           T5X
/          P3 = XCXX - CLIP LEVEL                                        T5X
/               X0XX =  NORMAL READ CLIP + IRG                           T5X
/               X1XX =  LOW    READ CLIP + IRG                           T5X
/               X2XX =  HYPER  READ CLIP + IRG                           T5X
/               X3XX =  HIGH   READ CLIP + IRG                           T5X
/               X4XX =  NORMAL READ CLIP - IRG                           T5X
/               X5XX =  LOW    READ CLIP - IRG                           T5X
/               X6XX =  HYPER  READ CLIP - IRG                           T5X
/               X7XX =  HIGH   READ CLIP - IRG                           T5X
/                                                                        T5X
/          P3 = XXFF - FLAG BITS                                         T5X
/               XX4X = MAINT MODE IF SET, DIAG MODE IF CLEAR             T5X
/               XX2X = BYPASS WAIT NOT BUSY IF SET                       T5X
/               XX1X = TAPE A PICTURE OF VALVE PLOTS                     T5X
/               XXX4 = LOCK TO BASE NUMBER - IF RANDOM DATA              T5X
/                      IS SELECTED, P7 WILL HOLD THE BASE                T5X
/                      NUMBER FOR PATTERN GENERATION                     T5X
/               XXX2 = COMPARE DATA - COMPARE THE FIRST 400              T5X
/                      OCTAL WORDS OF THE INPUT BUFFER EVEN              T5X
/                      IF NO ERRORS OCCUR                                T5X
/               XXX1 = BYPASS RECORD NUMBERING                           T5X
/                      IF THIS BIT IS NOT SET, POSITION                  T5X
/                      DATA IS PLACED IN THE OUTPUT BUFFER               T5X
/                      DURING A WRITE AS FOLLOWS -                       T5X
/                        OB(1) = CURRENT FILE NUMBER                     T5X
/                        OB(2) = CURRENT RECORD NUMBER                   T5X
/                        OB(3) = RECORD LENGTH                           T5X
/                                                                        T5X
/     P4 - DATA PATTERN GENERATION CONTROL                               T5X
/                                                                        T5X
/          P4 = 0XXX - SELECT FIXED PATTERN XXX                          T5X
/                      XXX IS A 6 OR 8 BIT PATTERN DEPENDING             T5X
/                      ON DRIVE TYPE(7 OR 9 TRACK).                      T5X
/                                                                        T5X
/             = 1XXX - SELECT ALTERNATE PATTERN XXX                      T5X
/                                                                        T5X
/                      PATTERN XXX IS STORED IN THE 1ST,3RD,             T5X
/                      5TH,ETC 6 OR 8 BIT BYTES OF OUTPUT                T5X
/                      BUFFER.  THE COMPLEMENT OF XXX IS                 T5X
/                      STORE IN THE 2ND, 4TH, 6TH ETC BYTES.             T5X
/                                                                        T5X
/             = 2XXX = SELECT RANDOM PATTERN                             T5X
/                      THE RANDOM PATTERN GENERATED IS                   T5X
/                      DETERMINED BY THE BASE RANDOM                     T5X
/                      NUMBER(P7).AND.THE LOCK TO BASE                   T5X
/                      NUMBER BIT(P3=XXX4)                               T5X
/                                                                        T5X
/               4XXX - REPORT FM/TM ERRORS (ERR - 207)                   T5X
/                                                                        T5X
/                                                                        T5X
/     P5 - RANDOM MILLISECOND DELAY MASK                                 T5X
/          P5 = 0000 - DISABLES USE OF RT CLOCK FOR                      T5X
/                      GENERATION OF RANDOM DELAYS.                      T5X
/                      WITH P5=0000 ANY VALUE ENTERED IN P6              T5X
/                      BECOMES A FIXED MILLISECOND DELAY.                T5X
/                                                                        T5X
/                                                                        T5X
/          P5 = XXXX - LOGICAL PRODUCT OF XXXX AND THE RT                T5X
/                      CLOCK PRODUCES  THE VALUE USED FOR                T5X
/                      THE MILLISECOND DELAY                             T5X
/                                                                        T5X
/     P6 - FIXED MILLISECOND DELAY                                       T5X
/          P6 = XXXX - IF P5=0000, P6 WILL BE USED AS FIXED              T5X
/                      DELAY OF XXXX MILLISECONDS                        T5X
/                                                                        T5X
/     P7 - BASE RANDOM NUMBER                                            T5X
/          P7 = 0000 - THE RANDOM STARTER WILL BE                        T5X
/                      OBTAINED FROM THE RT CLOCK                        T5X
/          P7 = XXXX - XXXX IS THE RANDOM NUMBER STARTER                 T5X
/                                                                        T5X
/     P8 - FILE COUNT                                                    T5X
/          P8 = 0000 - INFINITE FILE COUNT                               T5X
/                      RESULTS IN COMPLETE USE OF TAPE                   T5X
/                      BETWEEN BOT AND EOT                               T5X
/          P8 = XXXX - MAXIMUM NUMBER OF FILES TO WRITE/                 T5X
/                      READ PER MODULE                                   T5X
/                                                                        T5X
/     P9 - RECORD COUNT                                                  T5X
/          P9 = 0000 - INFINITE RECORD COUNT                             T5X
/                      RESULTS IN COMPLETE USE OF TAPE                   T5X
/                      BETWEEN BOT AND EOT                               T5X
/          P9 = XXXX - MAXIMUM NUMBER OF RECORDS TO                      T5X
/                      WRITE/READ PER FILE                               T5X
/          P9 = SSSS - SYSTEM ID (MODULE T5X80 ONLY)
01 PAUSE                                                                 T5X
   END 1                                                                 T5X
COMPILE,SOURCE    - T5X99A -                                             T5X
