*DECK FMD                                                                FMD
*IF DEF,SFMD
***                  FMD - 7155 FIXED MODULE DRIVE DIAGNOSTIC            FMD
*ENDIF
*IF DEF,PFMD
***                  FHD - 7155 FIXED MODULE DRIVE DIAGNOSTIC 
*ENDIF
*IF DEF,LSFMD 
***                  FLD - 12 BIT LARGE SECTOR 7155 DRIVE DIAGNOSTIC
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*                    FMD - 7155 FIXED MODULE DRIVE DIAGNOSTIC            FMD
*ENDIF
*IF DEF,PFMD
*                    FHD - 7155 FIXED MODULE DRIVE DIAGNOSTIC 
*ENDIF
*IF DEF,LSFMD 
**                   FLD - 12 BIT LARGE SECTOR 7155 DRIVE DIAGNOSTIC
*ENDIF
*                                                                        FMD
*                             AUTHOR - R. FELLRATH                       FMD
*                                                                        FMD
*                            DATE - JANUARY, 1979                        FMD
*                                                                        FMD
*                      COPYRIGHT CONTROL DATA CORP. 1979                 FMD
*                                                                        FMD
*                                                                        FMD
*   1.    INTRODUCTION                                                   FMD
*         ------------                                                   FMD
*                                                                        FMD
*IF DEF,SFMD
*         FMD IS A DIAGNOSTIC WHICH DETECTS AND ISOLATES FAILURES IN     FMD16
*         THE FIXED MODULE DRIVE (FMD).                                  FMD16
*ENDIF
*IF DEF,PFMD
*         FHD IS A DIAGNOSTIC WHICH DETECTS AND ISOLATES FAILURES IN
*         THE FOUR HEADS PARALLEL FIXED MODULE DRIVE (FMD). 
*ENDIF
*IF DEF,LSFMD 
*         FLD 12 BIT LARGE SECTOR DIAGNOSTIC WHICH DETECTS AND ISOLATES 
*         FAILURES IN THE FIXED MODULE DRIVE (FLD). 
*ENDIF
*                                                                        FMD
*         THE 7155 CONTROLLER IS USED TO DRIVE THE FIXED MODULE DRIVES.  FMD
*                                                                        FMD
*   2.    REQUIREMENTS                                                   FMD
*         ------------                                                   FMD
*                                                                        FMD
*   2.1   HARDWARE                                                       FMD
*                                                                        FMD
*         THIS DIAGNOSTIC WILL REQUIRE ONE FIXED MODULE DRIVE.  THE      FMD06
*         CONFIGURATION MAY BE ANY LEGAL ONE AS DEFINED IN THE 7155      FMD
*         EQUIPMENT SPECIFICATION (PUBLICATION 22938611).  OTHER         FMD
*         HARDWARE REQUIREMENTS IMPOSED BY EACH OPERATING SYSTEM ARE     FMD
*         INCLUDED IN ITS REFERENCE MANUAL.                              FMD
*                                                                        FMD
*                                                                        FMD
*   2.2   SOFTWARE                                                       FMD
*                                                                        FMD
*IF -DEF,CMSE17X                                                         FMD16
*IF DEF,SFMD,1
*         FMD RUNS UNDER MALET. UNDER MALET IT REQUIRES EITHER A NOS     FMD16
*IF DEF,PFMD,1
*         FHD RUNS UNDER MALET. UNDER MALET IT REQUIRES EITHER A NOS
*IF DEF,LSFMD,2 
*         FLD 12 BIT LARGE SECTOR RUNS UNDER MALET. UNDER MALET IT
*         REQUIRES  EITHER  A  NOS
*         OR NOS/BE OPERATING SYSTEM.                                    FMD16
*ENDIF                                                                      FMD16 
*IF DEF,CMSE17X                                                          FMD16
*IF DEF,SFMD,1
*         FMD RUNS UNDER DEMOT.  WHEN RUN UNDER DEMOT, A VERSION OF      FMD20
*IF DEF,PFMD,1
*         FHD RUNS UNDER DEMOT.  WHEN RUN UNDER DEMOT, A VERSION OF 
*IF DEF,LSFMD,2 
*         FLD 12 BIT LARGE SECTOR RUNS UNDER DEMOT. WHEN RUN  UNDER 
*         DEMOT,  A  VERSION  OF
*         CMSE IS REQUIRED.                                              FMD16
*ENDIF                                                                      FMD16 
*                                                                        FMD
*         A COPY OF THE MOST RECENT VERSION OF THE 7155 CONTROLWARE MUST FMD
*         BE LOADED INTO THE 7155 CONTROLLER IN ORDER FOR THE            FMD
*         DIAGNOSTIC TO RUN CORRECTLY.                                   FMD
*                                                                        FMD
*   2.3   ACCESSORIES                                                    FMD
*                                                                        FMD
*         NO SPECIAL ACCESSORIES ARE REQUIRED.                           FMD
*                                                                        FMD
*   3.    OPERATIONAL PROCEDURE                                          FMD
*         ----------- ---------                                          FMD
*                                                                        FMD
*   3.1   LOADING PROCEDURE                                              FMD
*                                                                        FMD
*IF -DEF,CMSE17X                                                         FMD16
*IF DEF,SFMD,1
*         FMD IS LOADED USING THE STANDARD MALET LOADING PROCEDURES.     FMD16
*IF DEF,PFMD,1
*         FHD IS LOADED USING THE STANDARD MALET LOADING PROCEDURES.
*IF DEF,LSFMD,2 
*         FLD 12 BIT LARGE SECTOR IS LOADED USING THE STANDARD MALET
*         LOADING PROCEDURES. 
*ENDIF                                                                      FMD16 
*IF DEF,CMSE17X                                                          FMD16
*IF DEF,SFMD,1
*         FMD IS LOADED USING THE STANDARD DEMOT LOADING PROCEDURES.     FMD16
*IF DEF,PFMD,1
*         FHD IS LOADED USING THE STANDARD DEMOT LOADING PROCEDURES.
*IF DEF,LSFMD,2 
*         FLD 12 BIT LARGE SECTOR IS LOADED USING THE STANDARD DEMOT
*         LOADING PROCEDURES. 
*ENDIF                                                                      FMD16 
*                                                                        FMD
*                                                                        FMD
*   3.2   PARAMETERS                                                     FMD
*                                                                        FMD
*         ALL UNUSED PARAMETERS MUST BE SET TO ZERO.  THIS ALLOWS THE    FMD
*         PARAMETER CHECKING MODULE TO SOMETIMES DETERMINE IF THE WRONG  FMD
*         PARAMETER WAS ACCIDENTALLY SET. THE FOLLOWING PARAMETERS ARE   FMD
*IF DEF,SFMD
*         USED BY FMD--                                                  FMD
*ENDIF
*IF DEF,PFMD
*         USED BY FHD-- 
*ENDIF
*IF DEF,LSFMD 
*         USED BY FLD-- 12 BIT LARGE SECTOR 
*ENDIF
*                                                                        FMD
*                                                                        FMD
*         P0 - LLLL - LOWER CYLINDER                                     FMD
*              (RIGHT JUSTIFIED, ZERO FILLED)                            FMD
*                                                                        FMD
*         P1 - UUUU - UPPER CYLINDER                                     FMD
*              (RIGHT JUSTIFIED, ZERO FILLED)                            FMD
*                                                                        FMD
*         P2 - LLUU - LOWER AND UPPER TRACKS                             FMD
*                                                                        FMD
*         P3 - LLUU - LOWER AND UPPER SECTORS                            FMD
*                                                                        FMD
*         P4 - XXXX - ENABLES                                            FMD
*                                                                        FMD
*              XXX1 - FLAW REPORTING                                     FMD
*              XXX2 - NOT USED (MUST BE 0)                               FMD
*              XXX4 - NOT USED (MUST BE 0)                               FMD
*              XX1X - NOT USED (MUST BE 0)                               FMD
*              XX2X - NOT USED (MUST BE 0)                               FMD
*              XX4X - NOT USED (MUST BE 0)                               FMD
*              X1XX - NOT USED (MUST BE 0)                               FMD
*              X2XX - NOT USED (MUST BE 0)                               FMD
*              X4XX - NOT USED (MUST BE 0)                               FMD
*              1XXX - NOT USED (MUST BE 0)                               FMD
*              2XXX - ISOLATE READY AND SAFE FAILURES                    FMD
*              4XXX - ISOLATION                                          FMD
*                                                                        FMD
*         P5 - XXXX - DISABLES                                           FMD
*                                                                        FMD
*              XXX1 - DATA CHECKING                                      FMD
*              XXX2 - DATA CHECKING AFTER FIRST ERROR                    FMD
*              XXX4 - HALT ON DATA ERROR                                 FMD
*              XX1X - OPERATOR INTERVENTION                              FMD
*              XX2X - NOT USED (MUST BE 0)                               FMD
*              XX4X - NOT USED (MUST BE 0)                               FMD
*              X1XX - NOT USED (MUST BE 0)                               FMD
*              X2XX - NOT USED (MUST BE 0)                               FMD
*              X4XX - NOT USED (MUST BE 0)                               FMD
*              1XXX - NOT USED (MUST BE 0)                               FMD
*              2XXX - DISABLE RESERVE FUNCTIONS                          FMD
*              4XXX - FORCE DRIVE FAULTS                                 FMD
*                                                                        FMD
*         P6 - XXXX - RANDOM DATA SEED                                   FMD
*              (USE REAL TIME CLOCK IF P6 = 0)                           FMD
*                                                                        FMD
*         P7 - NOT USED.                                                 FMD09
*                                                                        FMD
*         P8 - HARDWARE DESCRIPTION                                      FMD
*                                                                        FMD
*              XAXX - COPY OF TEST BEING RUN                             FMD
*                                                                        FMD
*                      A = 1 FOR COPY 0                                  FMD
*                      A = 2 FOR COPY 1                                  FMD
*                                                                        FMD
*         P9 - 0000 - ITERATION COUNT                                    FMD
*                     (ACTUAL COUNT EQUALS THE ITERATION                 FMD06
*                      COUNT TIMES 10 OCTAL).                            FMD
*                     THIS PARAMETER IS USED BY MODULES                  FMD
*IF DEF,SFMD
*                     FMD42 AND FMD50.                                   FMD
*ENDIF
*IF DEF,PFMD
*                     FHD42 AND FHD50.
*ENDIF
*IF DEF,LSFMD 
*                    FLD42 AND FLD50. 
*ENDIF
*                                                                        FMD
*                                                                        FMD
*   3.3   SECTION DESCRIPTION INDEX                                      FMD
*                                                                        FMD
*IF DEF,SFMD
*         NAME     DESCRIPTION                    RUN TIME (SEC)         FMD
*         ----     -----------                    --- ---- -----         FMD
*         FMD00 - CHECK PARAMETERS                      1                FMD
*         FMD01 - FMD PRELIMINARY TEST                  1                FMD
*         FMD02 - STATIC I/O TEST 1                     1                FMD
*         FMD03 - STATIC I/O TEST 2                     1                FMD
*         FMD04 - ILLEGAL COMMAND TEST                  13               FMD
*         FMD05 - FMD PARITY TEST                       1                FMD03
*         FMD06 - ECHO BUS OUT TEST                     1                FMD
*         FMD07 - ECHO DECODE TEST                      1                FMD
*         FMD08 - RTZ CLEAR REG. TEST                   1                FMD
*         FMD09 - UPPER CYLINDER TEST                   1                FMD
*         FMD10 - LOWER CYLINDER TEST                   1                FMD
*         FMD11 - UPPER DIFF. TEST                      1                FMD
*         FMD12 - LOWER DIFF. TEST                      1                FMD
*         FMD13 - HEAD REGISTER TEST                    1                FMD
*         FMD14 - 48, 49 STATUS TEST                    1                FMD
*         FMD15 - 4A, 4B STATUS TEST                    1                FMD
*         FMD16 - 4C,4E,4F STATUS TEST                  1                FMD
*         FMD17 - 4C BIT 0 STATUS TEST                  1                FMD
*         FMD18 - 4C BIT 4 STATUS TEST                  1                FMD
*         FMD19 - 4C BIT 5 STATUS TEST                  1                FMD
*         FMD20 - 4C BIT 6 STATUS TEST                  1                FMD
*         FMD21 - 4C BIT 7 STATUS TEST                  1                FMD
*         FMD22 - 46, 47 STATUS TEST                    1                FMD
*         FMD23 - 4D BIT 3 STATUS TEST                  1                FMD
*         FMD24 - 4D BIT 4 STATUS TEST                  1                FMD
*         FMD25 - 4D BIT 5 STATUS TEST                  1                FMD
*         FMD26 - 4D BIT 6 STATUS TEST                  1                FMD
*         FMD27 - 88-8F STATUS TEST                     1                FMD
*         FMD28 - 8A, 8D STATUS TEST                    1                FMD
*         FMD29 - DRIVE ADDRESS TEST                    -                FMD
*         FMD30 - MAINT/RD SWITCH TEST                  -                FMD
*         FMD31 - SECTOR COMP. TEST 1                   4                FMD
*         FMD32 - SECTOR COMP. TEST 2                   23               FMD
*         FMD33 - SECTOR COUNTER TEST                   1                FMD
*         FMD34 - RTZ STATUS TEST 1                     1                FMD
*         FMD35 - RTZ STATUS TEST 2                     1                FMD
*         FMD36 - ONE TRACK SEEK TEST                   1                FMD
*         FMD37 - SEEK 2,4,8 TRACKS                     1                FMD
*         FMD38 - SEEK 16,32,64 TRACKS                  1                FMD
*         FMD39 - SEEK 128,256,512 TRK                  1                FMD
*         FMD40 - 842 TRACK SEEK TEST                   1                FMD
*         FMD41 - INCREMENTAL SEEKS                     1                FMD
*         FMD42 - TIMED RANDOM SEEKS                    6                FMD
*         FMD43 - OFFSET TEST 1                         1                FMD
*         FMD44 - OFFSET TEST 2                         1                FMD
*         FMD45 - OFFSET TEST 3                         1                FMD
*         FMD46 - READ ADDRESS FIELD                    1                FMD
*         FMD47 - READ DATA FIELD                       2                FMD
*         FMD48 - READ ADDRESS FORWARD                  1                FMD
*         FMD49 - READ ADDRESS REVERSE                  1                FMD
*         FMD50 - RANDOM READ TEST                      19               FMD
*         FMD51 - COMPARE DATA FIELD                    2                FMD
*         FMD52 - WRITE/READ TEST                       2                FMD
*         FMD53 - W/R LATE STROBE                       2                FMD
*         FMD54 - W/R EARLY STROBE                      2                FMD
*         FMD55 - W/R REVERSE OFFSET                    2                FMD
*         FMD56 - W/R REV/LATE MARGIN                   2                FMD
*         FMD57 - W/R REV/EARLY MARGIN                  2                FMD
*         FMD58 - W/R FORWARD OFFSET                    2                FMD
*         FMD59 - W/R FWD/LATE MARGIN                   2                FMD
*         FMD60 - W/R FWD/EARLY MARGIN                  2                FMD
*         FMD61 - VERIFY ADDRESS FIELD                  1                FMD
*         FMD62 - READ CONTROL FAULT                    1                FMD
*         FMD63 - WRITE CONTROL FAULT                   1                FMD
*         FMD64 - OFFSET WRITE FAULT                    1                FMD
*         FMD65 - W/R CONTROL FAULT                     1                FMD
*         FMD66 - OFF CYL. READ FAULT                   1                FMD
*         FMD67 - SEEK OVERSHOOT FAULT                  1                FMD
*         FMD68 - INDEX READ FAULT                      1                FMD
*         FMD69 - W/R DATA FIELD                        4                FMD
*         FMD70 - SERVO TEST                            5                FMD
*         FMD71 - RESONANCE TEST 1                      800              FMD
*         FMD72 - RESONANCE TEST 2                      380              FMD
*         FMD73 - TEST DUAL ACCESS                      *                FMD
*ENDIF
*IF DEF,PFMD
*         NAME     DESCRIPTION           RUN TIME (SEC)    ACCESS LEVEL 
*         ----     -----------           --------------    ------------ 
*         FHD00 - CHECK PARAMETERS             1                3 
*         FHD01 - FHD PRELIMINARY TEST         1                3 
*         FHD02 - STATIC I/O TEST 1            2                3 
*         FHD03 - STATIC I/O TEST 2            3                3 
*         FHD04 - ILLEGAL COMMAND TEST         2                3 
*         FHD05 - FHD PARITY TEST              1                3 
*         FHD06 - ECHO BUS OUT TEST            1                3 
*         FHD07 - ECHO DECODE TEST             1                3 
*         FHD08 - RTZ CLEAR REG. TEST          1                3 
*         FHD09 - UPPER CYLINDER TEST          1                3 
*         FHD10 - LOWER CYLINDER TEST          2                3 
*         FHD11 - UPPER DIFF. TEST             2                3 
*         FHD12 - LOWER DIFF. TEST             1                3 
*         FHD13 - HEAD REGISTER TEST           2                3 
*         FHD14 - 48, 49 STATUS TEST           1                3 
*         FHD15 - 4A, 4B STATUS TEST           1                3 
*         FHD16 - 4C,4E,4F STATUS TEST         1                3 
*         FHD17 - 4C BIT 0 STATUS TEST         1                3 
*         FHD18 - 4C BIT 4 STATUS TEST         1                3 
*         FHD19 - 4C BIT 5 STATUS TEST         1                3 
*         FHD20 - 4C BIT 6 STATUS TEST         1                3 
*         FHD21 - 4C BIT 7 STATUS TEST         1                3 
*         FHD22 - 46, 47 STATUS TEST           2                3 
*         FHD23 - 4D BIT 3 STATUS TEST         1                3 
*         FHD24 - 4D BIT 4 STATUS TEST         1                3 
*         FHD25 - 4D BIT 5 STATUS TEST         1                3 
*         FHD26 - 4D BIT 6 STATUS TEST         1                3 
*         FHD27 - 88-8F STATUS TEST            1                3 
*         FHD28 - 8A, 8D STATUS TEST           2                3 
*         FHD29 - DRIVE ADDRESS TEST           -                3 
*         FHD30 - MAINT/RD SWITCH TEST         -                3 
*         FHD31 - SECTOR COMP. TEST 1          2                3 
*         FHD32 - SECTOR COMP. TEST 2          21               3 
*         FHD33 - SECTOR COUNTER TEST          1                3 
*         FHD34 - RTZ STATUS TEST 1            1                3 
*         FHD35 - RTZ STATUS TEST 2            1                3 
*         FHD36 - ONE TRACK SEEK TEST          1                3 
*         FHD37 - SEEK 2,4,8 TRACKS            2                3 
*         FHD38 - SEEK 16,32,64 TRACKS         2                3 
*         FHD39 - SEEK 128,256,512 TRK         1                3 
*         FHD40 - 842 TRACK SEEK TEST          1                3 
*         FHD41 - INCREMENTAL SEEKS            1                3 
*         FHD42 - TIMED RANDOM SEEKS           7                3 
*         FHD43 - OFFSET TEST 1                2                3 
*         FHD44 - OFFSET TEST 2                2                3 
*         FHD45 - OFFSET TEST 3                1                3 
*         FHD46 - READ ADDRESS FIELD           1                3 
*         FHD47 - READ DATA FIELD              2                3 
*         FHD48 - READ ADDRESS FORWARD         1                3 
*         FHD49 - READ ADDRESS REVERSE         1                3 
*         FHD50 - RANDOM READ TEST             11               3 
*         FHD51 - COMPARE DATA FIELD           2                3 
*         FHD52 - WRITE/READ TEST              2                3 
*         FHD53 - W/R LATE STROBE              2                3 
*         FHD54 - W/R EARLY STROBE             2                3 
*         FHD55 - W/R REVERSE OFFSET           2                3 
*         FHD56 - W/R REV/LATE MARGIN          2                3 
*         FHD57 - W/R REV/EARLY MARGIN         2                3 
*         FHD58 - W/R FORWARD OFFSET           2                3 
*         FHD59 - W/R FWD/LATE MARGIN          2                3 
*         FHD60 - W/R FWD/EARLY MARGIN         2                3 
*         FHD61 - VERIFY ADDRESS FIELD         1                3 
*         FHD62 - READ CONTROL FAULT           1                3 
*         FHD63 - WRITE CONTROL FAULT          1                3 
*         FHD64 - OFFSET WRITE FAULT           1                4 
*         FHD65 - W/R CONTROL FAULT            1                4 
*         FHD66 - OFF CYL. READ FAULT          2                3 
*         FHD67 - SEEK OVERSHOOT FAULT         2                3 
*         FHD68 - INDEX READ FAULT             1                3 
*         FHD69 - W/R DATA FIELD               3                3 
*         FHD70 - SERVO TEST                   7                3 
*         FHD71 - RESONANCE TEST 1             800              3 
*         FHD72 - RESONANCE TEST 2             360              3 
*         FHD73 - TEST DUAL ACCESS             *               10 
*         FHD73 - TEST DUAL ACCESS             *               10 
*ENDIF
*IF DEF,LSFMD 
*ENDIF
*                                                                        FMD
*                                                                        FMD
*   4.    OPERATOR COMMUNICATION                                         FMD
*          -------- -------------                                        FMD
*                                                                        FMD
*   4.1   MESSAGE FORMATS                                                FMD
*                                                                        FMD
*IF DEF,SFMD
*         THE MESSAGE FORMATS USED BY FMD TO REPORT ERRORS               FMD
*ENDIF
*IF DEF,PFMD
*         THE MESSAGE FORMATS USED BY FHD TO REPORT ERRORS
*ENDIF
*IF DEF,LSFMD 
*         THE MESSAGE FORMATS USED BY FLD(12 BIT LARGE SECTOR) TO REPORT
*         ERRORS
*ENDIF
*         AND INSTRUCT THE OPERATOR ARE--                                FMD
*                                                                        FMD
*         00                                                             FMD
*IF DEF,SFMD
*         01  FMD - 7155 FIXED MODULE DRIVE DIAGNOSTIC
*         02  FMDNN - MODULE TITLE                                       FMD
*         03  PRESERVICE FORECAST GROUP FMDD                             FMD
*ENDIF
*IF DEF,PFMD
*         01  FHD - FIXED MODULE DRIVE DIAGNOSTIC 
*         02  FHDNN - MODULE TITLE
*         03  PRESERVICE FORECAST GROUP FHDD
*ENDIF
*IF DEF,LSFMD 
*         01  FLD - 12 BIT LARGE SECTOR DIAGNOSTIC
*         02  FLDNN - MODULE TITLE
*         03  PRESERVICE FORECAST GROUP FMDD
*ENDIF
*         04                                                             FMD
*IF DEF,SFMD
*         05  FMDNN - LINE YYYY - ERROR NUMBER TTEEE                     FMD
*ENDIF
*IF DEF,PFMD
*         05  FHDNN - LINE YYYY - ERROR NUMBER TTEEE
*ENDIF
*IF DEF,LSFMD 
*         05  FLDNN - LINE YYYY - ERROR NUMBER TTEEE
*ENDIF
*         06  DATA ERROR   WAAAA  EBBBB  ACCCC  DFFFF                    FMD
*         06  STATUS ERROR WAAAA  EBBBB  ACCCC  DFFFF                    FMD
*         07  MISCELLANEOUS MEANINGFUL VALUES                            FMD
*         10  MISCELLANEOUS MEANINGFUL VALUES                            FMD
*         11                                                             FMD
*         12  ERROR DESCRIPTION                                          FMD
*         13                                                             FMD
*         14  DIRECTIONS TO CE                                           FMD
*         15  DIRECTIONS TO CE                                           FMD
*         16  DIRECTIONS TO CE                                           FMD
*                                                                        FMD
*         NN IS THE MODULE NUMBER.                                       FMD
*IF DEF,SFMD
*         FMDD IS THE PRESERVICE FORECAST GROUP NUMBER.                  FMD
*ENDIF
*IF DEF,PFMD
*         FHDD IS THE PRESERVICE FORECAST GROUP NUMBER. 
*ENDIF
*IF DEF,LSFMD 
*         FMDD IS THE PRESERVICE FORECAST GROUP NUMBER. 
*ENDIF
*         YYYY IS THE ADDRESS THE ERROR OCCURRED IN THE                  FMD
*           PRIMARY MODULE.                                              FMD
*         TT IS THE TEST NUMBER (IN HEX).                                FMD
*         EEE IS THE ERROR NUMBER (IN HEX).                              FMD
*         AAAA IS THE WORD NUMBER IN THE BUFFER.                         FMD
*         BBBB IS THE EXPECTED VALUE.                                    FMD
*         CCCC IS THE ACTUAL VALUE.                                      FMD
*         FFFF IS THE LOGICAL DIFFERENCE OF BBBB AND CCCC.               FMD
*         THE MISCELLANEOUS MEANINGFUL VALUES WILL VARY                  FMD
*           FROM MODULE TO MODULE.                                       FMD
*         A NORMAL DIRECTIONS TO THE CE MESSAGE IS -                     FMD
*         REPLACE PWBS ONE AT A TIME IN THE FOLLOWING                    FMD
*         ORDER - A/BNN, A/BNN, A/BNN.                                   FMD
*         PWBS IS PRINTED WIRE BOARDS.                                   FMD
*         A/B INDICATES THE ROW IN THE CHASSIS IN WHICH TO REPLACE THE   FMD06
*         PRINTED WIRE BOARD AND NN INDICATES THE LOCATION OF THE BOARD  FMD06
*         IN THE ROW. A IS ROW A FOR DEVICE A AND B IS ROW B FOR DEVICE  FMD06
*         B. DEVICE A IS THE DRIVE ON THE LEFT HAND SIDE OF THE CABINET  FMD06
*         WHEN LOOKING AT IT FROM THE FRONT.                             FMD06
*                                                                        FMD
*                                                                        FMD
*   4.2   MESSAGE DICTIONARY                                             FMD
*                                                                        FMD
*   4.2.1 ERROR MESSAGES                                                 FMD
*                                                                        FMD
*   4.2.1.1  PP DISPLAY BUFFER MESSAGES                                  FMD
*                                                                        FMD
*IF DEF,SFMD
*         THE ERROR MESSAGES WHICH ARE POSTED BY FMD IN THE PP DISPLAY   FMD
*ENDIF
*IF DEF,PFMD
*         THE ERROR MESSAGES WHICH ARE POSTED BY FHD IN THE PP DISPLAY
*ENDIF
*IF DEF,LSFMD 
*         THE ERROR MESSAGES WHICH ARE POSTED BY FLD 12 BIT LARGE SECTOR
*         IN THE PP DISPLAY 
*ENDIF
*         BUFFER AND DO NOT FOLLOW THE FORMAT DESCRIBED IN 4.1 ARE--     FMD
*                                                                        FMD
*                                                                        FMD
*           AN ATTEMPT WAS MADE TO RUN A MODULE WHICH                    FMD
*           REQUIRES OPERATOR INTERVENTION WITH THE DISABLE              FMD
*           OPERATOR INTERVENTION BIT SET (P5 = XX1X) AND                FMD
*           REPEAT MODULE SET (SETSW RM).                                FMD
*                                                                        FMD
*           CLEAR ONE OF THESE CONDITIONS BEFORE ATTEMPTING TO           FMD
*           RUN THE MODULE AGAIN.                                        FMD
*                                                                        FMD
*                                                                        FMD
*                                                                        FMD
*IF DEF,SFMD
*           FMD - FIXED MODULE DRIVE DIAGNOSTIC                          FMD
*           FMDNN - DESCRIPTION                                          FMD
*           PRESERVICE FORECAST GROUP FMDD                               FMD05
*ENDIF
*IF DEF,PFMD
*           FHD - FIXED MODULE DRIVE DIAGNOSTIC 
*           FHDNN - DESCRIPTION 
*           PRESERVICE FORECAST GROUP FHDD
*ENDIF
*IF DEF,LSFMD 
*           FLD - 12 BIT LARGE SECTOR DIAGNOSTIC
*           FLDNN - DESCRIPTION 
*           PRESERVICE FORECAST GROUP FMDD
*ENDIF
*                                                                        FMD
*IF DEF,SFMD
*           FMDNN - LINE YYYY ERROR CODE EEEE                            FMD
*ENDIF
*IF DEF,PFMD
*           FHDNN - LINE YYYY ERROR CODE EEEE 
*ENDIF
*IF DEF,LSFMD 
*           FLDNN - LINE YYYY ERROR CODE EEEE 
*ENDIF
*                                                                        FMD
*           FUNCTION CODE = FFFF                                         FMD
*                                                                        FMD
*                                                                        FMD
*           PRODUCT OVERLAY ERROR MESSAGE                                FMD
*                                                                        FMD
*                            WORD   DETAILED STATUS (OCTAL)              FMD
*            GENERAL STATUS   01D   SSSS SSSS SSSS SSSS SSSS             FMD
*            = GGGGB          06D   SSSS SSSS SSSS SSSS SSSS             FMD
*                             11D   SSSS SSSS SSSS SSSS SSSS             FMD
*                             16D   SSSS SSSS SSSS SSSS SSSS             FMD
*                                                                        FMD
*                                                                        FMD
*         NN IS THE MODULE NUMBER.                                       FMD
*IF DEF,SFMD
*         FMDD IS THE PRESERVICE FORECAST GROUP NUMBER.                  FMD
*ENDIF
*IF DEF,PFMD
*         FHDD IS THE PRESERVICE FORECAST GROUP NUMBER. 
*ENDIF
*IF DEF,LSFMD 
*         FMDD IS THE PRESERVICE FORECAST GROUP NUMBER. 
*ENDIF
*         YYYY IS THE ADDRESS THE ERROR OCCURRED IN THE                  FMD
*           PRIMARY MODULE.                                              FMD
*         EEEE IS THE ERROR NUMBER (IN OCTAL).                           FMD
*         FFFF IS THE LAST FUNCTION SENT TO THE 7155 CONTROLLER.         FMD
*         GGGG IS THE GENERAL STATUS WORD (ON XX25 ERRORS ONLY).         FMD
*         SSSS IS THE DETAILED STATUS WORDS (ON XX25 ERRORS ONLY).       FMD06
*                                                                        FMD
*   4.2.1.2  B DISPLAY MESSAGES                                          FMD06
*                                                                        FMD
*           REPEAT MODULE CONFLICT                                       FMD
*           MANUAL INTERVENTION STOP                                     FMD
*                                                                        FMD
*   5.    DESCRIPTIONS                                                   FMD
*         ------------                                                   FMD
*                                                                        FMD
*   5.1   GENERAL                                                        FMD
*                                                                        FMD
*IF DEF,SFMD
*         FMD IS A DETECTION AND ISOLATION DIAGNOSTIC WITH PYRAMID TYPE  FMD
*ENDIF
*IF DEF,PFMD
*         FHD IS A DETECTION AND ISOLATION DIAGNOSTIC WITH PYRAMID TYPE 
*ENDIF
*IF DEF,LSFMD 
*         FLD IS A DETECTION AND ISOLATION DIAGNOSTIC WITH PYRAMID TYPE 
*ENDIF
*         DESIGN.  THIS MEANS THAT THE SIMPLEST HARDWARE WILL BE TESTED  FMD
*         FIRST.  THEN THIS HARDWARE THAT HAS BEEN TESTED IS USED TO     FMD
*         TEST A MORE COMPLEX PIECE OF HARDWARE IN THE DRIVE.  WHEN THE  FMD
*         DIAGNOSTIC DETECTS A FAILURE IN THE HARDWARE, THE HARDWARE     FMD06
*         FAILURE MUST BE CORRECTED BEFORE CONTINUING ON WITH THE        FMD
*         TESTING.  FAILURE TO CORRECT A HARDWARE FAILURE BEFORE         FMD
*         CONTINUING ON CAN CAUSE MISLEADING ERROR MESSAGES AND          FMD06
*         ISOLATION INFORMATION TO BE PRESENTED IN LATER PARTS OF THE    FMD
*         DIAGNOSTIC.                                                    FMD
*                                                                        FMD
*IF DEF,SFMD
*         ALL MODULES IN THE DIAGNOSTIC EXCEPT THE MODULE FMD73 (TEST    FMD20
*         DUAL ACCESS) HAVE BEEN WRITTEN USING THE FMD HALF TRACK        FMD16
*         PRODUCT OVERLAY AND REQUIRE A ACCESS LEVEL OF 4.  MODULE       FMD16
*         FMD73 (TEST DUAL ACCESS) HAS BEEN WRITTEN USING THE LOW LEVEL  FMD16
*         PRODUCT OVERLAY AND REQUIRES A ACCESS LEVEL OF 10.             FMD
*ENDIF
*IF DEF,PFMD
*         ALL MODULES IN THE DIAGNOSTIC EXCEPT FOR MODULES FHD64
*         (OFFSET WRITE FAULT), FHD65 (W/R CONTROL FAULT), AND FHD73
*         (TEST DUAL ACCESS) HAVE BEEN WRITTEN USING THE DEMA HALF
*         TRACK PRODUCT OVERLAY AND REQUIRE A ACCESS LEVEL OF 3.
*         MODULES FHD64 (OFFSET WRITE FAULT) AND FHD65 (W/R CONTROL 
*         FAULT) HAVE BEEN WRITTEN USING THE DEMA HALF TRACK PRODUCT
*         OVERLAY AND REQUIRE AN ACCESS LEVEL OF 4.  MODULE FHD73 
*         (TEST DUAL ACCESS) HAS BEEN WRITTEN USING THE LOW LEVEL 
*         PRODUCT OVERLAY AND REQUIRE AN ACCESS LEVEL OF 10.
*ENDIF
*IF DEF,LSFMD 
*         ALL MODULES IN THE DIAGNOSTIC EXCEPT MODULE FLD73 (TEST 
*         DUAL ACCESS) HAVE BEEN WRITTEN USING THE LSFMD PRODUCT
*         OVERLAY AND REQUIRE A ACCESS LEVEL OF 4. MODULE FLD73 HAS 
*         BEEN WRITTEN USING THE LOW LEVEL PRODUCT OVERLAY AND REQUIRES 
*         A ACCESS LEVEL OF 10. 
*ENDIF
*                                                                        FMD
*         THE DIAGNOSTIC ASSUMES THAT THE FIXED MODULE DRIVE TO BE       FMD
*         TESTED IS CABLED TO THE CONTROLLER, POWERED UP, NOT RESERVED   FMD
*         BY THE OTHER ACCESS, THE MAINTENANCE SWITCH IS DEPRESSED, AND  FMD
*         THAT THE READ ONLY SWITCH IS NOT DEPRESSED.                    FMD
*                                                                        FMD
*                                                                        FMD
*   5.2   DIAGNOSTIC MODULE DESCRIPTIONS                                 FMD
*                                                                        FMD
*IF DEF,SFMD
   MODULE FMD00,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD00,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD00,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*   5.2.0 FMD00 - PARAMETER VERIFICATION                                 FMD
*ENDIF
*IF DEF,PFMD
*   5.2.0 FHD00 - PARAMETER VERIFICATION
*ENDIF
*IF DEF,LSFMD 
*   5.2.0 FLD00 - PARAMETER VERIFICATION
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD00 CHECKS EACH OF THE 10D PARAMETERS BEFORE EXECUTING THE   FMD
*ENDIF
*IF DEF,PFMD
*         FHD00 CHECKS EACH OF THE 10D PARAMETERS BEFORE EXECUTING THE
*ENDIF
*IF DEF,LSFMD 
*         FLD00 CHECKS EACH OF THE 10D PARAMETERS BEFORE EXECUTING THE
*ENDIF
*         REST OF THE DIAGNOSTIC. IF ANY PARAMETER ENTRY ERRORS ARE      FMD
*         DETECTED, THE MODULE PAUSES SO THE OPERATOR CAN CORRECT THE    FMD
*         PROBLEMS OR OVERRIDE AND CONTINUE EXECUTION.                   FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CHECK THE CYLINDER NUMBER IN PARAMETER WORD 0 FOR BEING    FMD
*             GREATER THAN 842 DECIMAL.                                  FMD06
*         2.  CHECK THE CYLINDER NUMBER IN PARAMETER WORD 1 FOR BEING    FMD
*             GREATER THAN 842 DECIMAL.                                  FMD06
*         3.  VERIFY THAT THE CYLINDER NUMBER IN PARAMETER WORD 1 FOR    FMD
*             BEING EQUAL TO OR LESS THAN THE CYLINDER NUMBER IN         FMD
*             PARAMETER WORD 0.                                          FMD
*         4.  CHECK FOR THE LOWER TRACK NUMBER IN PARAMETER WORD 2 FOR   FMD
*IF DEF,SFMD
*             BEING GREATER THAN 39 DECIMAL.                             FMD
*ENDIF
*IF DEF,PFMD
*             BEING GREATER THAN 9 DECIMAL. 
*ENDIF
*IF DEF,LSFMD 
*             BEING GREATER THAN 39 DECIMAL.
*ENDIF
*         5.  CHECK FOR THE UPPER TRACK NUMBER IN PARAMETER WORD 2 FOR   FMD
*IF DEF,SFMD
*             BEING GREATER THAN 39 DECIMAL.                             FMD
*ENDIF
*IF DEF,PFMD
*             BEING GREATER THAN 9 DECIMAL. 
*ENDIF
*IF DEF,LSFMD 
*             BEING GREATER THAN 39 DECIMAL.
*ENDIF
*         6.  VERIFY THAT THE LOWER TRACK NUMBER IN PARAMETER WORD 2 FOR FMD
*             BEING EQUAL TO OR LESS THAN THE UPPER TRACK NUMBER IN      FMD
*             PARAMETER WORD 2.                                          FMD
*         7.  CHECK FOR THE LOWER SECTOR NUMBER IN PARAMETER WORD 3 FOR  FMD
*IF -DEF,LSFMD,1
*             BEING GREATER THAN 31 DECIMAL.                             FMD
*IF DEF,LSFMD 
*             BEING GREATER THAN 8 DECIMAL. 
*ENDIF
*         8.  CHECK FOR THE UPPER SECTOR NUMBER IN PARAMETER WORD 3 FOR  FMD
*IF -DEF,LSFMD,1
*             BEING GREATER THAN 31 DECIMAL.                             FMD
*IF DEF,LSFMD 
*             BEING GREATER THAN 8 DECIMAL. 
*ENDIF
*         9.  VERIFY THAT THE LOWER SECTOR NUMBER IN PARAMETER WORD 3    FMD
*             FOR BEING EQUAL TO OR LESS THAN THE UPPER SECTOR NUMBER IN FMD
*             PARAMETER WORD 3.                                          FMD
*         10. CHECK FOR UNUSED BITS SET IN PARAMETER WORD 4.             FMD
*         11. CHECK FOR UNUSED BITS SET IN PARAMETER WORD 5.             FMD
*         12. DISPLAY ANY PARAMETER ERRORS DETECTED.                     FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         PARAMETERS P0 TO P9 ARE DESCRIBED IN MODULE                    FMD
*         FMC99A.                                                        FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO SPECIAL EXIT CONDITIONS.                                    FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NO SUBMODULES REFERENCED.                                      FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 - TEMPORARY STORAGE.                                        FMD10
*         B1 - TEMPORARY STORAGE.                                        FMD10
*         B2 - PARAMETER ERROR COUNTER.                                  FMD
*         B3 - NOT USED.                                                 FMD
*         B4 - NOT USED.                                                 FMD
*         B5 - NOT USED.                                                 FMD
*         B6 - NOT USED.                                                 FMD
*         B7 - NOT USED.                                                 FMD
*         B10 - NOT USED.                                                FMD
*         B11 - NOT USED.                                                FMD
*         B12 - NOT USED.                                                FMD
*         B13 - NOT USED.                                                FMD
*         B14 - NOT USED.                                                FMD
*         B15 - NOT USED.                                                FMD
*         EC, EA, EM, AND ES - STANDARD USAGE.                           FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE USED.                                                     FMD
*                                                                        FMD
*IF DEF,SFMD
0  FORMAT FMD00 - CHECK PARAMETERS                                       FMD
*ENDIF
*IF DEF,PFMD
0  FORMAT FHD00 - CHECK PARAMETERS
*ENDIF
*IF DEF,LSFMD 
0  FORMAT FLD00 - CHECK PARAMETERS
*ENDIF
1  FORMAT CHECK P0 - LOWER CYLINDER NUMBER TOO LARGE                     FMD10
2  FORMAT CHECK P1 - UPPER CYLINDER NUMBER TOO LARGE                     FMD10
3  FORMAT CHECK P0, P1 - P0 GREATER THAN P1                              FMD
4  FORMAT CHECK P2 - LOWER TRACK NUMBER TOO LARGE                        FMD10
5  FORMAT CHECK P2 - UPPER TRACK NUMBER TOO LARGE                        FMD10
6  FORMAT CHECK P2 - LOWER TRACK GREATER THAN UPPER TRACK                FMD
7  FORMAT CHECK P3 - LOWER SECTOR NUMBER TO LARGE                        FMD
10 FORMAT CHECK P3 - UPPER SECTOR NUMBER TO LARGE                        FMD
11 FORMAT CHECK P3 - LOWER SECTOR GREATER THAN UPPER SECTOR              FMD
12 FORMAT P4 - UNUSED BITS SET                                           FMD
13 FORMAT P5 - UNUSED BITS SET                                           FMD
*IF DEF,SFMD
14 FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
*ENDIF
*IF DEF,PFMD
14 FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
*ENDIF
*IF DEF,LSFMD 
14 FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
*ENDIF
*IF DEF,SFMD
15 FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD05
*ENDIF
*IF DEF,PFMD
15 FORMAT PRESERVICE FORECAST GROUP FHDD
*ENDIF
*IF DEF,LSFMD 
15 FORMAT PRESERVICE FORECAST GROUP FMDD
*ENDIF
16 FORMAT SUSPECTED PARAMETER ENTRY ERROR                                FMD
17 FORMAT P0 - P4  *OCT *OCT *OCT *OCT *OCT                              FMD
20 FORMAT P5 - P9  *OCT *OCT *OCT *OCT *OCT                              FMD
*IF DEF,SFMD
21 FORMAT PARAMETERS DESCRIBED IN MODULE FMD99                           FMD
22 FORMAT FMD00 - *DECD WARNING MESSAGES POSTED                          FMD
*ENDIF
*IF DEF,PFMD
21 FORMAT PARAMETERS DESCRIBED IN MODULE FHD99
22 FORMAT FHD00 - *DECD WARNING MESSAGES POSTED 
*ENDIF
*IF DEF,LSFMD 
21 FORMAT PARAMETERS DESCRIBED IN MODULE FLD99
22 FORMAT FLD - *DECD WARNING MESSAGES POSTED 
*ENDIF
*                                                                        FMD
/         EQUATES FOR PARAMETER BITS.                                    FMD
*                                                                        FMD
   EQUATE DDC=1, DDCAFE=2, DDISRES=2000, DFDF=4000, DHDE=4               FMD
   EQUATE DOPIN=10, ENFR=1, ENISO=4000, ENISRF=2000                      FMD
*IF DEF,SFMD
   EQUATE MAXCYL=1512, MAXSEC=37, MAXTRK=47 
*ENDIF
*IF DEF,PFMD
   EQUATE MAXCYL=1512, MAXSEC=37, MAXTRK=11 
*ENDIF
*IF DEF,LSFMD 
   EQUATE MAXCYL=1512, MAXSEC=10, MAXTRK=50 
*ENDIF
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
30 MSG 0 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
   MSG 0 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B2=14                     *FIRST LINE OF ERROR DISPLAY                FMD
*                                                                        FMD
/         CHECK LOWER CYLINDER PARAMETER WORDS.                          FMD
*                                                                        FMD
   IF(P0 LE MAXCYL) GOTO 32  *LOWER CYLINDER NOT TOO LARGE               FMD10
   MSG 1 TO LINE B2          *MOVE ERROR MESSAGE TO DISPLAY              FMD10
   B2=B2+1                   *INCREMENT LINE NUMBER                      FMD
*                                                                        FMD
/         CHECK LOWER CYLINDER PARAMETER WORDS.                          FMD
*                                                                        FMD
32 IF(P1 LE MAXCYL) GOTO 34  *UPPER CYLINDER NOT TOO LARGE               FMD10
   MSG 2 TO LINE B2          *MOVE ERROR MESSAGE TO DISPLAY              FMD10
   B2=B2+1                   *INCREMENT LINE NUMBER                      FMD
*                                                                        FMD
/         CHECK IF LOWER CYL. NO. LARGER THAN UPPER CYL. NO.             FMD
*                                                                        FMD
34 IF(P0 LE P1) GOTO 36      *IF NO CONFLICT IN CYL. NO.                 FMD10
   MSG 3 TO LINE B2          *MOVE ERROR MESSAGE TO DISPLAY              FMD10
   B2=B2+1                   *INCREMENT LINE NUMBER                      FMD
*                                                                        FMD
/         CHECK LOWER TRACK NUMBER IN PARAMETER WORD 2.                  FMD
*                                                                        FMD
36 B0=P2 RS 6                *GET LOWER TRACK NUMBER                     FMD
   IF(B0 LE MAXTRK) GOTO 40  *IF LOWER TRACK NOT TOO LARGE               FMD10
   MSG 4 TO LINE B2          *MOVE ERROR MESSAGE TO DISPLAY              FMD10
   B2=B2+1                   *INCREMENT LINE NUMBER                      FMD
*                                                                        FMD
/         CHECK UPPER TRACK NUMBER IN PARAMETER WORD 2.                  FMD
*                                                                        FMD
40 B1=P2 AND 77              *GET UPPER TRACK NUMBER                     FMD
   IF(B1 LE MAXTRK) GOTO 42  *IF UPPER TRACK NOT TOO LARGE               FMD10
   MSG 5 TO LINE B2          *MOVE ERROR MESSAGE TO DISPLAY              FMD10
   B2=B2+1                   *INCREMENT LINE NUMBER                      FMD
*                                                                        FMD
/         CHECK IF LOWER TRACK LARGER THAN UPPER TRACK.                  FMD
*                                                                        FMD
42 IF(B0 LE B1) GOTO 44      *IF NO CONFLICT IN TRACK NO.                FMD10
   MSG 6 TO LINE B2          *MOVE ERROR MESSAGE TO DISPLAY              FMD10
   B2=B2+1                   *INCREMENT LINE NUMBER                      FMD
*                                                                        FMD
/         CHECK LOWER SECTOR NUMBER IN PARAMETER WORD 3.                 FMD
*                                                                        FMD
44 B0=P3 RS 6                *GET LOWER SECTOR NUMBER                    FMD
   IF(B0 LE MAXSEC) GOTO 46  *IF LOWER SECTOR NOT TOO LARGE              FMD10
   MSG 7 TO LINE B2          *MOVE ERROR MESSAGE TO DISPLAY              FMD10
   B2=B2+1                   *INCREMENT LINE NUMBER                      FMD
*                                                                        FMD
/         CHECK UPPER SECTOR NUMBER IN PARAMETER WORD 3.                 FMD
*                                                                        FMD
46 B1=P3 AND 77              *GET UPPER SECTOR NUMBER                    FMD
   IF(B1 LE MAXSEC) GOTO 50  *IF UPPER SECTOR NOT TOO LARGE              FMD10
   MSG 10 TO LINE B2         *MOVE ERROR MESSAGE TO DISPLAY              FMD10
   B2=B2+1                   *INCREMENT LINE NUMBER                      FMD
*                                                                        FMD
/         CHECK IF LOWER SECTOR LARGER THAN UPPER SECTOR.                FMD
*                                                                        FMD
50 IF(B0 LE B1) GOTO 52      *IF NO CONFLICT IN SECTOR NO.               FMD10
   MSG 11 TO LINE B2         *MOVE ERROR MESSAGE TO DISPLAY              FMD10
   B2=B2+1                   *INCREMENT LINE NUMBER                      FMD
*                                                                        FMD
/         BUILD WORD FOR BITS USED IN PARAMETER WORD 4.                  FMD
*                                                                        FMD
52 B0=P4 AND ENFR            *FLAW REPORTING BIT                         FMD
   B0=P4 AND ENISO + B0      *ISOLATION BIT                              FMD
   B0=P4 AND ENISRF + B0     *ISOLATE READY AND SAFE FAULTS              FMD
   IF(P4 EQ B0) GOTO 54      *IF NO EXTRA BITS SET                       FMD
   MSG 12 TO LINE B2         *MOVE ERROR MESSAGE TO DISPLAY              FMD10
   B2=B2+1                   *INCREMENT LINE NUMBER                      FMD
*                                                                        FMD
/         BUILD WORD FOR BITS USED IN PARAMETER WORD 5.                  FMD
*                                                                        FMD
54 B0=P5 AND DDC             *DATA CHECKING                              FMD
   B0=P5 AND DDCAFE + B0     *DATA CHECKING AFTER FIRST ERR.             FMD
   B0=P5 AND DHDE + B0       *HALT ON DATA ERROR BIT                     FMD
   B0=P5 AND DOPIN + B0      *OPERATOR INTERVENTION BIT                  FMD
   B0=P5 AND DDISRES + B0    *DISABLE RESERVE FUNCTIONS BIT              FMD
   B0=P5 AND DFDF + B0       *FORCE DRIVE FAULTS BIT                     FMD
   IF(P5 EQ B0) GOTO 56      *IF NOT EXTRA BITS SET                      FMD
   MSG 13 TO LINE B2         *MOVE ERROR MESSAGE TO DISPLAY              FMD10
   B2=B2+1                   *INCREMENT LINE NUMBER                      FMD
56 IF(B2 EQ 14)EXIT          *IF NO ERRORS DETECTED                      FMD
*                                                                        FMD
/         DISPLAY ANY PARAMETER ENTRY ERRORS.                            FMD
*                                                                        FMD
   MSG 14 TO LINE 1          *DIAGNOSTIC TITLE MESSAGE                   FMD
   MSG 0 TO LINE 2           *MODULE NAME TO ERROR DISPLAY               FMD
   MSG 15 TO LINE 3          *PRESERVICE FORECAST TO DISPLAY             FMD
   MSG 16 TO LINE 5          *ERROR MESSAGE TO DISPLAY                   FMD
   MSG 17 (P0,P1,P2,P3,P4) TO LINE 7  *DISPLAY PARAMETERS                FMD
   MSG 20 (P5,P6,P7,P8,P9) TO LINE 10  *DISPLAY PARAMETERS               FMD
   MSG 21 TO LINE B2         *MODULE INFORMATION LINE                    FMD
   PICTURE                                                               FMD
   PAUSE                     *REPORT ERROR AND WAIT FOR GO               FMD
   BLANK                                                                 FMD
   B0=B2-14                  *NUMBER OF WARNING MESSAGES                 FMD
   MSG 22(B0) TO DISPLAY,PRINT,DAYFILE  *RECORD WARNING MSGS             FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF MODULE                              FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD01,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD01,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD01,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*   5.2.1 FMD PRELIMINARY TEST                                           FMD
*ENDIF
*IF DEF,PFMD
*   5.2.1 FHD PRELIMINARY TEST
*ENDIF
*IF DEF,LSFMD 
*   5.2.1 FLD PRELIMINARY TEST
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD01 VERIFIES THAT THE FIXED MODULE DRIVE IS OPERATIONAL.     FMD
*ENDIF
*IF DEF,PFMD
*         FHD01 VERIFIES THAT THE FIXED MODULE DRIVE IS OPERATIONAL.
*ENDIF
*IF DEF,LSFMD 
*         FLD01 VERIFIES THAT THE FIXED MODULE DRIVE IS OPERATIONAL.
*ENDIF
*         THE MODULE WILL VERIFY THAT THE POWER SUPPLY IS WORKING, THE
*         START SWITCH IS ON, THE AIR SWITCH IS MADE, AND THE HDA 
*         SEQUENCE HAS COMPLETED. 
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  CHECK THE GENERAL STATUS WORD FOR BEING EQUAL TO 5020      FMD
*             OCTAL. IF IT IS NOT, GO TO STEP 9.
*         3.  IF THE READY AND SAFE STATUS BIT IS SET IN UNSELECTED 
*             DRIVE STATUS, GO TO STEP 9. 
*         4.  VERIFY THAT THE POWER SUPPLY IN THE DRIVE IS WORKING BY    FMD
*             VERIFYING THAT THE UNSELECTED STATUS IS NOT EQUAL TO
*             ZERO. IF IT IS EQUAL TO ZERO, CHECK FOR THE LOST CLOCK
*             BIT SET IN DETAILED STATUS WORD 16 DECIMAL. IF THIS BIT 
*             IS ACTIVE, THE POWER SUPPLY IS NOT WORKING. 
*         5.  VERIFY THAT ECHO COMMAND MODE OR ECHO BUS MODE IS NOT 
*             ACTIVE AS DETERMINED BY DETAILED STATUS WORDS 2, 8, AND 
*             12 DECIMAL. 
*         6.  VERIFY THAT BIT 2 OF STATUS WORD 4 (AIR SWITCH) IS
*             ACTIVE.                                                    FMD07
*         7.  VERIFY THAT BIT 1 OF STATUS WORD 8 (START SWITCH) IS
*             ACTIVE. 
*         8.  VERIFY THAT BIT 7 OF STATUS WORD 2 (HDA SEQUENCE
*             COMPLETE) IS ACTIVE.
*         9.  RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER. 
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY PARAMETERS.                                           FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
0  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
1  FORMAT FMD01 - FMD PRELIMINARY TEST                                   FMD
2  FORMAT FMD01 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD01 - *DECD ERRORS                                           FMD
4  FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD05
5  FORMAT FMD01 - LINE *OCT ERROR CODE 01*HE                             FMD
*ENDIF
*IF DEF,PFMD
0  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FHD01 - FHD PRELIMINARY TEST
2  FORMAT FHD01 - EC *DECD, LC = *DECD
3  FORMAT FHD01 - *DECD ERRORS
4  FORMAT PRESERVICE FORECAST GROUP FHDD
5  FORMAT FHD01 - LINE *OCT ERROR CODE 01*HE
*ENDIF
*IF DEF,LSFMD 
0  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FLD01 - FLD PRELIMANARY TEST
2  FORMAT FLD01 - EC *DECD, LC = *DECD
3  FORMAT FLD01 - *DECD ERRORS
4  FORMAT PRESERVICE FORECAST GROUP FMDD
5  FORMAT FLD01 - LINE *OCT ERROR CODE 01*HE
*ENDIF
6  FORMAT POSSIBLE POWER SUPPLY ERROR.                                   FMD
7  FORMAT POSSIBLE AIR SWITCH ERROR.                                     FMD
10 FORMAT POSSIBLE START SWITCH ERROR.                                   FMD07
11 FORMAT POSSIBLE HDA SEQUENCE ERROR.                                   FMD07
12 FORMAT GO TO TABLE 3-1 IN TROUBLESHOOTING GUIDE.                      FMD07
13 FORMAT VERIFY THAT THE START SWITCH IS ON. IF IT IS NOT,              FMD07
14 FORMAT DEPRESS THE START SWITCH AND RERUN THE TEST. IF                FMD07
15 FORMAT IT IS ON GO TO TABLE 3-1 IN THE TROUBLESHOOTING                FMD07
16 FORMAT GUIDE.                                                         FMD07
17 FORMAT ID-SWITCH - CONTROLLER = *H HEX, DRIVE = *H HEX 
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE BT11=4000, DSR=400                                             FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         RESERVE THE CONTROLLER AND FIXED MODULE DRIVE.                 FMD
*                                                                        FMD
24 RES,DRIVE,ABT 42          *RESERVE CONTROLLER AND DRIVE               FMD
26 IF(SB NE 5020)GOTO 32     *IF NO DRIVE MALFUCTION                     FMD
   IF(SB(9)AND 200 NE 0)GOTO 32  *IF DRIVE READY AND SAFE 
   IF(SB(9)AND 7700 NE 0)GOTO 30  *UNSELECTED STATUS ACTIVE 
   IF(SB(20)AND BT11 NE 0)ERROR 6/40 GOTO 44  *NO POWER                  FMD
*                                                                        FMD
/         CHECK FOR ECHO COMMAND OR ECHO BUS MODE ACTIVE.                FMD
*                                                                        FMD
30 IF(SB(9)AND DSR EQ 0)GOTO 32  *SELECT LINE NOT ACTIVE
   B1=SB(8) AND 377          *STATUS WORD 2 (88)
   B2=SB(2) AND 377          *STATUS WORD 4 (8B)                         FMD
   IF(SB(14)AND.202.NE.0)GOTO 32  *IF ECHO CMD MODE ACTIVE
   IF(B1 EQ B2)GOTO 32       *IF ECHO BUS MODE ACTIVE                    FMD
*                                                                        FMD
/         CHECK DETAILED STATUS FOR NONLOGIC FAILURE.                    FMD
*                                                                        FMD
   IF(B1 AND 4 EQ 0)ERROR 7/41 GOTO 44    *IF AIR SWITCH                 FMD
   IF(B1 AND 2 EQ 0)ERROR 10/42 GOTO 44   *IF START SWITCH               FMD07
   IF(B2 AND 200 EQ 0)ERROR 11/43 GOTO 44  *IF HDA SEQUENCE 
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
32 B13=1                         *CONDITION NUMBER 1                     FMD
   REL,ABT 44                    *RELEASE CONTROLLER AND FMD             FMD
40 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0) MSG 3 (B14) TO DAYFILE  *IF ERRORS DETECTED              FMD
   B10=SB(24).AND.377        *MASK FOR CONTROLLER ID-SWITCH 
   B11=SB(7).AND.3.LS.6      *MASK/JUSTIFY UPPER 3-BITS DRIVE ID
   B11=SB(10).RS.6+B11       *CALCULATE 8-BIT DRIVE ID-SWITCH 
   MSG 17 (B10,B11) TO DISPLAY, PRINT, DAYFILE
   EXIT                                 *EXIT THE MODULE                 FMD
*                                                                        FMD
/         PROCESS ABORT OF RESERVING THE FIXED MODULE DRIVE.             FMD
*                                                                        FMD
42 IF(EC AND 77 EQ 25)GOTO 26  *IF GENERAL STATUS ERROR                  FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
44 MSG 0 TO LINE 1           *DIAGNOSTIC TITLE MESSAGE                   FMD
   B0=1                      *MODULE NUMBER 
   MSG 1 TO LINE 2           *MODULE NUMBER AND NAME MESSAGE             FMD
   MSG 4 TO LINE 3           *PRESERVICE FORECAST MESSAGE                FMD05
   IF(EC GT 3777)EXIT TO 98B  *IF PRODUCT OVERLAY ERROR                  FMD
   MSG 5 (EA,EC) TO LINE 5   *ERROR CODE TO DISPLAY                      FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   MSG EM TO LINE 12         *ERROR MESSAGE TO DISPLAY                   FMD
   IF(P4 AND ENISO EQ 0)GOTO 50  *NO ISOLATION MESSAGE                   FMD10
   IF(EC NE 42) GOTO 46      *IF NOT ERROR CODE 01022                    FMD07
   MSG 13 TO LINE 14         *ISOLATION MESSAGE TO DISPLAY               FMD07
   MSG 14 TO LINE 15         *NEXT LINE OF THE MESSAGE                   FMD07
   MSG 15 TO LINE 16         *NEXT LINE OF THE MESSAGE                   FMD07
   MSG 16 TO LINE 17         *NEXT LINE OF THE MESSAGE                   FMD21
   GOTO 50                   *GO TO DISPLAY THE MESSAGE                  FMD07
46 MSG 12 TO LINE 14         *ISOLATION MESSAGE TO DISPLAY               FMD07
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   IF(B13 EQ 1)GOTO 40       *IF CONDITION NUMBER 1                      FMD
   GOTO 32                   *CONDITION NUMBER 0                         FMD
   END 20                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD02,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD02,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD02,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.2 STATIC I/O TEST 1                                              FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD02 WILL CHECK THE INPUT/OUTPUT LINES FROM THE FIXED MODULE  FMD
*ENDIF
*IF DEF,PFMD
*         FHD02 WILL CHECK THE INPUT/OUTPUT LINES FROM THE FIXED MODULE 
*ENDIF
*IF DEF,LSFMD 
*         FLD02 WILL CHECK THE INPUT/OUTPUT LINES FROM THE FIXED MODULE 
*ENDIF
*         DRIVE WHEN THE DRIVE IS NOT SELECTED, BUT RESERVED.            FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO 7155 CONTROLLER.                                FMD
*         2.  SELECT FIXED MODULE DRIVE.                                 FMD
*         3.  DROP SELECT LINE TO FIXED MODULE DRIVE.                    FMD
*         4.  CHECK FOR SELECTED AND RESERVED LINE INACTIVE.             FMD
*         5.  GO TO STEP 7 IF READY AND SAFE LINE ACTIVE.                FMD
*         6.  REPORT READY AND SAFE ERROR IF MANUAL INTERVENTION ENABLED FMD06
*             IN PARAMETER WORD 5.                                       FMD
*         7.  CHECK FOR WRITE CLOCK ACTIVE.                              FMD
*         8.  CHECK FOR SECTOR MARK LINE ACTIVE.                         FMD
*         9.  CHECK FOR INDEX MARK LINE ACTIVE.                          FMD
*         10. CHECK FOR ON TRACK LINE ACTIVE.                            FMD
*         11. ENABLE LOOP 885 BUS IN MODE IN THE 7155 CONTROLLER.        FMD06
*         12. LOOP 40 COMMAND WITH BUS OUT OF ZEROS IN THE 7155          FMD
*             CONTROLLER.                                                FMD
*         13. CHECK FOR BUS IN BIT 0 INACTIVE.                           FMD
*         14. CHECK FOR BUS IN BIT 1 INACTIVE.                           FMD
*         15. CHECK FOR BUS IN BIT 2 INACTIVE.                           FMD
*         16. CHECK FOR BUS IN BIT 3 INACTIVE.                           FMD
*         17. CHECK FOR BUS IN BIT 4 INACTIVE.                           FMD
*         18. CHECK FOR BUS IN BIT 5 INACTIVE.                           FMD
*         19. CHECK FOR BUS IN BIT 6 INACTIVE.                           FMD
*         20. CHECK FOR BUS IN BIT 7 INACTIVE.                           FMD
*         21. CHECK FOR BUS IN PARITY BIT INACTIVE.                      FMD
*         22. CHECK FOR STATUS VALID LINE ACTIVE.                        FMD06
*         23. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*         24. REPEAT STEPS 1-23 TEN TIMES.                               FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         OPERATOR INTERVENTION BIT INITIALIZED IN PARAMETER WORD P5.    FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98I - PROCESS ERRORS.                                       FMD
*         FMD98K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98I - PROCESS ERRORS.
*         FHD98K - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98I - PROCESS ERRORS.
*         FLD98K - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - LOOP COUNTER.                                   FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD02 - STATIC I/O TEST 1                                      FMD
2  FORMAT FMD02 - EC = *DECD, LC = *DECD                                 FMD
3  FORMAT FMD02 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD02 - STATIC I/O TEST 1 
2  FORMAT FHD02 - EC = *DECD, LC = *DECD
3  FORMAT FHD02 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD02 - STATIC I/O TEST 1 
2  FORMAT FLD02 - EC = *DECD, LC = *DECD
3  FORMAT FLD02 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIP=1, CBIS=22, CCDS=21, CDRS=10, CDSR=20                     FMD
   EQUATE CDSV=2, CH1=1, CH8=10, COTRK=40, DOPIN=10                      FMD
*                                                                        FMD
/         DISPLAY RUNNING MESSAGE FOR THE MODULE.                        FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B12=10D                   *SET LOOP COUNTER                           FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 B13=0                     *CONDITION NUMBER 0                         FMD
   B0=0                      *UPPER CHANNEL BITS EQUAL ZERO              FMD
   GOSUB 50                  *SELECT/DROP SELECT TO FMD                  FMD
*                                                                        FMD
/         CHECK DRIVE FOR NOT SELECTED, READY AND SAFE.                  FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSR NE 0)ERROR 5/0 GOTO 72  *SELECT ERROR             FMD
   IF(SB(CCDS)AND CDRS NE 0)GOTO 30       *READY/SAFE ACTIVE             FMD
25 IF(P5 AND DOPIN EQ 0)ERROR 10/1 GOTO 72  *INTERVENTION                FMD18
26 B0=0                       *UPPER CHANNEL BITS EQUAL ZERO             FMD
   GOSUB 50                   *SELECT/DROP SELECT TO FMD                 FMD
*                                                                        FMD
/         CHECK FOR WRITE CLOCK LINE ACTIVE.                             FMD
*                                                                        FMD
30 B13=1                     *CONDITION NUMBER 1                         FMD
   CONTROL,0,36,0,0,ABT 72    *SEQUENCE FOR WRITE CLOCK                  FMD
   GOSUB 54                   *EXECUTE CONTROL WORD SEQUENCE             FMD
   IF(SB(3)AND 200 NE 0)ERROR 16/2 GOTO 72  *NO WRITE CLOCK              FMD
*                                                                        FMD
/         CHECK FOR SECTOR MARK LINE ACTIVE.                             FMD
*                                                                        FMD
   CONTROL,0,36,0,100,ABT 72   *SEQUENCE FOR SECTOR MARK                 FMD
   GOSUB 54                   *EXECUTE CONTROL WORD SEQUENCE             FMD
   IF(SB(12) NE 0) ERROR 17/3 GOTO 72  *IF NO SECTOR MARK                FMD
*                                                                        FMD
/         CHECK FOR INDEX MARK LINE ACTIVE.                              FMD
*                                                                        FMD
   CONTROL,0,36,0,300,ABT 72   *SEQUENCE FOR INDEX MARK                  FMD
   GOSUB 54                   *EXECUTE CONTROL WORD SEQUENCE             FMD
   IF(SB(12) NE 0) ERROR 20/4 GOTO 72  *IF NO INDEX MARK                 FMD
*                                                                        FMD
/         CHECK FOR DRIVE ON-TRACK LINE ACTIVE.                          FMD
*                                                                        FMD
   IF(SB(CCDS)AND COTRK EQ 0)ERROR 22/5 GOTO 72  *0FF TRACK              FMD
*                                                                        FMD
/         ENABLE LOOP 885 BUS IN THE 7155 CONTROLLER.                    FMD
*                                                                        FMD
   B0=200                    *ENABLE LOOP 885 BUS BIT                    FMD
   GOSUB 52                  *SET LOOP 885 BUS/READ STATUSES             FMD
*                                                                        FMD
/         ECHO 40 COMMAND WITH BUS OUT EQUAL TO ZERO.                    FMD
*                                                                        FMD
   OUT,CH=CH8,0,40,ABT 72    *LOOP 40 COMMAND                            FMD
   GOSUB 56                  *READ CHANNEL STATUSES                      FMD
*                                                                        FMD
/         CHECK BUS IN, PARITY, AND STATUS VALID BITS.                   FMD
*                                                                        FMD
   B1=SB(CBIS)                *BUS IN STATUS
   IF(B1.AND 1 NE 0)ERROR 24/6 GOTO 72     *IF BIT 0
   IF(B1.AND 2 NE 0)ERROR 24/7 GOTO 72     *IF BIT 1
   IF(B1.AND 4 NE 0)ERROR 24/10 GOTO 72    *IF BIT 2
   IF(B1.AND 10 NE 0)ERROR 24/11 GOTO 72   *IF BIT 3
   IF(B1.AND 20 NE 0)ERROR 24/12 GOTO 72   *IF BIT 4
   IF(B1.AND 40 NE 0)ERROR 24/13 GOTO 72   *IF BIT 5
   IF(B1.AND 100 NE 0)ERROR 24/14 GOTO 72  *IF BIT 6
   IF(B1.AND 200 NE 0)ERROR 24/15 GOTO 72  *IF BIT 7
   IF(SB(CCDS)AND CBIP NE 0)ERROR 25/16 GOTO 72  *BUS PARITY             FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 26/17 GOTO 72  *BUS VALID              FMD
32 GOSUB 74                          *REPEAT CONDITION CHECK             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
34 GOTO 24 WHILE(B12-1 NE 0)      *LOOP TEN TIMES                        FMD
   IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         RESERVE 7155 CONTROLLER AND FIXED MODULE DRIVE.                FMD
*                                                                        FMD
50 RES,DRIVE,FAULT,ABT 70    *CONNECT TO FIXED MODULE DRIVE              FMD18
*                                                                        FMD
/         OUTPUT WORD ON CONTROLLER CHANNEL 1.                           FMD
*                                                                        FMD
52 B1=SB(63)                 *FIXED MODULE DRIVE NUMBER                  FMD
   OUT,CH=CH1,B0,B1,ABT 72   *DROP SELECT LINE
   B1=B1+100
   OUT,CH=CH1,B0,B1,ABT 72   *RAISE SELECT LINE 
   B1=SB(63)
   OUT,CH=CH1,B0,B1,ABT 72   *DROP SELECT LINE
   GOTO 56                   *GO TO READ CH. STATUSES                    FMD
*                                                                        FMD
/         EXECUTE CONTROL SEQUENCE AND READ CHANNEL STATUS.              FMD
*                                                                        FMD
54 CONTROL,0,0,0,0,EXECUTE,ABT 72  *CONTROL SEQUENCE                     FMD
   DELAY 20D MSEC            *DELAY WHILE SEQUENCE EXECUTES              FMD
56 STATUS,CHANNEL,ABT 72     *READ IN CHANNEL STATUSES                   FMD
   RETURN                    *EXIT THE SUBROUTINE                        FMD
*                                                                        FMD18
/         CHECK IF THE DRIVE IS READY AND SAFE.                          FMD18
*                                                                        FMD18
70 IF(EC AND 77 NE 25) GOTO 72   *NOT ABNORMAL GENERAL STAT.             FMD18
   IF(SB EQ 10) ENDSUB GOTO 34   *IF DRIVE NOT SELECTED 
   IF(SB EQ 5020) GOTO 52        *IF DRIVE FAULT
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                 *INCREMENT ERROR COUNT BY ONE               FMD
   B0=2                        *MODULE NUMBER                            FMD
   IF(ES AND SL EQ 0) CALL 98I  *IF NO SCOPING LOOP                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 26  *IF CONDITION 0                          FMD
   IF(B13 EQ 1) ENDSUB GOTO 32  *IF CONDITION 1                          FMD
   ENDSUB GOTO 34               *IF CONDITION 2                          FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY  *DISPLAY RC MESSAGE                       FMD
   ENDSUB GOTO 24             *GO TO REPEAT THE CONDITION                FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   RETURN                    *EXIT THE SUBROUTINE                        FMD
   END 20                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD03,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD03,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD03,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.3 STATIC I/O TEST 2                                              FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD03 WILL CHECK THE INPUT/OUTPUT LINES FROM THE FIXED MODULE  FMD
*ENDIF
*IF DEF,PFMD
*         FHD03 WILL CHECK THE INPUT/OUTPUT LINES FROM THE FIXED MODULE 
*ENDIF
*IF DEF,LSFMD 
*         FLD03 WILL CHECK THE INPUT/OUTPUT LINES FROM THE FIXED MODULE 
*ENDIF
*         DRIVE WHEN THE DRIVE IS SELECTED AND RESERVED.                 FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO 7155 CONTROLLER.                                FMD
*         2.  SELECT FIXED MODULE DRIVE.                                 FMD
*         3.  CHECK FOR SELECTED AND RESERVED LINE INACTIVE.             FMD
*         4.  CHECK FOR READY AND SAFE ACTIVE.                           FMD
*         5.  CHECK FOR WRITE CLOCK ACTIVE.                              FMD
*         6.  CHECK FOR SECTOR MARK LINE ACTIVE.                         FMD
*         7.  CHECK FOR INDEX MARK LINE ACTIVE.                          FMD
*         8.  CHECK FOR ON TRACK LINE ACTIVE.                            FMD
*         9.  ENABLE LOOP 885 BUS IN MODE IN THE 7155 CONTROLLER.        FMD06
*         10. LOOP 40 COMMAND WITH BUS OUT OF ONES IN THE 7155           FMD
*             CONTROLLER.                                                FMD
*         11. CHECK FOR BUS IN BIT 0 INACTIVE.                           FMD
*         12. CHECK FOR BUS IN BIT 1 INACTIVE.                           FMD
*         13. CHECK FOR BUS IN BIT 2 INACTIVE.                           FMD
*         14. CHECK FOR BUS IN BIT 3 INACTIVE.                           FMD
*         15. CHECK FOR BUS IN BIT 4 INACTIVE.                           FMD
*         16. CHECK FOR BUS IN BIT 5 INACTIVE.                           FMD
*         17. CHECK FOR BUS IN BIT 6 INACTIVE.                           FMD
*         18. CHECK FOR BUS IN BIT 7 INACTIVE.                           FMD
*         19. CHECK FOR BUS IN PARITY BIT INACTIVE.                      FMD
*         20. CHECK FOR STATUS VALID LINE ACTIVE.                        FMD06
*         21. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*         22. REPEAT STEPS 1-21 TEN TIMES.                               FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98I - PROCESS ERRORS.                                       FMD
*         FMD98J - PROCESS ERRORS.                                       FMD
*         FMD98L - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98I - PROCESS ERRORS.
*         FHD98J - PROCESS ERRORS.
*         FHD98L - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98I - PROCESS ERRORS.
*         FLD98J - PROCESS ERRORS.
*         FLD98L - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - LOOP COUNTER.                                   FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD03 - STATIC I/O TEST 2                                      FMD
2  FORMAT FMD03 - EC = *DECD, LC = *DECD                                 FMD
3  FORMAT FMD03 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD03 - STATIC I/O TEST 2 
2  FORMAT FHD03 - EC = *DECD, LC = *DECD
3  FORMAT FHD03 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD03 - STATIC I/O TEST 2 
2  FORMAT FLD03 - EC = *DECD, LC = *DECD
3  FORMAT FLD03 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIP=1, CBIS=22, CCDS=21, CDRS=10, CDSR=20                     FMD
   EQUATE CDSV=2, CH1=1, CH8=10, COTRK=40, DOPIN=10                      FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DISPLAY RUNNING MESSAGE FOR THE MODULE.                        FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B12=10D                   *SET LOOP COUNTER                           FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 B13=0                     *CONDITION NUMBER 0                         FMD
   GOSUB 50                  *SELECT TO CONTROLLER AND FMD               FMD
*                                                                        FMD
/         CHECK DRIVE FOR SELECTED, READY AND SAFE.                      FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSR EQ 0)ERROR 1/20 GOTO 72  *SELECT                  FMD10
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 3/21 GOTO 72  *READY/SAFE              FMD
*                                                                        FMD
/         CHECK FOR WRITE CLOCK LINE ACTIVE.                             FMD
*                                                                        FMD
   CONTROL,0,36,0,0,ABT 72    *SEQUENCE FOR WRITE CLOCK                  FMD
   GOSUB 54                   *EXECUTE CONTROL WORD SEQUENCE             FMD
   IF(SB(3)AND 200 NE 0)ERROR 4/22 GOTO 72  *NO WRITE CLOCK              FMD
*                                                                        FMD
/         CHECK FOR SECTOR MARK LINE ACTIVE.                             FMD
*                                                                        FMD
   CONTROL,0,36,0,100,ABT 72  *SEQUENCE FOR SECTOR MARK 
   GOSUB 54                   *EXECUTE CONTROL WORD SEQUENCE             FMD
   IF(SB(12) NE 0) GOTO 30    *IF NO SECTOR MARK
   IF(B1.AND.100.EQ.0) GOTO 32  *IF SECTOR MARK ACTIVE
30 ERROR 5/23 GOTO 72         *SECTOR MARK ERROR
*                                                                        FMD
/         CHECK FOR INDEX MARK LINE ACTIVE.                              FMD
*                                                                        FMD
32 CONTROL,0,36,0,300,ABT 72  *SEQUENCE FOR INDEX MARK
   GOSUB 54                   *EXECUTE CONTROL WORD SEQUENCE             FMD
   IF(SB(12) NE 0) GOTO 34    *IF NO INDEX MARK 
   IF(B1.AND.200.EQ.0) GOTO 36  *IF INDEX MARK ACTIVE 
34 ERROR 6/24 GOTO 72         *INDEX MARK ERROR 
*                                                                        FMD
/         CHECK FOR DRIVE ON-TRACK LINE ACTIVE.                          FMD
*                                                                        FMD
36 IF(SB(CCDS)AND COTRK EQ 0)ERROR 7/25 GOTO 72  *0FF TRACK 
*                                                                        FMD
/         ENABLE LOOP 885 BUS IN THE 7155 CONTROLLER.                    FMD
*                                                                        FMD
   B0=200                    *ENABLE LOOP 885 BUS BIT                    FMD
   GOSUB 52                  *SET LOOP 885 BUS/READ STATUSES             FMD
*                                                                        FMD
/         ECHO 40 COMMAND WITH BUS OUT EQUAL TO ZERO.                    FMD
*                                                                        FMD
   OUT,CH=CH8,0,40,ABT 72    *LOOP 40 COMMAND 
   GOSUB 56                  *READ CHANNEL STATUSES                      FMD
*                                                                        FMD
/         CHECK BUS IN, PARITY, AND STATUS VALID BITS.                   FMD
*                                                                        FMD
   B1=SB(CBIS)                *BUS IN STATUS
   IF(B1.AND 1 NE 0)ERROR 10/26 GOTO 72     *IF BIT 0 
   IF(B1.AND 2 NE 0)ERROR 10/27 GOTO 72     *IF BIT 1 
   IF(B1.AND 4 NE 0)ERROR 10/30 GOTO 72     *IF BIT 2 
   IF(B1.AND 10 NE 0)ERROR 10/31 GOTO 72    *IF BIT 3 
   IF(B1.AND 20 NE 0)ERROR 10/32 GOTO 72    *IF BIT 4 
   IF(B1.AND 40 NE 0)ERROR 10/33 GOTO 72    *IF BIT 5 
   IF(B1.AND 100 NE 0)ERROR 10/34 GOTO 72   *IF BIT 6 
   IF(B1.AND 200 NE 0)ERROR 10/35 GOTO 72   *IF BIT 7 
   IF(SB(CCDS)AND CBIP NE 0)ERROR 11/36 GOTO 72  *BUS PARITY             FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 12/37 GOTO 72  *BUS VALID              FMD
40 GOSUB 74                          *REPEAT CONDITION CHECK
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=1                          *CONDITION NUMBER 1                    FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
42 GOTO 24 WHILE(B12-1 NE 0)     *LOOP TEN TIMES
   IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         RESERVE 7155 CONTROLLER AND FIXED MODULE DRIVE.                FMD
*                                                                        FMD
50 RES,DRIVE,FAULT,ABT 70    *CONNECT TO FIXED MODULE DRIVE              FMD18
   B1=SB(63)                 *FIXED MODULE DRIVE NUMBER 
   OUT,CH=1,0,B1,ABT 72      *DROP SELECT 
   B1=B1+100
   OUT,CH=1,0,B1,ABT 72    *RAISE SELECT LINE 
   GOTO 56                   *GO TO READ CH. STATUSES                    FMD
*                                                                        FMD
/         OUTPUT WORD ON CONTROLLER CHANNEL 1.                           FMD
*                                                                        FMD
52 B1=SB(63)+100             *FIXED MODULE DRIVE NUMBER 
   OUT,CH=CH1,B0,B1,ABT 72   *OUTPUT ON CHANNEL ONE                      FMD
   GOTO 56                   *GO TO READ CH. STATUSES                    FMD
*                                                                        FMD
/         EXECUTE CONTROL SEQUENCE AND READ CHANNEL STATUS.              FMD
*                                                                        FMD
54 CONTROL,0,0,0,0,EXECUTE,ABT 72  *CONTROL SEQUENCE                     FMD
   DELAY 20D MSEC            *DELAY WHILE SEQUENCE EXECUTES              FMD
   STATUS,CHANNEL,ABT 72     *READ IN CHANNEL STATUSES
   B1=SB(21)                 *SAVE UNSELECTED STATUS
   DELAY,650D USEC           *DELAY 
56 STATUS,CHANNEL,ABT 72     *READ IN CHANNEL STATUSES                   FMD
   B1=SB(21).AND.B1          *SAVE ACTIVE BITS
   RETURN                    *EXIT THE SUBROUTINE                        FMD
*                                                                        FMD18
/         PROCESS ABORT ON RESERVE DRIVE COMMAND.                        FMD18
*                                                                        FMD18
70 IF(EC AND 77 NE 25) GOTO 72         *NOT ABNORMAL G.S.                FMD18
   IF(SB EQ 10) GOTO 56          *IF DRIVE NOT SELECTED 
   IF(SB EQ 5020) GOTO 56        *IF DRIVE FAULT
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=3                         *MODULE NUMBER                           FMD
   IF(ES AND SL EQ 0) CALL 98I  *IF NO SCOPING LOOP                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 40  *IF CONDITION 0 
   ENDSUB GOTO 42               *IF CONDITION 1 
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   B0=0                         *INITIALIZE B0 REGISTER 
   ENDSUB GOTO 24               *GO TO REPEAT THE CONDITION              FMD
76 MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD04,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD04,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD04,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.4 ILLEGAL COMMAND TEST                                           FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD04 WILL ISSUE ILLEGAL COMMANDS TO THE FIXED MODULE DRIVE    FMD
*ENDIF
*IF DEF,PFMD
*         FHD04 WILL ISSUE ILLEGAL COMMANDS TO THE FIXED MODULE DRIVE 
*ENDIF
*IF DEF,LSFMD 
*         FLD04 WILL ISSUE ILLEGAL COMMANDS TO THE FIXED MODULE DRIVE 
*ENDIF
*         AND VERIFY THAT THE DRIVE BECOMES NOT READY AND SAFE AFTER     FMD
*         EACH ILLEGAL COMMAND IS ISSUED AND RETURNS TO A READY AND SAFE FMD
*         CONDITION WHEN THE SELECT LINE IS DROPPED AND RAISED AGAIN.    FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO 7155 CONTROLLER.                                FMD
*         2.  SELECT FIXED MODULE DRIVE.                                 FMD
*         3.  CHECK FOR THE DRIVE SELECTED AND RESERVED.                 FMD
*         4.  IF THE DRIVE IS NOT READY AND SAFE, ISOLATE THE CAUSE OF   FMD
*             THE FAULT.                                                 FMD
*         5.  SET THE ILLEGAL COMMAND NUMBER TO ZERO.                    FMD
*         6.  IF THE COMMAND NUMBER IS EQUAL TO 40 HEX SET THE COMMAND   FMD
*             NUMBER TO 50 HEX.                                          FMD
*         7.  IF THE COMMAND NUMBER IS EQUAL TO 80 HEX SET THE COMMAND   FMD
*             NUMBER TO 90 HEX.                                          FMD
*         8.  ISSUE A ILLEGAL COMMAND TO THE FIXED MODULE DRIVE AND      FMD06
*             READ IN THE CONTROLLER CHANNEL STATUSES.                   FMD
*         9.  CHECK FOR STATUS VALID ACTIVE.                             FMD06
*         10. CHECK FOR THE DRIVE NOT READY AND SAFE.                    FMD
*         11. CHECK FOR BUS IN EQUAL TO THE ILLEGAL COMMAND ISSUED TO    FMD
*             THE DRIVE.                                                 FMD
*         12. DROP AND RAISE THE SELECT LINE TO THE DRIVE.               FMD
*         13. CHECK FOR THE DRIVE SELECTED AND RESERVED.                 FMD
*         14. CHECK FOR THE DRIVE READY AND SAFE.                        FMD
*         15. IF THE ILLEGAL COMMAND IS EQUAL TO FF HEX, GO TO STEP 17.  FMD
*         16. INCREMENT THE ILLEGAL COMMAND NUMBER BY ONE AND GO TO STEP FMD
*             6.                                                         FMD
*         17. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - ILLEGAL COMMAND NUMBER.                         FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD04 - ILLEGAL COMMAND TEST                                   FMD
2  FORMAT FMD04 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD04 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD04 - ILLEGAL COMMAND TEST
2  FORMAT FHD04 - EC *DECD, LC = *DECD
3  FORMAT FHD04 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD04 - ILLEGAL COMMAND TEST
2  FORMAT FLD04 - EC *DECD, LC = *DECD
3  FORMAT FLD04 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20, CDSV=2
   EQUATE CH8=10, DRS=200, DSR=400, DSRRS=600                            FMD18
*                                                                        FMD
/         DISPLAY RUNNING MESSAGE FOR THE MODULE.                        FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS) AND DSR EQ 0) ERROR 23/3 GOTO 70  *NO SELECT               FMD
   IF(SB(CDS) AND DRS EQ 0) GOTO 66    *NOT READY AND SAFE               FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B12=0                           *SET CMD TO 00                        FMD
*                                                                        FMD
/         TEST FOR COMMAND EQUAL TO 40 OR 80 HEX.                        FMD
*                                                                        FMD
30 B13=1                     *CONDITION NUMBER 1                         FMD
   IF(B12 EQ 100) B12=120    *SET CMD TO 50 IF CMD IS 40                 FMD
   IF(B12 EQ 200) B12=220    *SET CMD TO 90 IF CMD IS 80                 FMD
*                                                                        FMD
/        OUTPUT AN ILLEGAL CMD TO THE FIXED MODULE DRIVE.                FMD
*                                                                        FMD
32 OUT,CH=CH8,0,B12,ABT 70   *ISSUE ILLEGAL CMD TO DRIVE                 FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL,ABT 70     *READ CHANNEL STATUSES                      FMD
*                                                                        FMD
/         CHECK STATUSES FROM THE FIXED MODULE DRIVE.                    FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 11/0 GOTO 70  *BUS VALID               FMD
   IF(SB(CCDS) AND CDRS NE 0)ERROR 13/1 GOTO 70  *READY/SAFE             FMD
   IF(B12 NE SB(CBIS)) ERROR 16/2 GOTO 70   *IF BUS IN ERROR             FMD
34 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
*                                                                        FMD
/         DROP AND RAISE THE SELECT LINE TO THE FMD.                     FMD10
*                                                                        FMD
   B13=2                      *CONDITION NUMBER 2                        FMD
36 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   STATUS,CHANNEL,ABT 70       *READ IN CHANNEL STATUSES                 FMD
   IF(SB(CCDS)AND CDSR EQ 0)ERROR 23/3 GOTO 70  *NO SELECT               FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 0/4 GOTO 70   *FAULT                   FMD
40 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
*                                                                        FMD
/         INCREMENT COMMAND NUMBER UNTIL ALL COMMANDS DONE.              FMD
*                                                                        FMD
   IF(B12 EQ 377) GOTO 42    *IF ALL ILLEGAL COMMANDS ISSUED             FMD
   B12=B12+1                 *INCREMENT COMMAND NUMBER                   FMD
   GOTO 30                   *GO TO TEST NEXT COMMAND                    FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
42 B13=3                         *CONDITION NUMBER 3                     FMD
   REL,ABT 70                    *RELEASE CONTROLLER AND FMD             FMD
44 IF(ES AND RM NE 0) GOTO 22    *IF REPEAT MODULE SELECTED              FMD
   IF(B14 NE 0) MSG 3 (B14) TO DAYFILE  *IF ERRORS DETECTED              FMD
   EXIT                                 *EXIT THE MODULE                 FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                    *EXIT THE SUBROUTINE                        FMD18
52 IF(EC AND 77 NE 25) GOTO 70        *NOT ABNORMAL G.S.                 FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN  *DRIVE STATUS ERROR                FMD18
   GOTO 70                            *REPORT THE ERROR                  FMD18
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS IN THE MODULE.                   FMD
*                                                                        FMD
66 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL EQ 0) CALL 98C  *IF NO SCOPING LOOP                      FMD
   GOTO 72                      *GO TO END THE SUBROUTINE                FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
70 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=4                          *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 98M     *IF NO SCOPING LOOP                   FMD
72 IF(B13 EQ 0) ENDSUB GOTO 26            *IF CONDITION 0                FMD
   IF(B13 EQ 1) ENDSUB GOTO 34               *IF CONDITION 1             FMD
   IF(B13 EQ 2) ENDSUB GOTO 44               *IF CONDITION 3             FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   ENDSUB GOTO 40                            *CONDITION 2                FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76    *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   IF(B13 EQ 2) ENDSUB GOTO 36  *REPEAT CONDITION 2                      FMD
   RES,DRIVE,FAULT,ABT,72     *CONNECT TO FIXED MODULE DRIVE             FMD
   ENDSUB GOTO 32             *REPEAT CONDITION 1                        FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
   END 20                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD05,FMDHT,(07),LOCK                                          FMD03
*ENDIF
*IF DEF,PFMD
   MODULE FHD05,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD05,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD03
*IF DEF,SFMD
*   5.2.5 FMD PARITY TEST                                                FMD03
*ENDIF
*IF DEF,PFMD
*   5.2.5 FHD PARITY TEST 
*ENDIF
*                                                                        FMD03
*         PURPOSE-                                                       FMD03
*IF DEF,SFMD
*         FMD05 WILL VERIFY THAT WHEN THE DRIVE RECEIVES A COMMAND FROM  FMD03
*ENDIF
*IF DEF,PFMD
*         FHD05 WILL VERIFY THAT WHEN THE DRIVE RECEIVES A COMMAND FROM 
*ENDIF
*IF DEF,LSFMD 
*         FLD05 WILL VERIFY THAT WHEN THE DRIVE RECIEVES A COMMAND FROM 
*ENDIF
*         THE 7155 CONTROLLER THAT HAS THE INCORRECT PARITY BIT WITH IT, FMD03
*         THE FIXED MODULE DRIVE WILL GO NOT READY AND SAFE. THIS        FMD03
*         CONDITION SHOULD BE CORRECTED WHEN THE SELECT LINE IS DROPPED  FMD03
*         AND RAISED AGAIN.                                              FMD03
*                                                                        FMD03
*         METHOD-                                                        FMD03
*         1.  CONNECT TO 7155 CONTROLLER AND SELECT THE FIXED MODULE     FMD03
*             DRIVE.                                                     FMD03
*         2.  CHECK THAT THE FIXED MODULE DRIVE IS SELECTED AND          FMD03
*             RESERVED.                                                  FMD03
*         3.  IF THE DRIVE IS NOT READY AND SAFE, ISOLATE THE CAUSE OF   FMD03
*             THE FAULT.                                                 FMD03
*         4.  SET THE FORCE FMD BUS OUT PARITY ERROR BIT IN OUTPUT       FMD03
*             CHANNEL ONE OF THE 7155 CONTROLLER.                        FMD03
*         5.  ISSUE A 40 HEX COMMAND TO THE FIXED MODULE DRIVE WITH A    FMD03
*             BUS OUT OF ALL ZEROS.                                      FMD03
*         6.  CHECK THAT THE DRIVE IS NOT READY AND SAFE.                FMD03
*         7.  DROP AND RAISE THE SELECT LINE TO THE FIXED MODULE DRIVE.  FMD03
*         8.  CHECK THAT THE DRIVE IS READY AND SAFE.                    FMD03
*         9.  RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD03
*                                                                        FMD03
/                                                                        FMD03
*         ENTRY-                                                         FMD03
*         NO ENTRY REQUIREMENTS.                                         FMD03
*                                                                        FMD03
*         EXIT-                                                          FMD03
*         NO EXIT REQUIREMENTS.                                          FMD03
*                                                                        FMD03
*         SUBMODULES REFERENCED-                                         FMD03
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD03
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD03
*         FMD98M - PROCESS ERRORS.                                       FMD03
*         FMD98N - PROCESS ERRORS.                                       FMD03
*         FMD98O - PROCESS ERRORS.                                       FMD03
*         FMD98O - PROCESS ERRORS.                                       FMD03
*         FMD98P - PROCESS ERRORS.                                       FMD03
*         FMD98Q - PROCESS ERRORS.                                       FMD03
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD03
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*ENDIF
*                                                                        FMD03
*         REGISTERS USED-                                                FMD03
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD03
*         B1 REGISTER - NOT USED.                                        FMD03
*         B2 REGISTER - NOT USED.                                        FMD03
*         B3 REGISTER - NOT USED.                                        FMD03
*         B4 REGISTER - NOT USED.                                        FMD03
*         B5 REGISTER - NOT USED.                                        FMD03
*         B6 REGISTER - NOT USED.                                        FMD03
*         B7 REGISTER - NOT USED.                                        FMD03
*         B8 REGISTER - NOT USED.                                        FMD03
*         B9 REGISTER - NOT USED.                                        FMD03
*         B10 REGISTER - NOT USED.                                       FMD03
*         B11 REGISTER - NOT USED.                                       FMD03
*         B12 REGISTER - NOT USED.                                       FMD03
*         B13 REGISTER - CONDITION NUMBER.                               FMD03
*         B14 REGISTER - ERROR COUNTER.                                  FMD03
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD03
*         BA REGISTER - STANDARD USAGE.                                  FMD03
*         WC REGISTER - STANDARD USAGE.                                  FMD03
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD03
*                                                                        FMD03
*         BUFFERS USED-                                                  FMD03
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD03
*                                                                        FMD03
*IF DEF,SFMD
1  FORMAT FMD05 - FMD PARITY TEST                                        FMD03
2  FORMAT FMD05 - EC *DECD, LC = *DECD                                   FMD03
3  FORMAT FMD05 - *DECD ERRORS                                           FMD03
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD05 - FHD PARITY TEST 
2  FORMAT FHD05 - EC *DECD, LC = *DECD
3  FORMAT FHD05 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD05 - FLD PARITY TEST 
2  FORMAT FLD05 - EC *DECD, LC = *DECD
3  FORMAT FLD05 - *DECD ERRORS
*ENDIF
*                                                                        FMD03
/         EQUATES FOR THE MODULE.                                        FMD03
*                                                                        FMD03
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=10, CDSV=2             FMD03
   EQUATE CH8=10, DRS=200, DSR=400, DSRRS=600                            FMD18
*                                                                        FMD03
/         DISPLAY RUNNING MESSAGE FOR THE MODULE.                        FMD03
*                                                                        FMD03
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD03
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD03
   B13=0                     *CONDITION NUMBER 0                         FMD03
*                                                                        FMD03
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD03
*                                                                        FMD03
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 23/3 GOTO 70  *NO SELECT                 FMD03
   IF(SB(CDS)AND DRS EQ 0)GOTO 66    *NOT READY AND SAFE                 FMD03
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD03
   B12=0                           *SET CMD TO 00                        FMD03
*                                                                        FMD03
/         ENABLE FORCE BUS OUT PARITY ERROR IN CONTROLLER.               FMD03
*                                                                        FMD03
30 B13=1                     *CONDITION NUMBER 1                         FMD03
   B0=SB(63)+100             *LOWER BITS FOR CHANNEL 1                   FMD03
   OUT,CH=1,10,B0,ABT 70     *ENABLE FORCE BUS OUT PARITY                FMD03
*                                                                        FMD03
/         ISSUE A 40 COMMAND TO THE FMD WITH BUS OUT OF 0.               FMD03
*                                                                        FMD03
   OUT,CH=CH8,0,100,ABT 70   *ISSUE A 40 COMMAND TO THE FMD              FMD03
*                                                                        FMD03
/         CHECK FOR THE DRIVE NOT READY AND SAFE.                        FMD03
*                                                                        FMD03
   STATUS,CHANNEL,ABT 70     *STATUS CONTROLLER CHANNELS                 FMD03
   IF(SB(CCDS)AND CDRS NE 0)ERROR 16/71 GOTO 70  *NO FAULT               FMD03
*                                                                        FMD03
/         DROP AND RAISE THE SELECT LINE TO THE DRIVE.                   FMD03
*                                                                        FMD03
   GOSUB 50                   *DROP/RAISE SELECT LINE                    FMD18
*                                                                        FMD03
/         CHECK FOR THE DRIVE READY AND SAFE.                            FMD03
*                                                                        FMD03
   STATUS,CHANNEL,ABT 70     *STATUS CONTROLLER CHANNELS                 FMD03
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 21/72 GOTO 70  *NOT READY              FMD03
32 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD03
*                                                                        FMD03
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD03
*                                                                        FMD03
   B13=2                         *CONDITION NUMBER 3                     FMD03
   REL,ABT 70                    *RELEASE CONTROLLER AND FMD             FMD03
34 IF(ES AND RM NE 0) GOTO 22    *IF REPEAT MODULE SELECTED              FMD03
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD03
   EXIT                              *EXIT THE MODULE                    FMD03
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 70         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 70                             *REPORT THE ERROR                 FMD18
*                                                                        FMD03
/         PROCESS READY AND SAFE ERRORS IN THE MODULE.                   FMD03
*                                                                        FMD03
66 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD03
   IF(ES AND SL EQ 0)CALL 98C  *IF NO SCOPING LOOP                       FMD03
   GOTO 72                     *GO TO END THE SUBROUTINE                 FMD03
*                                                                        FMD03
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD03
*                                                                        FMD03
70 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD03
   B0=5                        *MODULE NUMBER                            FMD03
   IF(ES AND SL EQ 0)CALL 98M  *IF NO SCOPING LOOP                       FMD03
72 IF(B13 EQ 0)ENDSUB GOTO 26  *IF CONDITION 0                           FMD03
   IF(B13 EQ 1)ENDSUB GOTO 32  *IF CONDITION 1                           FMD03
   ENDSUB GOTO 34              *CONDITION 2                              FMD03
*                                                                        FMD03
/         PROCESS REPEAT CONDITION.                                      FMD03
*                                                                        FMD03
74 IF(ES AND RC EQ 0)GOTO 76   *IF NO REPEAT CONDITION                   FMD03
   B15=B15+1                   *INCREMENT LOOP COUNT BY ONE              FMD03
   MSG 2 (B14,B15)TO DISPLAY   *DISPLAY RC MESSAGE                       FMD03
   IF(B13 EQ 0)ENDSUB GOTO 24  *REPEAT CONDITION 0                       FMD03
   RES,DRIVE,FAULT,ABT,72     *CONNECT TO FIXED MODULE DRIVE             FMD03
   ENDSUB GOTO 30             *REPEAT CONDITION 1                        FMD03
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD03
   RETURN                     *EXIT THE SUBROUTINE                       FMD03
   END 20                     *END OF THE MODULE                         FMD03
COMPILE                                                                  FMD03
*IF DEF,SFMD
   MODULE FMD06,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD06,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD06,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.6 ECHO BUS OUT TEST                                              FMD10
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD06 WILL SELECT ECHO BUS OUT IN THE FIXED MODULE DRIVE USING FMD
*ENDIF
*IF DEF,PFMD
*         FHD06 WILL SELECT ECHO BUS OUT IN THE FIXED MODULE DRIVE USING
*ENDIF
*IF DEF,LSFMD 
*         FLD06 WILL SELECT ECHO BUS OUT IN THE FIXED MODULE DRIVE USING
*ENDIF
*         BIT 5 OF THE 4C COMMAND. THE BUS OUT DATA LINES WILL BE        FMD
*         CHECKED USING A DATA PATTERN OF ALL ZEROS INCREMENTED TO A     FMD
*         DATA PATTERN OF ALL ONES.                                      FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  SET THE BUS OUT DATA TO ALL ZEROS.                         FMD
*         2.  CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.         FMD
*         3.  VERIFY THE FIXED MODULE DRIVE IS SELECTED AND RESERVED.    FMD
*         4.  IF THE DRIVE IS NOT READY AND SAFE, ISOLATE THE CAUSE OF   FMD
*             THE FAULT.                                                 FMD
*         5.  SET ECHO BUS MODE IN THE FIXED MODULE DRIVE.               FMD
*         6.  VERIFY THAT STATUS VALID AND READY AND SAFE ARE ACTIVE     FMD
*         7.  CHECK THAT THE BUS IN DATA IS EQUAL TO 20 HEX.             FMD
*         8.  ISSUE A 40 COMMAND TO THE DRIVE WITH THE BUS OUT DATA      FMD06
*             PATTERN.                                                   FMD
*         9.  CHECK THAT STATUS VALID WAS RETURNED BY THE DRIVE.         FMD
*         10. CHECK THAT THE DRIVE IS READY AND SAFE.                    FMD
*         11. CHECK THAT THE BUS IN DATA IS EQUAL TO THE DATA PATTERN    FMD
*             SENT TO THE DRIVE.                                         FMD
*         12. IF THE DATA PATTERN IS NOT EQUAL TO FF HEX, INCREMENT THE  FMD
*             DATA PATTERN BY ONE AND GO TO STEP 8.                      FMD
*         13. DROP AND THEN RAISE THE SELECT LINE TO THE DRIVE.          FMD
*         14. CHECK THAT THE READY AND SAFE LINE IS ACTIVE.              FMD
*         15. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - BUS OUT DATA PATTERN.                           FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD06 - ECHO BUS OUT TEST                                      FMD
2  FORMAT FMD06 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD06 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD06 - ECHO BUS OUT TEST 
2  FORMAT FHD06 - EC *DECD, LC = *DECD
3  FORMAT FHD06 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD06 - ECHO BUS OUT TEST 
2  FORMAT FLD06 - EC *DECD, LC = *DECD
3  FORMAT FLD06 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSV=2                      FMD
   EQUATE CH8=10, DRS=200, DSR=400, DSRRS=600                            FMD18
*                                                                        FMD
/         DISPLAY RUNNING MESSAGE FOR THE MODULE.                        FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B12=0                     *SET BUS OUT DATA TO ZERO                   FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS) AND DRS EQ 0) GOTO 66   *IF NO READY AND SAFE              FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
*                                                                        FMD
/        SELECT ECHO BUS MODE IN 885 DRIVE.                              FMD
*                                                                        FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
30 OUT,CH=CH8,40,114,ABT 70        *ENABLE ECHO BUS OUT MODE             FMD
   STATUS,CHANNEL,ABT 70           *READ IN CHANNEL STATUSES             FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 3/5 GOTO 70  *STATUS VALID             FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 5/6 GOTO 70  *READY/SAFE               FMD
   IF(SB(CBIS) NE 40) ERROR 10/7 GOTO 70      *BUS IN ERROR              FMD
32 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
*                                                                        FMD
/         ECHO 00 THROUGH FF ON BUS OUT THROUGH DRIVE.                   FMD
*                                                                        FMD
   B13=2                          *CONDITION NUMBER 2                    FMD
34 OUT,CH=CH8,B12,100,ABT 70      *ISSUE CMD TO ECHO BUS OUT             FMD
   STATUS,CHANNEL,ABT 70           *READ IN CHANNEL STATUSES             FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 12/8 GOTO 70  *BUS VALID               FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 14/11 GOTO 70  *FAULT                  FMD
   IF(SB(CBIS) NE B12) ERROR 16/12 GOTO 70     *BUS IN ERROR             FMD
36 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   GOTO 34 WHILE(B12+1 NE 400)     *IF BUS OUT LT 100                    FMD
*                                                                        FMD
/         DROP AND RAISE SELECT LINE TO CLEAR ECHO MODE.                 FMD
*                                                                        FMD
   B13=3                      *CONDITION NUMBER 3                        FMD
40 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS) AND DRS EQ 0)ERROR 20/14 GOTO 70  *READY/SAFE              FMD
42 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=4                         *CONDITION NUMBER 4                     FMD
   REL,ABT 70                    *RELEASE CONTROLLER AND FMD             FMD
44 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 54    *CONNECT TO FIXED MODULE DRIVE              FMD18
52 IF(SB(CDS) AND DSR EQ 0) ERROR 23/3 GOTO 70  *NO SELECT               FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
54 IF(EC AND 77 NE 25) GOTO 70         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)GOTO 52  *DRIVE STATUS ERROR               FMD18
   GOTO 70                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS IN THE MODULE.                   FMD
*                                                                        FMD
66 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL EQ 0) CALL 98C  *IF NO SCOPING LOOP                      FMD
   GOTO 72                      *GO TO END THE SUBROUTINE                FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
70 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=6                            *MODULE NUMBER                        FMD
   IF(ES AND SL EQ 0) CALL 98M        *IF NO SCOPING LOOP                FMD
72 IF(B13 EQ 4) ENDSUB GOTO 44               *IF CONDITION 4             FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26               *IF CONDITION 0             FMD
   IF(B13 EQ 3) ENDSUB GOTO 42               *IF CONDITION 3             FMD
   IF(ES AND RC EQ 0)OUT,CH=CH8,40,114,ABT 72  *ENABLE ECHO              FMD
   IF(B13 EQ 1) ENDSUB GOTO 32               *IF CONDITION 1             FMD
   ENDSUB GOTO 36                            *CONDITION 2                FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   IF(B13 EQ 3) ENDSUB GOTO 40  *REPEAT CONDITION 3                      FMD
   RES,DRIVE,FAULT,ABT 72       *CONNECT TO FMD                          FMD
   IF(B13 EQ 1) ENDSUB GOTO 30  *REPEAT CONDITION 1                      FMD
   OUT,CH=CH8,40,114,ABT 72     *ENABLE ECHO BUS OUT MODE                FMD
   ENDSUB GOTO 34               *REPEAT CONDITION 2                      FMD
76 MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD07,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD07,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD07,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.7 EHCO DECODE TEST                                               FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD07 WILL SELECT ECHO DECODE MODE IN THE FIXED MODULE DRIVE   FMD
*ENDIF
*IF DEF,PFMD
*         FHD07 WILL SELECT ECHO DECODE MODE IN THE FIXED MODULE DRIVE
*ENDIF
*         USING BIT 6 OF THE 4C COMMAND. THEN LEGAL DRIVE COMMANDS OF    FMD
*         40-4F AND 80-8F WILL BE ISSUED TO THE DRIVE TO VERIFY THAT     FMD
*         THEY ARE DECODED CORRECTLY.                                    FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  SET LEGAL COMMAND NUMBER TO 40 HEX.                        FMD
*         2.  CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.         FMD
*         3.  VERIFY THE FIXED MODULE DRIVE IS SELECTED AND RESERVED.    FMD
*         4.  IF THE DRIVE IS NOT READY AND SAFE, ISOLATE THE CAUSE OF   FMD
*             THE FAULT.                                                 FMD
*         5.  SET ECHO DECODE MODE IN THE FIXED MODULE DRIVE.            FMD
*         6.  VERIFY THAT STATUS VALID AND READY AND SAFE ARE ACTIVE     FMD
*         7.  CHECK THAT THE BUS IN DATA IS EQUAL TO 40 HEX.             FMD
*         8.  ISSUE THE LEGAL COMMAND NUMBER TO THE DRIVE WITH A BUS OUT FMD
*             OF ZERO.                                                   FMD
*         9.  CHECK THAT STATUS VALID WAS RETURNED BY THE DRIVE.         FMD
*         10. CHECK THAT THE DRIVE IS READY AND SAFE.                    FMD
*         11. CHECK THAT THE BUS IN DATA IS EQUAL TO THE THE COMMAND     FMD
*             NUMBER ISSUED.                                             FMD
*         12. INCREMENT THE COMMAND NUMBER BY ONE.                       FMD
*         13. IF THE COMMAND NUMBER IS EQUAL TO 50 HEX, SET THE COMMAND  FMD
*             NUMBER EQUAL TO 80 HEX.                                    FMD
*         14. IF THE COMMAND NUMBER IS NOT EQUAL TO 90 HEX, GO TO STEP   FMD
*             8.                                                         FMD
*         15. DROP AND THEN RAISE THE SELECT LINE TO THE DRIVE.          FMD
*         16. CHECK THAT THE SELECT AND RESERVED LINE IS ACTIVE.         FMD
*         17. ISSUE A 4C COMMAND WITH BUS OUT OF ZERO TO THE DRIVE.      FMD
*         18. VERIFY THAT STATUS VALID AND READY AND SAFE ARE ACTIVE     FMD
*         19. CHECK THAT THE BUS IN DATA IS EQUAL TO X00X 000X.          FMD
*         20. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - LEGAL DRIVE COMMAND NUMBER.                     FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD07 - ECHO DECODE TEST                                       FMD
2  FORMAT FMD07 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD07 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD07 - ECHO DECODE TEST
2  FORMAT FHD07 - EC *DECD, LC = *DECD
3  FORMAT FHD07 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD07 - ECHO DECODE TEST
2  FORMAT FLD07 - EC *DECD, LC = *DECD
3  FORMAT FLD07 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSV=2                      FMD
   EQUATE CH8=10, DRS=200, DSR=400, DSRRS=600                            FMD18
*                                                                        FMD
/         DISPLAY RUNNING MESSAGE FOR THE MODULE.                        FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B12=100                   *SET COMMAND NUMBER TO 40 HEX               FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS) AND DRS EQ 0) GOTO 66    *IF NO READY AND SAFE             FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
*                                                                        FMD
/        SELECT ECHO DECODE MODE IN 885 DRIVE.                           FMD
*                                                                        FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
30 OUT,CH=CH8,100,114,ABT 70       *ENABLE ECHO BUS OUT MODE             FMD
   STATUS,CHANNEL,ABT 70           *READ IN CHANNEL STATUSES             FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 22/16 GOTO 70  *BUS VALID              FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 24/17 GOTO 70  *READY/SAFE             FMD
   IF(SB(CBIS) NE 114) ERROR 0/20 GOTO 70     *BUS IN ERROR              FMD
32 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
*                                                                        FMD
/         ECHO COMMANDS 40-4F AND 80-F8 THROUGH THE DRIVE.               FMD
*                                                                        FMD
   B13=2                          *CONDITION NUMBER 2                    FMD
34 OUT,CH=CH8,0,B12,ABT 70        *ISSUE CMD TO ECHO BUS OUT             FMD
   STATUS,CHANNEL,ABT 70           *READ IN CHANNEL STATUSES             FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 3/21 GOTO 70  *BUS VALID               FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 5/22 GOTO 70  *READY/SAFE              FMD
   IF(SB(CBIS) NE B12) ERROR 7/23 GOTO 70     *BUS IN ERROR              FMD
36 GOSUB 74                     *PROCESS REPEAT CONDITION                FMD
   B12=B12+1                 *INCREMENT LEGAL COMMAND NUMBER             FMD
   IF(B12 EQ 120) B12=200    *B12 EQUALS 80 IF NUMBER IS 50              FMD
   IF(B12 NE 220) GOTO 34    *IF NOT COMMAND NUMBER 90 HEX               FMD
*                                                                        FMD
/         DROP AND RAISE SELECT LINE TO CLEAR ECHO MODE.                 FMD
*                                                                        FMD
   B13=3                      *CONDITION NUMBER 3                        FMD
40 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS) AND DRS EQ 0)ERROR 11/24 GOTO 70  *READY/SAFE              FMD
*                                                                        FMD
/        ISSUE A 4C COMMAND AND CHECK BUS IN STATUS.                     FMD
*                                                                        FMD
   OUT,CH=CH8,0,114,ABT 70         *ISSUE A 4C COMMAND                   FMD
   STATUS,CHANNEL,ABT 70           *READ IN CHANNEL STATUSES             FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 13/25 GOTO 70  *BUS VALID              FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 15/26 GOTO 70  *READY/SAFE             FMD
   IF(SB(CBIS)AND 156 NE 0)ERROR 17/27 GOTO 70  *STATUS                  FMD
42 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=4                         *CONDITION NUMBER 4                     FMD
   REL,ABT 70                    *RELEASE CONTROLLER AND FMD             FMD
44 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 54    *CONNECT TO FIXED MODULE DRIVE              FMD18
52 IF(SB(CDS) AND DSR EQ 0) ERROR 23/3 GOTO 70  *NO SELECT               FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
54 IF(EC AND 77 NE 25) GOTO 70         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)GOTO 52  *DRIVE STATUS ERROR               FMD18
   GOTO 70                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS IN THE MODULE.                   FMD
*                                                                        FMD
66 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL EQ 0) CALL 98C  *IF NO SCOPING LOOP                      FMD
   GOTO 72                      *GO TO END THE SUBROUTINE                FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
70 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=7                           *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 98M      *IF NO SCOPING LOOP                  FMD
72 IF(B13 EQ 4) ENDSUB GOTO 44          *IF CONDITION 4                  FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26               *IF CONDITION 0             FMD
   IF(B13 EQ 3) ENDSUB GOTO 42               *IF CONDITION 3             FMD
   IF(ES AND RC EQ 0)OUT,CH=CH8,100,114,ABT 72  *ENABLE ECHO             FMD
   IF(B13 EQ 1) ENDSUB GOTO 32               *IF CONDITION 1             FMD
   ENDSUB GOTO 36                            *CONDITION 2                FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   IF(B13 EQ 3) ENDSUB GOTO 40  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 72     *CONNECT TO FIXED MODULE DRIVE             FMD
   IF(B13 EQ 1) GOTO 30       *REPEAT CONDITION 1                        FMD
   OUT,CH=CH8,100,114,ABT 72  *ENABLE ECHO DECODE MODE                   FMD
   ENDSUB GOTO 34             *REPEAT CONDITION 2                        FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
   END 20                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD08,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD08,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD08,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.8 RTZ CLEAR REG. TEST                                            FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD08 TESTS THAT THE RTZ (49 HEX) COMMAND CLEARS THE           FMD
*ENDIF
*IF DEF,PFMD
*         FHD08 TESTS THAT THE RTZ (49 HEX) COMMAND CLEARS THE
*ENDIF
*IF DEF,LSFMD 
*         FLD08 TESTS THAT THE RTZ (49 HEX) COMMAND CLEARS THE
*ENDIF
*         DIFFERENCE, CYLINDER, AND HEAD REGISTERS IN THE FIXED MODULE   FMD
*         DRIVE.                                                         FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO 7155 CONTROLLER.                                FMD
*         2.  SELECT FIXED MODULE DRIVE.                                 FMD
*         3.  VERIFY THE FIXED MODULE DRIVE IS SELECTED AND RESERVED.    FMD
*         4.  IF THE DRIVE IS NOT READY AND SAFE, ISOLATE THE CAUSE OF   FMD
*             THE FAULT.                                                 FMD
*         5.  ISSUE A RTZ COMMAND TO THE FIXED MODULE DRIVE.             FMD
*         6.  DELAY 300 MILLISECONDS.                                    FMD
*         7.  CHECK THAT THE DRIVE IS ON CYLINDER.                       FMD
*         8.  CHECK THAT STATUS VALID WAS RETURNED BY THE DRIVE.         FMD
*         9.  CHECK THAT THE DRIVE IS READY AND SAFE.                    FMD
*         10. ISSUE A 80 HEX COMMAND TO THE DRIVE.                       FMD
*         11. CHECK THAT STATUS VALID WAS RETURNED BY THE DRIVE.         FMD
*         12. CHECK THAT THE DRIVE IS READY AND SAFE. IF THE DRIVE IS    FMD
*             NOT READY AND SAFE, REPORT THE ERROR AND ISOLATE THE CAUSE FMD
*             OF THE FAULT.                                              FMD
*         13. CHECK THAT THE BUS IN DATA IS EQUAL ZERO.                  FMD
*         14. REPEAT STEPS 11, 12, AND 13 FOR THE DRIVE COMMANDS 81, 82, FMD
*             83, AND 84.                                                FMD
*         15. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD98S - PROCESS ERRORS.                                       FMD
*         FMD98T - PROCESS ERRORS.                                       FMD
*         FMD982 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD983 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD98S - PROCESS ERRORS.
*         FHD98T - PROCESS ERRORS.
*         FHD982 - PROCESS ISOLATION INFORMATION. 
*         FHD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD98S - PROCESS ERRORS.
*         FLD98T - PROCESS ERRORS.
*         FLD982 - PROCESS ISOLATION INFORMATION. 
*         FLD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD08 - RTZ CLEAR REG. TEST                                    FMD
2  FORMAT FMD08 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD08 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD08 - RTZ CLEAR REG. TEST 
2  FORMAT FHD08 - EC *DECD, LC = *DECD
3  FORMAT FHD08 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD08 - RTZ CLEAR REG. TEST 
2  FORMAT FLD08 - EC *DECD, LC = *DECD
3  FORMAT FLD08 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSV=2                      FMD
   EQUATE CH8=10, DRS=200, DSR=400, COTRK=40, RTZ=111                    FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DISPLAY RUNNING MESSAGE FOR THE MODULE.                        FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS) AND DSR EQ 0) ERROR 11/0 GOTO 72  *NO SELECT               FMD
   IF(SB(CDS) AND DRS EQ 0) ERROR 13/1 GOTO 70  *READY/SAFE              FMD
   B9=RTZ                                                                FMD
*                                                                        FMD
/         ISSUE A RTZ (49) COMMAND TO THE DRIVE.                         FMD
*                                                                        FMD
   OUT,CH=CH8,0,B9,ABT 72   *ISSUE RTZ CMD TO THE DRIVE                  FMD
   DELAY 300D MSEC           *DELAY FOR RTZ TO COMPLETE                  FMD
   STATUS,CHANNEL,ABT 72       *READ IN CHANNEL STATUSES                 FMD
   IF(SB(CCDS)AND COTRK EQ 0)ERROR 14/2 GOTO 72  *ON TRACK               FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 16/3 GOTO 72  *BUS VALID               FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 17/4 GOTO 72  *READY/SAFE              FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B9=200                          *FIRST DRIVE COMMAND                  FMD
   B11=0                           *EXPECT BUS IN STATUS                 FMD
*                                                                        FMD
/         ISSUE THE COMMANDS 80, 81, 82, 83, AND 84 HEX TO               FMD
/         THE FIXED MODULE DRIVE.                                        FMD
*                                                                        FMD
30 IF(ES AND RC EQ 0)B13=1       *CONDITION NUMBER 1                     FMD
32 OUT,CH=CH8,0,B9,ABT 72        *ISSUE COMMAND TO THE DRIVE             FMD
   STATUS,CHANNEL,ABT 72         *READ IN CHANNEL STATUSES               FMD
   B12=SB(CBIS)                  *SAVE BUS IN STATUS                     FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 20/5 GOTO 72  *BUS VALID               FMD
   IF(ES AND RC EQ 0)B13=2            *CONDITION NUMBER 2                FMD
   STATUS,DETAIL,ABT 72             *READ IN DETAILED STATUS             FMD
   IF(SB(CDS) AND DRS EQ 0) ERROR 21/6 GOTO 70  *READY/SAFE              FMD
   IF(B12 EQ 0) GOTO 34               *BUS IN STATUS CORRECT             FMD
   IF(B9 EQ 200) ERROR 23/7 GOTO 72   *IF 80 DRIVE COMMAND               FMD
   IF(B9 EQ 201) ERROR 25/10 GOTO 72  *IF 81 DRIVE COMMAND               FMD
   IF(B9 EQ 202) ERROR 0/11 GOTO 72   *IF 82 DRIVE COMMAND               FMD
   IF(B9 EQ 203) ERROR 2/12 GOTO 72   *IF 83 DRIVE COMMAND               FMD
   IF(B9 EQ 204) ERROR 4/13 GOTO 72   *IF 84 DRIVE COMMAND               FMD
34 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   GOTO 30 WHILE(B9+1 NE 205)      *DO FIVE DRIVE COMMANDS               FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=3                         *CONDITION NUMBER 4                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
36 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 72         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 72                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
70 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 73   *IF SCOPING LOOP                          FMD
   B0=8                        *MODULE NUMBER                            FMD
   CALL 98S                    *REPORT THE ERROR                         FMD
   CALL 98C                    *ISOLATE READY/SAFE ERROR                 FMD
   GOTO 73                     *GO TO REPEAT CONDITION                   FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=8                           *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 98S      *IF NO SCOPING LOOP                  FMD
73 IF(B13 EQ 3) ENDSUB GOTO 36           *IF CONDITION 3                 FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26              *IF CONDITION 0              FMD
   ENDSUB GOTO 34                        *CONDITION 1 AND 2              FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76  *IF NO REPEAT CONDITION                   FMD
   B15=B15+1                   *INCREMENT LOOP COUNT BY ONE              FMD
   MSG 2(B14,B15)TO DISPLAY    *DISPLAY RC MESSAGE                       FMD
   IF(B13 EQ 0)ENDSUB GOTO 24  *REPEAT CONDITION 0                       FMD
   IF(B13 EQ 2)ENDSUB GOTO 24  *REPEAT CONDITION 2                       FMD
   RES,DRIVE,FAULT,ABT 72     *CONNECT TO FIXED MODULE DRIVE             FMD
   ENDSUB GOTO 32             *REPEAT CONDITION 1                        FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
   END 20                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD09,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD09,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD09,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.9 UPPER CYLINDER TEST                                            FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD09 TESTS THAT THE BITS IN THE UPPER CYLINDER REGISTER CAN   FMD
*ENDIF
*IF DEF,PFMD
*         FHD09 TESTS THAT THE BITS IN THE UPPER CYLINDER REGISTER CAN
*ENDIF
*IF DEF,LSFMD 
*         FLD09 TESTS THAT THE BITS IN THE UPPER CYLINDER REGISTER CAN
*ENDIF
*         BE LOADED PROPERLY WITHOUT DESTROYING THE CONTENTS OF ANY      FMD
*         OTHER REGISTERS AND THAT READING OTHER REGISTERS DOES NOT      FMD
*         DESTROY THE CONTENTS OF THE UPPER CYLINDER REGISTER.           FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT SELECT AND RESERVED AND READY AND SAFE ARE     FMD
*             ACTIVE.                                                    FMD
*         3.  LOAD THE UPPER CYLINDER REGISTER WITH ZEROS AND VERIFY     FMD
*             THAT THE UPPER CYLINDER REGISTER CONTAINS ZEROS.           FMD
*         4.  LOAD THE UPPER CYLINDER REGISTER WITH ONES AND VERIFY THAT FMD
*             THE UPPER CYLINDER REGISTER CONTAINS THREE.                FMD
*         5.  CHECK THAT THE LOWER CYLINDER REGISTER, UPPER AND LOWER    FMD
*             DIFFERENCE REGISTERS, AND HEAD REGISTER CONTAIN ALL ZEROS. FMD
*         6.  LOAD THE UPPER CYLINDER REGISTER WITH ONE AND VERIFY THAT  FMD
*             THE UPPER CYLINDER REGISTER CONTAINS ONE.                  FMD
*         7.  LOAD THE UPPER CYLINDER REGISTER WITH TWO AND AND THAT THE FMD
*             UPPER CYLINDER REGISTER CONTAINS TW0.                      FMD
*         8.  ISSUE A RTZ COMMAND TO THE FIXED MODULE DRIVE.             FMD
*         9.  VERIFY THAT THE UPPER CYLINDER REGISTER CONTAINS ALL       FMD
*             ZEROS.                                                     FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD98S - PROCESS ERRORS.                                       FMD
*         FMD98T - PROCESS ERRORS.                                       FMD
*         FMD98U - PROCESS ERRORS.                                       FMD
*         FMD98V - PROCESS ERRORS.                                       FMD
*         FMD982 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD983 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD98S - PROCESS ERRORS.
*         FHD98T - PROCESS ERRORS.
*         FHD98U - PROCESS ERRORS.
*         FHD98V - PROCESS ERRORS.
*         FHD982 - PROCESS ISOLATION INFORMATION. 
*         FHD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD98S - PROCESS ERRORS.
*         FLD98T - PROCESS ERRORS.
*         FLD98U - PROCESS ERRORS.
*         FLD98V - PROCESS ERRORS.
*         FLD982 - PROCESS ISOLATION INFORMATION. 
*         FLD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD09 - UPPER CYLINDER TEST                                    FMD
2  FORMAT FMD09 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD09 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD09 - UPPER CYLINDER TEST 
2  FORMAT FHD09 - EC *DECD, LC = *DECD
3  FORMAT FHD09 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD09 - UPPER CYLINDER TEST 
2  FORMAT FLD09 - EC *DECD, LC = *DECD
3  FORMAT FLD09 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSV=2                      FMD
   EQUATE CH8=10, DRS=200, DSR=400, COTRK=40, RTZ=111                    FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 40,8040,8081,8283,8440,8040,8049,8000                  FMD
*                                                                        FMD
/         BUS OUT DATA FOR DRIVE COMMANDS.                               FMD
*                                                                        FMD
   DATA (OB(20),H) 0,FF,0,0,1,2,0,0                                      FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
   DATA (OB(40),H) 0,3,300,0,1,102,200,0                                 FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS) AND DSR EQ 0) ERROR 11/0 GOTO 72  *NO SELECT               FMD
   IF(SB(CDS) AND DRS EQ 0) ERROR 13/1 GOTO 70  *READY/SAFE              FMD
   OUT,CH=CH8,0,RTZ,ABT 72         *ISSUE A RTZ SEEK                     FMD18
   DELAY,300D MSEC                 *WAIT FOR RTZ TO COMPLETE             FMD18
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
30 B9=OB(B13)                *DRIVE COMMAND FROM THE TABLE               FMD
   B10=OB(B13+20)            *BUS OUT FROM THE TABLE                     FMD
   B11=OB(B13+40)            *EXPECTED BUS IN FROM TABLE                 FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 OUT,CH=CH8,B10,B9,ABT 72      *ISSUE COMMAND TO DRIVE                 FMD
   IF(B13 EQ 15)DELAY 300D MSEC  *DELAY IF RTZ COMMAND                   FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 72        *READ CHANNEL STATUSES                   FMD
   B12=SB(CBIS)                 *SAVE BUS IN STATUS                      FMD
*                                                                        FMD
/         CHECK THE 885 DRIVE STATUSES.                                  FMD
*                                                                        FMD
   IF(B13 NE 1)GOTO 34               *IF NOT FIRST DRIVE CMD             FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 20/5 GOTO 72  *STAT. VALID             FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 21/6 GOTO 70  *READY/SAFE              FMD
   IF(B11 NE B12) ERROR 6/14 GOTO 72    *BUS IN STATUS ERROR             FMD
   GOTO 40                           *GO TO REPEAT CONDITION             FMD
*                                                                        FMD
/         CHECK RTZ COMMAND STATUSES.                                    FMD
*                                                                        FMD
34 IF(B13 NE 15) GOTO 36                 *IF NOT RTZ COMMAND             FMD
   IF(SB(CCDS)AND COTRK EQ 0) ERROR 14/2 GOTO 72  *OFF TRACK             FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 16/3 GOTO 72  *STAT. VALID             FMD
   IF(SB(CCDS)AND CDRS EQ 0) ERROR 17/4 GOTO 70  *READY/SAVE             FMD
   GOTO 40                           *GO TO REPEAT CONDITION             FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE COMMAND.                          FMD
*                                                                        FMD
36 IF(B11 EQ B12) GOTO 40         *BUS IN STATUS CORRECT                 FMD
   IF(B13 EQ 2) ERROR 10/15 GOTO 72   *IF 80 DRIVE COMMAND               FMD
   IF(B13 EQ 3) ERROR 13/16 GOTO 72   *IF 40 DRIVE COMMAND               FMD
   IF(B13 EQ 4) ERROR 15/17 GOTO 72   *IF 80 DRIVE COMMAND               FMD
   IF(B13 EQ 5) ERROR 21/20 GOTO 72   *IF 81 DRIVE COMMAND               FMD
   IF(B13 EQ 6) ERROR 0/21 GOTO 72    *IF 82 DRIVE COMMAND               FMD
   IF(B13 EQ 7) ERROR 4/22 GOTO 72    *IF 83 DRIVE COMMAND               FMD
   IF(B13 EQ 10) ERROR 10/23 GOTO 72  *IF 84 DRIVE COMMAND               FMD
   IF(B13 EQ 11) ERROR 14/24 GOTO 72  *IF 40 DRIVE COMMAND               FMD
   IF(B13 EQ 12) ERROR 16/25 GOTO 72  *IF 80 DRIVE COMMAND               FMD
   IF(B13 EQ 13) ERROR 21/26 GOTO 72  *IF 40 DRIVE COMMAND               FMD
   IF(B13 EQ 14) ERROR 23/27 GOTO 72  *IF 80 DRIVE COMMAND               FMD
   ERROR 0/30 GOTO 72                 *IF 80 DRIVE COMMAND               FMD
40 GOSUB 74                      *PROCESS REPEAT CONDITION               FMD
   GOTO 30 WHILE(B13+1 NE 17)  *LOOP TO DO ALL CMDS TO DRIVE             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0) MSG 3 (B14) TO DAYFILE  *IF ERRORS DETECTED              FMD
   EXIT                                 *EXIT THE MODULE                 FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 72         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 72                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 73    *IF SCOPING LOOP                         FMD
   B0=9                         *MODULE NUMBER                           FMD
   CALL 98S                     *REPORT THE ERROR                        FMD
   CALL 98C                     *ISOLATE READY/SAFE ERROR                FMD
   GOTO 73                      *GO TO REPEAT CONDITION                  FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=9                           *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 98S      *IF NO SCOPING LOOP                  FMD
73 IF(B13 EQ 17) ENDSUB GOTO 42          *IF CONDITION 17                FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26              *IF CONDITION 0              FMD
   ENDSUB GOTO 40                        *CONDITIONS 1-16                FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 72     *CONNECT TO FIXED MODULE DRIVE             FMD
   ENDSUB GOTO 32             *REPEAT CONDITIONS 1-16                    FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
   END 20                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD10,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD10,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD10,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.10 LOWER CYLINDER TEST
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD10 TESTS THAT THE BITS IN THE LOWER CYLINDER REGISTER CAN   FMD
*ENDIF
*IF DEF,PFMD
*         FHD10 TESTS THAT THE BITS IN THE LOWER CYLINDER REGISTER CAN
*ENDIF
*IF DEF,LSFMD 
*         FLD10 TESTS THAT THE BITS IN THE LOWER CYLINDER REGISTER CAN
*ENDIF
*         BE LOADED PROPERLY WITHOUT DESTROYING THE CONTENTS OF ANY      FMD
*         OTHER REGISTERS AND THAT READING OTHER REGISTERS DOES NOT      FMD
*         DESTROY THE CONTENTS OF THE LOWER CYLINDER REGISTER.           FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT SELECT AND RESERVED AND READY AND SAFE ARE     FMD
*             ACTIVE.                                                    FMD
*         3.  LOAD THE LOWER CYLINDER REGISTER WITH A DATA PATTERN OF AA FMD
*             HEX AND VERIFY THAT THE LOWER CYLINDER REGISTER CONTAINS   FMD
*             THE DATA PATTERN AA HEX.                                   FMD
*         4.  LOAD THE LOWER CYLINDER REGISTER WITH A DATA PATTERN OF 55 FMD
*             HEX AND VERIFY THAT THE LOWER CYLINDER REGISTER CONTAINS   FMD
*             THE DATA PATTERN 55 HEX.                                   FMD
*         5.  LOAD THE LOWER CYLINDER REGISTER WITH A DATA PATTERN OF    FMD
*             ALL ONES AND VERIFY THAT THE LOWER CYLINDER REGISTER       FMD
*             CONTAINS THE DATA PATTERN OF ALL ONES.                     FMD
*         6.  CHECK THAT THE UPPER CYLINDER REGISTER, UPPER AND LOWER    FMD
*             DIFFERENCE REGISTERS, AND HEAD REGISTER CONTAIN ALL ZEROS. FMD
*         7.  VERIFY THAT THE UPPER CYLINDER REGISTER CONTAINS ALL ONES. FMD
*         8.  ISSUE A RTZ COMMAND TO THE FIXED MODULE DRIVE.             FMD
*         9.  VERIFY THAT THE UPPER CYLINDER REGISTER CONTAINS ALL       FMD
*             ZEROS.                                                     FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD98S - PROCESS ERRORS.                                       FMD
*         FMD98T - PROCESS ERRORS.                                       FMD
*         FMD98U - PROCESS ERRORS.                                       FMD
*         FMD98V - PROCESS ERRORS.                                       FMD
*         FMD98W - PROCESS ERRORS.                                       FMD
*         FMD982 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD983 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD98S - PROCESS ERRORS.
*         FHD98T - PROCESS ERRORS.
*         FHD98U - PROCESS ERRORS.
*         FHD98V - PROCESS ERRORS.
*         FHD98W - PROCESS ERRORS.
*         FHD982 - PROCESS ISOLATION INFORMATION. 
*         FHD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD98T - PROCESS ERRORS.
*         FLD98U - PROCESS ERRORS.
*         FLD98V - PROCESS ERRORS.
*         FLD98W - PROCESS ERRORS.
*         FLD982 - PROCESS ISOLATION INFORMATION. 
*         FLD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD10 - LOWER CYLINDER TEST                                    FMD
2  FORMAT FMD10 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD10 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD10 - LOWER CYLINDER TEST 
2  FORMAT FHD10 - EC *DECD, LC = *DECD
3  FORMAT FHD10 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD10 - LOWER CYLINDER TEST 
2  FORMAT FLD10 - EC *DECD, LC = *DECD
3  FORMAT FLD10 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSV=2                      FMD
   EQUATE CH8=10, DRS=200, DSR=400, COTRK=40, RTZ=111                    FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 41,8141,8141,8180,8283,8481,4981                       FMD
*                                                                        FMD
/         BUS OUT DATA FOR DRIVE COMMANDS.                               FMD
*                                                                        FMD
   DATA (OB(20),H) AA,55,FF,0,0,0,0                                      FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
   DATA (OB(40),H) AA,AA55,55FF,FF00,0,FF,0                              FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS) AND DSR EQ 0) ERROR 11/0 GOTO 72  *NO SELECT               FMD
   IF(SB(CDS) AND DRS EQ 0) ERROR 13/1 GOTO 70  *READY/SAFE              FMD
   OUT,CH=CH8,0,RTZ,ABT 72         *ISSUE A RTZ SEEK                     FMD18
   DELAY,300D MSEC                 *WAIT FOR RTZ TO COMPLETE             FMD18
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
30 B9=OB(B13)                *DRIVE COMMAND FROM THE TABLE               FMD
   B10=OB(B13+20)            *BUS OUT FROM THE TABLE                     FMD
   B11=OB(B13+40)            *EXPECTED BUS IN FROM TABLE                 FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 OUT,CH=CH8,B10,B9,ABT 72      *ISSUE COMMAND TO DRIVE                 FMD
   IF(B13 EQ 14)DELAY 300D MSEC  *DELAY IF RTZ COMMAND                   FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 72        *READ CHANNEL STATUSES                   FMD
   B12=SB(CBIS)                 *SAVE BUS IN STATUS                      FMD
*                                                                        FMD
/         CHECK RTZ COMMAND STATUSES.                                    FMD
*                                                                        FMD
   IF(B13 NE 14) GOTO 34                 *IF NOT RTZ COMMAND             FMD
   IF(SB(CCDS)AND COTRK EQ 0)ERROR 14/2 GOTO 72  *OFF TRACK              FMD
   GOTO 36                           *GO TO REPEAT CONDITION             FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE COMMAND.                          FMD
*                                                                        FMD
34 IF(B11 EQ B12) GOTO 36             *BUS IN STATUS CORRECT             FMD
   IF(B13 EQ 1) ERROR 2/31 GOTO 72    *IF 41 DRIVE COMMAND               FMD
   IF(B13 EQ 2) ERROR 5/32 GOTO 72    *IF 81 DRIVE COMMAND               FMD
   IF(B13 EQ 3) ERROR 10/33 GOTO 72   *IF 41 DRIVE COMMAND               FMD
   IF(B13 EQ 4) ERROR 13/34 GOTO 72   *IF 81 DRIVE COMMAND               FMD
   IF(B13 EQ 5) ERROR 17/35 GOTO 72   *IF 41 DRIVE COMMAND               FMD
   IF(B13 EQ 6) ERROR 22/36 GOTO 72   *IF 81 DRIVE COMMAND               FMD
   IF(B13 EQ 7) ERROR 0/37 GOTO 72    *IF 80 DRIVE COMMAND               FMD
   IF(B13 EQ 10) ERROR 3/40 GOTO 72   *IF 82 DRIVE COMMAND               FMD
   IF(B13 EQ 11) ERROR 6/41 GOTO 72   *IF 83 DRIVE COMMAND               FMD
   IF(B13 EQ 12) ERROR 11/42 GOTO 72  *IF 84 DRIVE COMMAND               FMD
   IF(B13 EQ 13) ERROR 14/43 GOTO 72  *IF 81 DRIVE COMMAND               FMD
   ERROR 22/44 GOTO 72                *IF 81 DRIVE COMMAND               FMD
36 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   GOTO 30 WHILE(B13+1 NE 15)  *LOOP TO DO ALL CMDS TO DRIVE             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
40 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                                 *EXIT THE MODULE                 FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 72         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 72                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 73    *IF SCOPING LOOP                         FMD
   B0=10D                       *MODULE NUMBER                           FMD
   CALL 98S                     *REPORT THE ERROR                        FMD
   CALL 98C                     *ISOLATE READY/SAFE ERROR                FMD
   GOTO 73                      *GO TO REPEAT CONDITION                  FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=10D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 98S      *IF NO SCOPING LOOP                  FMD
73 IF(B13 EQ 16) ENDSUB GOTO 40          *IF CONDITION 16                FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26              *IF CONDITION 0              FMD
   ENDSUB GOTO 36                        *CONDITIONS 1-15                FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 72     *CONNECT TO FIXED MODULE DRIVE             FMD
   ENDSUB GOTO 32             *REPEAT CONDITIONS 1-15                    FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
   END 20                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD11,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD11,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD11,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.11 UPPER DIFF. TEST                                              FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD11 TESTS THAT THE BITS IN THE UPPER DIFFERENCE REGISTER CAN FMD
*ENDIF
*IF DEF,PFMD
*         FHD11 TESTS THAT THE BITS IN THE UPPER DIFFERENCE REGISTER CAN
*ENDIF
*IF DEF,LSFMD 
*         FLD TEST THAT THE BITS IN THE UPPER DIFFERENCE REGISTER CAN 
*ENDIF
*         BE LOADED PROPERLY WITHOUT DESTROYING THE CONTENTS OF ANY      FMD
*         OTHER REGISTERS AND THAT READING OTHER REGISTERS DOES NOT      FMD
*         DESTROY THE CONTENTS OF THE UPPER DIFFERENCE REGISTER.         FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT SELECT AND RESERVED AND READY AND SAFE ARE     FMD
*             ACTIVE.                                                    FMD
*         3.  LOAD THE UPPER DIFFERENCE REGISTER WITH A ZEROS DATA       FMD
*             PATTERN AND VERIFY THAT THE BUS IN STATUS IS CORRECT.      FMD
*         4.  LOAD THE UPPER DIFFERENCE REGISTER WITH A DATA PATTERN OF  FMD
*             FD HEX AND VERIFY THAT THE UPPER DIFFERENCE REGISTER       FMD
*             CONTAINS THE DATA PATTERN 81 HEX.                          FMD
*         5.  LOAD THE UPPER DIFFERENCE REGISTER WITH A DATA PATTERN OF  FMD
*             02 HEX AND VERIFY THAT THE UPPER DIFFERENCE REGISTER       FMD
*             CONTAINS THE DATA PATTERN 02 HEX.                          FMD
*         6.  LOAD THE UPPER DIFFERENCE REGISTER WITH A DATA PATTERN OF  FMD
*             ALL ONES AND VERIFY THAT THE UPPER DIFFERENCE REGISTER     FMD
*             CONTAINS THE DATA PATTERN OF 83 HEX.                       FMD
*         7.  CHECK THAT THE UPPER AND LOWER CYLINDER REGISTERS, LOWER   FMD
*             DIFFERENCE REGISTER, AND HEAD REGISTER CONTAIN ALL ZEROS.  FMD
*         8.  ISSUE A RTZ COMMAND TO THE FIXED MODULE DRIVE.             FMD
*         9.  VERIFY THAT THE UPPER DIFFERENCE REGISTER CONTAINS ALL     FMD
*             ZEROS.                                                     FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD98S - PROCESS ERRORS.                                       FMD
*         FMD98T - PROCESS ERRORS.                                       FMD
*         FMD98U - PROCESS ERRORS.                                       FMD
*         FMD98V - PROCESS ERRORS.                                       FMD
*         FMD98W - PROCESS ERRORS.                                       FMD
*         FMD98X - PROCESS ERRORS.                                       FMD
*         FMD98Y - PROCESS ERRORS.                                       FMD
*         FMD982 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD983 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD98S - PROCESS ERRORS.
*         FHD98T - PROCESS ERRORS.
*         FHD98U - PROCESS ERRORS.
*         FHD98V - PROCESS ERRORS.
*         FHD98W - PROCESS ERRORS.
*         FHD98X - PROCESS ERRORS.
*         FHD98Y - PROCESS ERRORS.
*         FHD982 - PROCESS ISOLATION INFORMATION. 
*         FHD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD98T - PROCESS ERRORS.
*         FLD98U - PROCESS ERRORS.
*         FLD98V - PROCESS ERRORS.
*         FLD98X - PROCESS ERRORS.
*         FLD98Y - PROCESS ERRORS.
*         FLD98W - PROCESS ERRORS.
*         FLD982 - PROCESS ISOLATION INFORMATION. 
*         FLD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD11 - UPPER DIFF. TEST                                       FMD
2  FORMAT FMD11 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD11 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD11 - UPPER DIFF. TEST
2  FORMAT FHD11 - EC *DECD, LC = *DECD
3  FORMAT FHD11 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD11 - UPPER DIFFERENCE TEST 
2  FORMAT FLD11 - EC *DECD, LC = *DECD
3  FORMAT FLD11 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSV=2                      FMD
   EQUATE CH8=10, DRS=200, DSR=400, COTRK=40, RTZ=111                    FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 42,4282,4282,4282,8081,8384,4982                       FMD
*                                                                        FMD
/         BUS OUT DATA FOR DRIVE COMMANDS.                               FMD
*                                                                        FMD
   DATA (OB(20),H) 0,FD00,200,FF00,0,0,0                                 FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
   DATA (OB(40),H) 0,8181,202,8383,0,0,0                                 FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 11/0 GOTO 72  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 13/1 GOTO 70  *READY/SAFE                FMD
   OUT,CH=CH8,0,RTZ,ABT 72         *ISSUE A RTZ SEEK                     FMD18
   DELAY,300D MSEC                 *WAIT FOR RTZ TO COMPLETE             FMD18
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
30 B9=OB(B13)                *DRIVE COMMAND FROM THE TABLE               FMD
   B10=OB(B13+20)            *BUS OUT FROM THE TABLE                     FMD
   B11=OB(B13+40)            *EXPECTED BUS IN FROM TABLE                 FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 OUT,CH=CH8,B10,B9,ABT 72      *ISSUE COMMAND TO DRIVE                 FMD
   IF(B13 EQ 14)DELAY 300D MSEC  *DELAY IF RTZ COMMAND                   FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 72        *READ CHANNEL STATUSES                   FMD
   B12=SB(CBIS)                 *SAVE BUS IN STATUS                      FMD
*                                                                        FMD
/         CHECK RTZ COMMAND STATUSES.                                    FMD
*                                                                        FMD
   IF(B13 NE 14) GOTO 34                 *IF NOT RTZ COMMAND             FMD
   IF(SB(CCDS)AND COTRK EQ 0)ERROR 14/2 GOTO 72  *OFF TRACK              FMD
   GOTO 36                           *GO TO REPEAT CONDITION             FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE COMMAND.                          FMD
*                                                                        FMD
34 IF(B11 EQ B12) GOTO 36             *BUS IN STATUS CORRECT             FMD
   IF(B13 EQ 1) ERROR 24/45 GOTO 72   *IF 42 DRIVE COMMAND               FMD
   IF(B13 EQ 2) ERROR 0/46 GOTO 72    *IF 42 DRIVE COMMAND               FMD
   IF(B13 EQ 3) ERROR 3/47 GOTO 72    *IF 82 DRIVE COMMAND               FMD
   IF(B13 EQ 4) ERROR 6/50 GOTO 72    *IF 42 DRIVE COMMAND               FMD
   IF(B13 EQ 5) ERROR 10/51 GOTO 72   *IF 82 DRIVE COMMAND               FMD
   IF(B13 EQ 6) ERROR 14/52 GOTO 72   *IF 42 DRIVE COMMAND               FMD
   IF(B13 EQ 7) ERROR 16/53 GOTO 72   *IF 82 DRIVE COMMAND               FMD
   IF(B13 EQ 10) ERROR 21/54 GOTO 72  *IF 80 DRIVE COMMAND               FMD
   IF(B13 EQ 11) ERROR 24/55 GOTO 72  *IF 81 DRIVE COMMAND               FMD
   IF(B13 EQ 12) ERROR 0/56 GOTO 72   *IF 83 DRIVE COMMAND               FMD
   IF(B13 EQ 13) ERROR 3/57 GOTO 72   *IF 84 DRIVE COMMAND               FMD
   ERROR 6/60 GOTO 72                 *IF 82 DRIVE COMMAND               FMD
36 GOSUB 74                      *PROCESS REPEAT CONDITION               FMD
   GOTO 30 WHILE(B13+1 NE 15)  *LOOP TO DO ALL CMDS TO DRIVE             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
40 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                                 *EXIT THE MODULE                 FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 72         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 72                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 73    *IF SCOPING LOOP                         FMD
   B0=11D                       *MODULE NUMBER                           FMD
   CALL 98S                     *REPORT THE ERROR                        FMD
   CALL 98C                     *ISOLATE READY/SAFE ERROR                FMD
   GOTO 73                      *GO TO REPEAT CONDITION                  FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=11D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 98S      *IF NO SCOPING LOOP                  FMD
73 IF(B13 EQ 16) ENDSUB GOTO 40          *IF CONDITION 16                FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26              *IF CONDITION 0              FMD
   ENDSUB GOTO 36                        *CONDITIONS 1-15                FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 72     *CONNECT TO FIXED MODULE DRIVE             FMD
   ENDSUB GOTO 32             *REPEAT CONDITIONS 1-15                    FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
   END 20                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD12,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD12,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD12,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.12 LOWER DIFF. TEST                                              FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD12 TESTS THAT THE BITS IN THE LOWER DIFFERENCE REGISTER CAN FMD
*ENDIF
*IF DEF,PFMD
*         FHD12 TESTS THAT THE BITS IN THE LOWER DIFFERENCE REGISTER CAN
*ENDIF
*IF DEF,LSFMD 
*         FLD12 TESTS THAT THE BITS IN THE LOWER DIFFERENCE REGISTER CAN
*ENDIF
*         BE LOADED PROPERLY WITHOUT DESTROYING THE CONTENTS OF ANY      FMD
*         OTHER REGISTERS AND THAT READING OTHER REGISTERS DOES NOT      FMD
*         DESTROY THE CONTENTS OF THE LOWER DIFFERENCE REGISTER.         FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT SELECT AND RESERVED AND READY AND SAFE ARE     FMD
*             ACTIVE.                                                    FMD
*         3.  LOAD THE LOWER DIFFERENCE REGISTER WITH A ZEROS DATA       FMD
*             PATTERN AND VERIFY THAT THE BUS IN STATUS IS EQUAL TO ALL  FMD
*             ZEROS.                                                     FMD
*         4.  LOAD THE LOWER DIFFERENCE REGISTER WITH A DATA PATTERN OF  FMD
*             AA HEX AND VERIFY THAT THE LOWER DIFFERENCE REGISTER       FMD
*             CONTAINS THE DATA PATTERN AA HEX.                          FMD
*         5.  LOAD THE LOWER DIFFERENCE REGISTER WITH A DATA PATTERN OF  FMD
*             55 HEX AND VERIFY THAT THE LOWER DIFFERENCE REGISTER       FMD
*             CONTAINS THE DATA PATTERN 55 HEX.                          FMD
*         6.  LOAD THE LOWER DIFFERENCE REGISTER WITH A ONES DATA        FMD
*             PATTERN AND VERIFY THAT THE BUS IN STATUS IS EQUAL TO ALL  FMD
*             ONES.                                                      FMD
*         7.  CHECK THAT THE UPPER AND LOWER CYLINDER REGISTERS, UPPER   FMD
*             DIFFERENCE REGISTER, AND HEAD REGISTER CONTAIN ALL ZEROS.  FMD
*         8.  VERIFY THAT THE LOWER DIFFERENCE REGISTER CONTAINS ALL     FMD
*             ONES.                                                      FMD
*         9.  ISSUE A RTZ COMMAND TO THE FIXED MODULE DRIVE.             FMD
*         10. VERIFY THAT THE LOWER DIFFERENCE REGISTER CONTAINS ALL     FMD
*             ZEROS.                                                     FMD
*         11. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/ 
*         ENTRY-
*         NO ENTRY REQUIREMENTS.
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PR0DUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD98S - PROCESS ERRORS.                                       FMD
*         FMD98T - PROCESS ERRORS.                                       FMD
*         FMD98U - PROCESS ERRORS.                                       FMD
*         FMD98V - PROCESS ERRORS.                                       FMD
*         FMD98W - PROCESS ERRORS.                                       FMD
*         FMD98X - PROCESS ERRORS.                                       FMD
*         FMD98Y - PROCESS ERRORS.                                       FMD
*         FMD98Z - PROCESS ERRORS.                                       FMD
*         FMD980 - PROCESS ERRORS.                                       FMD
*         FMD982 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD983 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PR0DUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD98S - PROCESS ERRORS.
*         FHD98T - PROCESS ERRORS.
*         FHD98U - PROCESS ERRORS.
*         FHD98V - PROCESS ERRORS.
*         FHD98W - PROCESS ERRORS.
*         FHD98X - PROCESS ERRORS.
*         FHD98Y - PROCESS ERRORS.
*         FHD98Z - PROCESS ERRORS.
*         FHD980 - PROCESS ERRORS.
*         FHD982 - PROCESS ISOLATION INFORMATION. 
*         FHD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD98T - PROCESS ERRORS.
*         FLD98U - PROCESS ERRORS.
*         FLD98Y - PROCESS ERRORS.
*         FLD98X - PROCESS ERRORS.
*         FLD98V - PROCESS ERRORS.
*         FLD98W - PROCESS ERRORS.
*         FLD980 - PROCESS ERRORS.
*         FLD982 - PROCESS ISOLATION INFORMATION. 
*         FLD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD12 - LOWER DIFF. TEST                                       FMD
2  FORMAT FMD12 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD12 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD12 - LOWER DIFF. TEST
2  FORMAT FHD12 - EC *DECD, LC = *DECD
3  FORMAT FHD12 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD12 - LOWER DIFF. TEST
2  FORMAT FLD12 - EC *DECD, LC = *DECD
3  FORMAT FLD12 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSV=2                      FMD
   EQUATE CH8=10, DRS=200, DSR=400, COTRK=40, RTZ=111                    FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 43,4383,4383,4380,8182,8483,4983                       FMD
*                                                                        FMD
/         BUS OUT DATA FOR DRIVE COMMANDS.                               FMD
*                                                                        FMD
   DATA (OB(20),H) 0,AA00,5500,FF00,0,0,0                                FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
   DATA (OB(40),H) 0,AAAA,5555,FF00,0,FF,0                               FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS) AND DSR EQ 0) ERROR 11/0 GOTO 72  *NO SELECT               FMD
   IF(SB(CDS) AND DRS EQ 0) ERROR 13/1 GOTO 70  *READY/SAFE              FMD
   OUT,CH=CH8,0,RTZ,ABT 72         *ISSUE A RTZ SEEK                     FMD18
   DELAY,300D MSEC                 *WAIT FOR RTZ TO COMPLETE             FMD18
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
30 B9=OB(B13)                *DRIVE COMMAND FROM THE TABLE               FMD
   B10=OB(B13+20)            *BUS OUT FROM THE TABLE                     FMD
   B11=OB(B13+40)            *EXPECTED BUS IN FROM TABLE                 FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 OUT,CH=CH8,B10,B9,ABT 72      *ISSUE COMMAND TO DRIVE                 FMD
   IF(B13 EQ 14)DELAY 300D MSEC  *DELAY IF RTZ COMMAND                   FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 72        *READ CHANNEL STATUSES                   FMD
   B12=SB(CBIS)                 *SAVE BUS IN STATUS                      FMD
*                                                                        FMD
/         CHECK RTZ COMMAND STATUSES.                                    FMD
*                                                                        FMD
   IF(B13 NE 14) GOTO 34                 *IF NOT RTZ COMMAND             FMD
   IF(SB(CCDS)AND COTRK EQ 0)ERROR 14/2 GOTO 72  *OFF TRACK              FMD
   GOTO 36                           *GO TO REPEAT CONDITION             FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE COMMAND.                          FMD
*                                                                        FMD
34 IF(B11 EQ B12) GOTO 36             *BUS IN STATUS CORRECT             FMD
   IF(B13 EQ 1) ERROR 10/61 GOTO 72   *IF 43 DRIVE COMMAND               FMD
   IF(B13 EQ 2) ERROR 12/62 GOTO 72   *IF 43 DRIVE COMMAND               FMD
   IF(B13 EQ 3) ERROR 15/63 GOTO 72   *IF 83 DRIVE COMMAND               FMD
   IF(B13 EQ 4) ERROR 21/64 GOTO 72   *IF 43 DRIVE COMMAND               FMD
   IF(B13 EQ 5) ERROR 0/65 GOTO 72    *IF 83 DRIVE COMMAND               FMD
   IF(B13 EQ 6) ERROR 4/66 GOTO 72    *IF 43 DRIVE COMMAND               FMD
   IF(B13 EQ 7) ERROR 7/67 GOTO 72    *IF 80 DRIVE COMMAND               FMD
   IF(B13 EQ 10) ERROR 13/70 GOTO 72  *IF 81 DRIVE COMMAND               FMD
   IF(B13 EQ 11) ERROR 17/71 GOTO 72  *IF 82 DRIVE COMMAND               FMD
   IF(B13 EQ 12) ERROR 23/72 GOTO 72  *IF 84 DRIVE COMMAND               FMD
   IF(B13 EQ 13) ERROR 0/73 GOTO 72   *IF 83 DRIVE COMMAND               FMD
   ERROR 3/74 GOTO 72                 *IF 83 DRIVE COMMAND               FMD
36 GOSUB 74                      *PROCESS REPEAT CONDITION               FMD
   GOTO 30 WHILE(B13+1 NE 15)  *LOOP TO DO ALL CMDS TO DRIVE             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
40 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                                 *EXIT THE MODULE                 FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 72         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 72                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 73    *IF SCOPING LOOP                         FMD
   B0=12D                       *MODULE NUMBER                           FMD
   CALL 98S                     *REPORT THE ERROR                        FMD
   CALL 98C                     *ISOLATE READY/SAFE ERROR                FMD
   GOTO 73                      *GO TO REPEAT CONDITION                  FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=12D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 98S       *IF NO SCOPING LOOP                 FMD
73 IF(B13 EQ 16) ENDSUB GOTO 40          *IF CONDITION 16                FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26              *IF CONDITION 0              FMD
   ENDSUB GOTO 36                        *CONDITIONS 1-15                FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 72     *CONNECT TO FIXED MODULE DRIVE             FMD
   ENDSUB GOTO 32             *REPEAT CONDITIONS 1-15                    FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
   END 20                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD13,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD13,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD13,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.13 HEAD REGISTER TEST                                            FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD13 TESTS THAT THE BITS IN THE HEAD REGISTER CAN BE LOADED   FMD
*ENDIF
*IF DEF,PFMD
*         FHD13 TESTS THAT THE BITS IN THE HEAD REGISTER CAN BE LOADED
*ENDIF
*IF DEF,LSFMD 
*         FLD13 TESTS THAT THE BITS IN THE HEAD REGISTER CAN BE LOADED
*ENDIF
*         PROPERLY WITHOUT DESTROYING THE CONTENTS OF ANY OTHER          FMD
*         REGISTERS AND THAT OTHER REGISTERS REGISTERS DOES NOT DESTROY  FMD
*         THE CONTENTS OF THE HEAD REGISTER.                             FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT SELECT AND RESERVED AND READY AND SAFE ARE     FMD
*             ACTIVE.                                                    FMD
*         3.  LOAD THE HEAD REGISTER WITH A ZEROS DATA STATUS IS EQUAL   FMD
*             TO ALL ZEROS.                                              FMD
*         4.  LOAD THE HEAD REGISTER WITH A DATA PATTERN OF AA HEX AND   FMD
*IF DEF,SFMD
*             VERIFY THAT THE HEAD REGISTER CONTAINS THE DATA PATTERN AA FMD
*ENDIF
*IF DEF,PFMD
*             VERIFY THAT HEAD REGISTER CONTAINS THE DATA PATTERN 2A
*ENDIF
*IF DEF,LSFMD 
*             VERIFY THAT HEAD REGISTER CONTAINS THE PATTERN AA 
*ENDIF
*             HEX.                                                       FMD
*         5.  LOAD THE HEAD REGISTER WITH A DATA PATTERN OF 55 HEX AND   FMD
*IF DEF,SFMD
*             VERIFY THAT THE HEAD REGISTER CONTAINS THE DATA PATTERN 55 FMD
*ENDIF
*IF DEF,PFMD
*             VERIFY THAT HEAD REGISTER CONTAINS THE DATA PATTERN 15
*ENDIF
*IF DEF,LSFMD 
*             VERIFY THAT HEAD REGISTER CONTAINS THE PATTERN 55 
*ENDIF
*             HEX.                                                       FMD
*         6.  LOAD THE HEAD REGISTER WITH A ONES DATA PATTERN AND VERIFY FMD
*             THAT THE BUS IN STATUS IS EQUAL TO ALL ONES.               FMD
*         7.  CHECK THAT THE UPPER AND LOWER CYLINDER REGISTERS, UPPER   FMD
*             AND LOWER DIFFERENCE REGISTERS CONTAIN ALL ZEROS.          FMD
*         8.  VERIFY THAT THE HEAD REGISTER CONTAINS ALL ONES.           FMD
*         9.  ISSUE A RTZ COMMAND TO THE FIXED MODULE DRIVE.             FMD
*         10. VERIFY THAT THE HEAD REGISTER CONTAINS ALL ZEROS.          FMD
*         11. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD98S - PROCESS ERRORS.                                       FMD
*         FMD98T - PROCESS ERRORS.                                       FMD
*         FMD98U - PROCESS ERRORS.                                       FMD
*         FMD98V - PROCESS ERRORS.                                       FMD
*         FMD98W - PROCESS ERRORS.                                       FMD
*         FMD98X - PROCESS ERRORS.                                       FMD
*         FMD98Y - PROCESS ERRORS.                                       FMD
*         FMD98Z - PROCESS ERRORS.                                       FMD
*         FMD980 - PROCESS ERRORS.                                       FMD
*         FMD981 - PROCESS ERRORS.                                       FMD
*         FMD982 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD983 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD98S - PROCESS ERRORS.
*         FHD98T - PROCESS ERRORS.
*         FHD98U - PROCESS ERRORS.
*         FHD98V - PROCESS ERRORS.
*         FHD98W - PROCESS ERRORS.
*         FHD98X - PROCESS ERRORS.
*         FHD98Y - PROCESS ERRORS.
*         FHD98Z - PROCESS ERRORS.
*         FHD980 - PROCESS ERRORS.
*         FHD981 - PROCESS ERRORS.
*         FHD982 - PROCESS ISOLATION INFORMATION. 
*         FHD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD98T - PROCESS ERRORS.
*         FLD98U - PROCESS ERRORS.
*         FLD98V - PROCESS ERRORS.
*         FLD98W - PROCESS ERRORS.
*         FLD98X - PROCESS ERRORS.
*         FLD98Y - PROCESS ERRORS.
*         FLD981 - PROCESS ERRORS.
*         FLD982 - PROCESS ISOLATION INFORMATION. 
*         FLD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD13 - HEAD REGISTER TEST                                     FMD
2  FORMAT FMD13 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD13 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD13 - HEAD REGISTER TEST
2  FORMAT FHD13 - EC *DECD, LC = *DECD
3  FORMAT FHD13 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD13 - HEAD REGISTER TEST
2  FORMAT FLD13 - EC *DECD, LC = *DECD
3  FORMAT FLD13 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSV=2                      FMD
   EQUATE CH8=10, DRS=200, DSR=400, COTRK=40, RTZ=111                    FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 44,4484,4484,4480,8182,8384,4984                       FMD
*                                                                        FMD
/         BUS OUT DATA FOR DRIVE COMMANDS.                               FMD
*                                                                        FMD
   DATA (OB(20),H) 0,AA00,5500,FF00,0,0,0                                FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
*IF DEF,SFMD
   DATA (OB(40),H) 0,AAAA,5555,FF00,0,FF,0                               FMD
*ENDIF
*IF DEF,PFMD
   DATA (OB(40),H) 0,2A2A,1515,3F00,0,3F,0
*ENDIF
*IF DEF,LSFMD 
   DATA (OB(40),H) 0,AAAA,5555,FF00,0,FF,0
*ENDIF
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 16/0 GOTO 72  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 13/1 GOTO 70  *READY/SAFE                FMD
   OUT,CH=CH8,0,RTZ,ABT 72         *ISSUE A RTZ SEEK                     FMD18
   DELAY,300D MSEC                 *WAIT FOR RTZ TO COMPLETE             FMD18
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
30 B9=OB(B13)                *DRIVE COMMAND FROM THE TABLE               FMD
   B10=OB(B13+20)            *BUS OUT FROM THE TABLE                     FMD
   B11=OB(B13+40)            *EXPECTED BUS IN FROM TABLE                 FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 OUT,CH=CH8,B10,B9,ABT 72      *ISSUE COMMAND TO DRIVE                 FMD
   IF(B13 EQ 14)DELAY 300D MSEC  *DELAY IF RTZ COMMAND                   FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 72         *READ CHANNEL STATUSES                  FMD
   B12=SB(CBIS)                  *SAVE BUS IN STATUS                     FMD
*                                                                        FMD
/         CHECK RTZ COMMAND STATUSES.                                    FMD
*                                                                        FMD
   IF(B13 NE 14) GOTO 34                 *IF NOT RTZ COMMAND             FMD
   IF(SB(CCDS)AND COTRK EQ 0)ERROR 14/2 GOTO 72  *OFF TRACK              FMD
   GOTO 36                           *GO TO REPEAT CONDITION             FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE COMMAND.                          FMD
*                                                                        FMD
34 IF(B11 EQ B12) GOTO 36             *BUS IN STATUS CORRECT             FMD
   IF(B13 EQ 1) ERROR 5/75 GOTO 72     *IF 44 DRIVE COMMAND              FMD
   IF(B13 EQ 2) ERROR 7/76 GOTO 72     *IF 44 DRIVE COMMAND              FMD
   IF(B13 EQ 3) ERROR 11/77 GOTO 72    *IF 84 DRIVE COMMAND              FMD
   IF(B13 EQ 4) ERROR 14/100 GOTO 72   *IF 44 DRIVE COMMAND              FMD
   IF(B13 EQ 5) ERROR 16/101 GOTO 72   *IF 84 DRIVE COMMAND              FMD
   IF(B13 EQ 6) ERROR 21/102 GOTO 72   *IF 44 DRIVE COMMAND              FMD
   IF(B13 EQ 7) ERROR 23/103 GOTO 72   *IF 80 DRIVE COMMAND              FMD
   IF(B13 EQ 10) ERROR 0/104 GOTO 72   *IF 81 DRIVE COMMAND              FMD
   IF(B13 EQ 11) ERROR 3/105 GOTO 72   *IF 82 DRIVE COMMAND              FMD
   IF(B13 EQ 12) ERROR 6/106 GOTO 72   *IF 83 DRIVE COMMAND              FMD
   IF(B13 EQ 13) ERROR 11/107 GOTO 72  *IF 84 DRIVE COMMAND              FMD
   ERROR 15/110 GOTO 72                *IF 84 DRIVE COMMAND              FMD
36 GOSUB 74                      *PROCESS REPEAT CONDITION               FMD
   GOTO 30 WHILE(B13+1 NE 15)  *LOOP TO DO ALL CMDS TO DRIVE             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
40 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                                 *EXIT THE MODULE                 FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 72         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 72                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 73    *IF SCOPING LOOP                         FMD
   B0=13D                       *MODULE NUMBER                           FMD
   CALL 98S                     *REPORT THE ERROR                        FMD
   CALL 98C                     *ISOLATE READY/SAFE ERROR                FMD
   GOTO 73                      *GO TO REPEAT CONDITION                  FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=13D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 98S       *IF NO SCOPING LOOP                 FMD
73 IF(B13 EQ 16) ENDSUB GOTO 40          *IF CONDITION 16                FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26              *IF CONDITION 0              FMD
   ENDSUB GOTO 36                        *CONDITIONS 1-15                FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 72     *CONNECT TO FIXED MODULE DRIVE             FMD
   ENDSUB GOTO 32             *REPEAT CONDITIONS 1-15                    FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
   END 20                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD14,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD14,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD14,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.14 48, 49 STATUS TEST                                            FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD14 CHECKS THE STATUSES FROM THE FIXED MODULE DRIVE DURING   FMD
*ENDIF
*IF DEF,PFMD
*         FHD14 CHECKS THE STATUSES FROM THE FIXED MODULE DRIVE DURING
*ENDIF
*IF DEF,LSFMD 
*         FLD14 CHECKS THE STATUSES FROM THE FIXED MODULE DRIVE DURING
*ENDIF
*         AND FOLLOWING THE EXECUTION OF THE RTZ COMMAND AND SEEK        FMD
*         COMMAND.                                                       FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2   ISSUE A RTZ COMMAND TO THE FIXED MODULE DRIVE.             FMD
*         3.  VERIFY THE DRIVE GOES OFF CYLINDER AT THE START OF THE     FMD
*             COMMAND.                                                   FMD
*         4.  DELAY 300 MILLISECONDS AND VERIFY THAT THE DRIVE IS ON     FMD
*             CYLINDER AND READY AND SAFE.                               FMD
*         5.  CHECK THE BUS IN STATUS FOR BEING EQUAL TO 10 HEX. IF IT   FMD
*             IS NOT, REPORT AN ERROR INDICATING THE STATUS BIT THAT WAS FMD
*             INCORRECT.                                                 FMD
*         6   ISSUE A SEEK COMMAND TO THE FIXED MODULE DRIVE.            FMD
*         7.  VERIFY THAT STATUS VALID IS SET, THE DRIVE IS READY AND    FMD06
*             SAFE, AND THE DRIVE IS OFF CYLINDER AT START OF THE        FMD
*             COMMAND.                                                   FMD
*         8.  DELAY 300 MILLISECONDS AND VERIFY THAT THE DRIVE IS ON     FMD
*             CYLINDER.                                                  FMD
*         9.  CHECK THE BUS IN STATUS FOR BEING EQUAL TO 10 HEX. IF IT   FMD
*             IS NOT, REPORT AN ERROR INDICATING THE STATUS BIT THAT WAS FMD
*             INCORRECT.                                                 FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD984 - PROCESS ERRORS.                                       FMD
*         FMD985 - PROCESS ERRORS.                                       FMD
*         FMD986 - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD984 - PROCESS ERRORS.
*         FHD985 - PROCESS ERRORS.
*         FHD986 - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD984 - PROCESS ERRORS.
*         FLD985 - PROCESS ERRORS.
*         FLD986 - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - DRIVE COMMAND.                                  FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD14 - 48, 49 STATUS TEST                                     FMD
2  FORMAT FMD14 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD14 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD14 - 48, 49 STATUS TEST
2  FORMAT FHD14 - EC *DECD, LC = *DECD
3  FORMAT FHD14 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD14 - 48, 49 STATUS TEST
2  FORMAT FLD14 - EC *DECD, LC = *DECD
3  FORMAT FLD14 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSV=2                      FMD
   EQUATE CH8=10, DRS=200, DSR=400, COTRK=40, RTZ=111                    FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 49,4800                                                FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 60                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 20/0 GOTO 72  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 22/1 GOTO 70  *READY/SAFE                FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
30 B10=OB(B13)               *DRIVE COMMAND FROM THE TABLE               FMD
   B11=10                    *EXPECTED BUS IN STATUS                     FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 OUT,CH=CH8,0,B10,ABT 72    *ISSUE COMMAND TO DRIVE                    FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES BEFORE DELAY.             FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 72      *READ CHANNEL STATUSES                     FMD
   B12=SB(CBIS)               *SAVE BUS IN STATUS                        FMD
   DELAY 300D MSEC            *DELAY FOR SEEK TO COMPLETE                FMD
   IF(B13 NE 1) GOTO 34       *IF NOT RTZ COMMAND                        FMD
*                                                                        FMD
/         CHECK RTZ COMMAND STATUSES.                                    FMD
*                                                                        FMD
   IF(SB(CCDS)AND COTRK NE 0)ERROR 23/2 GOTO 72  *OFF TRACK              FMD
   GOTO 36                              *GO TO READ STATUSES             FMD
*                                                                        FMD
/         CHECK SEEK COMMAND STATUSES.                                   FMD
*                                                                        FMD
34 IF(SB(CCDS)AND CDSV EQ 0)ERROR 22/15 GOTO 72  *BUS VALID              FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 24/16 GOTO 70  *READY/SAFE             FMD
*                                                                        FMD
/         READ 7155 CONTROLLER CHANNEL STATUSES AFTER DELAY.             FMD
*                                                                        FMD
36 STATUS,CHANNEL ABT 72             *READ CHANNEL STATUSES              FMD
   IF(B13 NE 1) GOTO 40              *IF NOT RTZ COMMAND                 FMD
*                                                                        FMD
/         CHECK RTZ COMMAND STATUSES.                                    FMD
*                                                                        FMD
   IF(SB(CCDS)AND COTRK EQ 0)ERROR 25/3 GOTO 72  *OFF TRACK              FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 27/4 GOTO 70   *READY/SAFE             FMD
   GOTO 42                        *GO TO CHECK BUS IN STATUS             FMD
40 IF(SB(CCDS)AND COTRK EQ 0)ERROR 2/20 GOTO 72   *OFF TRACK             FMD
42 IF(B12 EQ B11) GOTO 46             *BUS IN STATUS CORRECT             FMD
   IF(B13 NE 1) GOTO 44               *IF NOT RTZ COMMAND                FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE RTZ COMMAND.                      FMD
*                                                                        FMD
   IF(B12 AND 1 NE 0) ERROR 0/5 GOTO 72       *BUS IN BIT 0              FMD
   IF(B12 AND 2 NE 0) ERROR 3/6 GOTO 72       *BUS IN BIT 1              FMD
   IF(B12 AND 4 NE 0) ERROR 5/7 GOTO 72       *BUS IN BIT 2              FMD
   IF(B12 AND 10 EQ 0) ERROR 7/10 GOTO 72     *BUS IN BIT 3              FMD
   IF(B12 AND 20 NE 0) ERROR 12/11 GOTO 72    *BUS IN BIT 4              FMD
   IF(B12 AND 40 NE 0) ERROR 14/12 GOTO 72    *BUS IN BIT 5              FMD
   IF(B12 AND 100 NE 0) ERROR 16/13 GOTO 72   *BUS IN BIT 6              FMD
   ERROR 20/14 GOTO 72                        *BUS IN BIT 7              FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE SEEK COMMAND.                     FMD
*                                                                        FMD
44 IF(B12 AND 1 NE 0) ERROR 4/21 GOTO 72      *BUS IN BIT 0              FMD
   IF(B12 AND 2 NE 0) ERROR 6/22 GOTO 72      *BUS IN BIT 1              FMD
   IF(B12 AND 4 NE 0) ERROR 10/23 GOTO 72     *BUS IN BIT 2              FMD
   IF(B12 AND 10 EQ 0) ERROR 12/24 GOTO 72    *BUS IN BIT 3              FMD
   IF(B12 AND 20 NE 0) ERROR 14/25 GOTO 72    *BUS IN BIT 4              FMD
   IF(B12 AND 40 NE 0) ERROR 16/26 GOTO 72    *BUS IN BIT 5              FMD
   IF(B12 AND 100 NE 0) ERROR 20/27 GOTO 72   *BUS IN BIT 6              FMD
   ERROR 22/30 GOTO 72                        *BUS IN BIT 7              FMD
46 GOSUB 74                      *PROCESS REPEAT CONDITION               FMD
   GOTO 30 WHILE(B13+1 NE 3)   *LOOP TO DO TWO CMDS TO DRIVE             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
50 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                                 *EXIT THE MODULE                 FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
60 RES,DRIVE,FAULT,ABT 62    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
62 IF(EC AND 77 NE 25) GOTO 72         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 72                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 73    *IF SCOPING LOOP                         FMD
   B0=14D                       *MODULE NUMBER                           FMD
   CALL 984                     *REPORT THE ERROR                        FMD
   CALL 98C                     *ISOLATE READY/SAFE ERROR                FMD
   GOTO 73                      *GO TO REPEAT CONDITION                  FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=14D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 984       *IF NO SCOPING LOOP                 FMD
73 IF(B13 EQ 3) ENDSUB GOTO 50          *IF CONDITION 3                  FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26              *IF CONDITION 0              FMD
   ENDSUB GOTO 46                        *CONDITIONS 1-15                FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 72     *CONNECT TO FIXED MODULE DRIVE             FMD
   ENDSUB GOTO 32             *REPEAT CONDITIONS 1-15                    FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
   END 20                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD15,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD15,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD15,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.15 4A, 4B STATUS TEST                                            FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD15 CHECKS THE STATUSES FROM THE FIXED MODULE DRIVE          FMD
*ENDIF
*IF DEF,PFMD
*         FHD15 CHECKS THE STATUSES FROM THE FIXED MODULE DRIVE 
*ENDIF
*IF DEF,LSFMD 
*         FLD15 CHECKS THE STATUSES FROM THE FIXED MODULE DRIVE 
*ENDIF
*         FOLLOWING THE EXECUTION OF THE CLEAR FAULTS COMMAND (4A) AND   FMD
*         THE RELEASE COMMAND (4B).                                      FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2   ISSUE A CLEAR FAULTS COMMAND TO THE FIXED MODULE DRIVE.    FMD
*         3.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND.                        FMD
*         4.  VERIFY THAT THE BUS IN STATUS EQUALS 10 HEX.  IF IT IS     FMD
*             NOT, REPORT AN ERROR INDICATING THE STATUS BIT THAT WAS    FMD
*             INCORRECT.                                                 FMD
*         5.  ISSUE A RELEASE COMMAND TO THE FIXED MODULE DRIVE.         FMD
*         6.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND.                        FMD
*         7.  REPORT AND ERROR IF SELECT AND RESERVED IS ACTIVE          FMD
*             FOLLOWING EXECUTION OF THE COMMAND.                        FMD
*         8.  VERIFY THAT THE BUS IN STATUS IS EQUAL TO THE BIT FOR THE  FMD
*             CHANNEL CONNECTED TO THE DRIVE.                            FMD
*         9.  RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD89B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD984 - PROCESS ERRORS.                                       FMD
*         FMD985 - PROCESS ERRORS.                                       FMD
*         FMD986 - PROCESS ERRORS.                                       FMD
*         FMD987 - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD89B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD984 - PROCESS ERRORS.
*         FHD985 - PROCESS ERRORS.
*         FHD986 - PROCESS ERRORS.
*         FHD987 - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD984 - PROCESS ERRORS.
*         FLD985 - PROCESS ERRORS.
*         FLD986 - PROCESS ERRORS.
*         FLD987 - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND                                    FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD15 - 4A, 4B STATUS TEST                                     FMD
2  FORMAT FMD15 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD15 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD15 - 4A, 4B STATUS TEST
2  FORMAT FHD15 - EC *DECD, LC = *DECD
3  FORMAT FHD15 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD15 - 4A, 4B STATUS TEST
2  FORMAT FLD15 - EC *DECD, LC = *DECD
3  FORMAT FLD15 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 20/0 GOTO 72  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 22/1 GOTO 70  *READY/SAFE                FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE A CLEAR FAULTS COMMAND TO THE 885 DRIVE.                 FMD
*                                                                        FMD
30 B9=112                    *CLEAR FAULTS DRIVE COMMAND                 FMD
   B10=0                     *BUS OUT DATA                               FMD
   B11=11                    *EXPECTED BUS IN STATUS                     FMD
   OUT,CH=CH8,0,B9,ABT 72    *ISSUE COMMAND TO DRIVE                     FMD
   STATUS,CHANNEL ABT 72     *READ CHANNEL STATUSES                      FMD
   B12=SB(CBIS)              *SAVE BUS IN STATUS                         FMD
*                                                                        FMD
/         CHECK CLEAR FAULTS COMMAND STATUSES.                           FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 22/15 GOTO 72  *BUS VALID              FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 25/31 GOTO 70  *READY/SAFE             FMD
   IF(B12 EQ B11) GOTO 40             *BUS IN STATUS CORRECT             FMD
   IF(B12 AND 1 EQ 0) ERROR 0/32 GOTO 72      *BUS IN BIT 0              FMD18
   IF(B12 AND 2 NE 0) ERROR 2/33 GOTO 72      *BUS IN BIT 1              FMD
   IF(B12 AND 4 NE 0) ERROR 4/34 GOTO 72      *BUS IN BIT 2              FMD
   IF(B12 AND 10 EQ 0) ERROR 6/35 GOTO 72     *BUS IN BIT 3              FMD
   IF(B12 AND 20 NE 0) ERROR 10/36 GOTO 72    *BUS IN BIT 4              FMD
   IF(B12 AND 40 NE 0) ERROR 12/37 GOTO 72    *BUS IN BIT 5              FMD
   IF(B12 AND 100 NE 0) ERROR 14/40 GOTO 72   *BUS IN BIT 6              FMD
   ERROR 16/41 GOTO 72                        *BUS IN BIT 7              FMD
   IF(B13 EQ 2) GOTO 34                      *IF CONDITION 2             FMD
32 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=2                           *CONDITION NUMBER 2                   FMD
*                                                                        FMD
/         ISSUE A RELEASE COMMAND TO THE 885 DRIVE.                      FMD
*                                                                        FMD
34 B9=113                          *RELEASE DRIVE COMMAND                FMD
   OUT,CH=CH8,0,B9,ABT 72          *ISSUE COMMAND TO DRIVE               FMD
   STATUS,CHANNEL ABT 72           *READ CHANNEL STATUSES                FMD
   B12=SB(CBIS)                    *SAVE BUS IN STATUS                   FMD
*                                                                        FMD
/         CHECK RELEASE COMMAND STATUSES.                                FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 22/15 GOTO 72  *BUS VALID              FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 21/42 GOTO 72  *READY/SAFE             FMD
   IF(SB(CCDS)AND CDSR NE 0)ERROR 23/43 GOTO 72  *SELECTED               FMD
   IF(ES AND RC EQ 0) B13=3           *CONDITION NUMBER 3                FMD
   B11=100                            *EXPECT BUS IN STATUS              FMD
   IF(B12 EQ B11) GOTO 36             *CHANNEL 1 CONNECTED               FMD
   B11=200                            *EXPECT BUS IN STATUS              FMD
   IF(B12 EQ B11) GOTO 36             *CHANNEL 2 CONNECTED               FMD
   ERROR 24/44 GOTO 72                *BUS IN STATUS ERROR               FMD
36 GOSUB 74                      *PROCESS REPEAT CONDITION               FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=4                         *CONDITION NUMBER 4                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
40 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                                 *EXIT THE MODULE                 FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 72         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 72                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 73    *IF SCOPING LOOP                         FMD
   B0=15D                       *MODULE NUMBER                           FMD
   CALL 984                     *REPORT THE ERROR                        FMD
   CALL 98C                     *ISOLATE READY/SAFE ERROR                FMD
   GOTO 73                      *GO TO REPEAT CONDITION                  FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=15D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 984       *IF NO SCOPING LOOP                 FMD
73 IF(B13 EQ 4) ENDSUB GOTO 40          *IF CONDITION 4                  FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26              *IF CONDITION 0              FMD
   IF(B13 EQ 1) ENDSUB GOTO 32              *IF CONDITION 1              FMD
   ENDSUB GOTO 36                           *CONDITIONS 2, 3             FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 72     *CONNECT TO FIXED MODULE DRIVE             FMD
   IF(B13 EQ 3)ENDSUB GOTO 34  *REPEAT CONDITION 3                       FMD
   ENDSUB GOTO 30              *REPEAT CONDITIONS 1, 2                   FMD
76 MSG 1 TO DISPLAY            *DISPLAY RUNNING MESSAGE                  FMD
   RETURN                      *EXIT THE SUBROUTINE                      FMD
   END 20                      *END OF THE MODULE                        FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD16,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD16,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD16,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.16 4C,4E,4F STATUS TEST                                          FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD16 CHECKS THE STATUSES FROM THE FIXED MODULE DRIVE          FMD
*ENDIF
*IF DEF,PFMD
*         FHD16 CHECKS THE STATUSES FROM THE FIXED MODULE DRIVE 
*ENDIF
*IF DEF,LSFMD 
*         FLD16 CHECKS THE STATUSES FROM THE FIXED MODULE DRIVE 
*ENDIF
*         FOLLOWING THE EXECUTION OF THE 4E, 4F, AND 4C COMMANDS.        FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2   ISSUE A 4E COMMAND TO THE FIXED MODULE DRIVE.              FMD
*         3.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND.                        FMD
*         4.  VERIFY THAT THE BUS IN STATUS IS EQUAL TO ZERO.            FMD
*         5.  ISSUE A 4F COMMAND TO THE FIXED MODULE DRIVE.              FMD
*         6.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND.                        FMD
*         7.  VERIFY THAT THE BUS IN STATUS IS EQUAL TO ZERO.            FMD
*         8   ISSUE A 4C COMMAND TO THE FIXED MODULE DRIVE.              FMD
*         9.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND.                        FMD
*         10. VERIFY THAT THE BUS IN STATUS IS EQUAL TO ZERO.            FMD
*         11. ISSUE A 4C COMMAND TO THE FIXED MODULE DRIVE WITH BUS OUT  FMD
*             BIT 0 SET.                                                 FMD
*         12. VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND.                        FMD
*         13. VERIFY THAT THE BUS IN STATUS IS EQUAL TO BUS IN BIT 0.    FMD
*         14. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD984 - PROCESS ERRORS.                                       FMD
*         FMD985 - PROCESS ERRORS.                                       FMD
*         FMD986 - PROCESS ERRORS.                                       FMD
*         FMD987 - PROCESS ERRORS.                                       FMD
*         FMD988 - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD984 - PROCESS ERRORS.
*         FHD985 - PROCESS ERRORS.
*         FHD986 - PROCESS ERRORS.
*         FHD987 - PROCESS ERRORS.
*         FHD988 - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD984 - PROCESS ERRORS.
*         FLD985 - PROCESS ERRORS.
*         FLD986 - PROCESS ERRORS.
*         FLD987 - PROCESS ERRORS.
*         FLD988 - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD. 
1  FORMAT FMD16 - 4C,4E,4F STATUS TEST                                   FMD
2  FORMAT FMD16 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD16 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD16 - 4C,4E,4F STATUS TEST
2  FORMAT FHD16 - EC *DECD, LC = *DECD
3  FORMAT FHD16 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD16 - 4C,4E,4F STATUS TEST
2  FORMAT FLD16 - EC *DECD, LC = *DECD
3  FORMAT FLD16 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 4E,4F4C,4C00                                           FMD
*                                                                        FMD
/         BUS OUT DATA FOR DRIVE COMMANDS.                               FMD
*                                                                        FMD
   DATA (OB(20),H) FF,FF00,100                                           FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
   DATA (OB(40),H) 0,0,100                                               FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 20/0 GOTO 72  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 22/1 GOTO 70  *READY/SAFE                FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
30 B9=OB(B13)                *DRIVE COMMAND FROM THE TABLE               FMD
   B10=OB(B13+20)            *BUS OUT FROM THE TABLE                     FMD
   B11=OB(B13+40)            *EXPECTED BUS IN FROM TABLE                 FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 OUT,CH=CH8,B10,B9,ABT 72      *ISSUE COMMAND TO DRIVE                 FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 72              *READ CHANNEL STATUSES             FMD
   B12=SB(CBIS)                       *SAVE BUS IN STATUS                FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 22/15 GOTO 72  *BUS VALID              FMD
   IF(B13 NE 1) GOTO 34                  *IF NOT CONDITION 1             FMD
*                                                                        FMD
/         CHECK 4E COMMAND STATUSES.                                     FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 25/45 GOTO 72  *READY/SAFE             FMD
   IF(B12 NE B11) ERROR 0/46 GOTO 72    *BUS IN STATUS ERROR             FMD
34 IF(B13 NE 2) GOTO 36                 *IF NOT CONDITION 2              FMD
*                                                                        FMD
/         CHECK 4F COMMAND STATUSES.                                     FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 1/47 GOTO 72  *READY/SAFE              FMD
   IF(B12 NE B11) ERROR 3/50 GOTO 72    *BUS IN STATUS ERROR             FMD
36 IF(B13 NE 3) GOTO 40                 *IF NOT CONDITION 3              FMD
*                                                                        FMD
/         CHECK 4C COMMAND STATUSES.                                     FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 4/51 GOTO 72  *READY/SAFE              FMD
   IF(B12 EQ B11) GOTO 42             *BUS IN STATUS CORRECT             FMD
   IF(B12 AND 200 NE 0)ERROR 24/61 GOTO 72    *BIT 7 ERROR               FMD
   IF(B12 AND 100 NE 0)ERROR 22/60 GOTO 72    *BIT 6 ERROR               FMD
   IF(B12 AND 40 NE 0)ERROR 20/57 GOTO 72     *BIT 5 ERROR               FMD
   IF(B12 AND 20 NE 0)ERROR 16/56 GOTO 72     *BIT 4 ERROR               FMD
   IF(B12 AND 10 NE 0)ERROR 14/55 GOTO 72     *BIT 3 ERROR               FMD
   IF(B12 AND 4 NE 0)ERROR 12/54 GOTO 72      *BIT 2 ERROR               FMD
   IF(B12 AND 2 NE 0)ERROR 10/53 GOTO 72      *BIT 1 ERROR               FMD
   ERROR 6/52 GOTO 72                        *BIT 0 ERROR                FMD
40 IF(B13 NE 4) GOTO 42                  *IF NOT CONDITION 4             FMD
*                                                                        FMD
/         CHECK 4C, BIT 0 COMMAND STATUSES.                              FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 0/62 GOTO 72  *READY/SAFE              FMD
   IF(B12 NE B11) ERROR 3/63 GOTO 72    *BUS IN STATUS ERROR             FMD
42 GOSUB 74                      *PROCESS REPEAT CONDITION               FMD
   GOTO 30 WHILE(B13+1 NE 5)   *LOOP TO DO ALL CMDS TO DRIVE             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
44 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                                 *EXIT THE MODULE                 FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 72         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 72                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 73    *IF SCOPING LOOP                         FMD
   B0=16D                       *MODULE NUMBER                           FMD
   CALL 984                     *REPORT THE ERROR                        FMD
   CALL 98C                     *ISOLATE READY/SAFE ERROR                FMD
   GOTO 73                      *GO TO REPEAT CONDITION                  FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=16D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 984       *IF NO SCOPING LOOP                 FMD
73 IF(B13 EQ 5) ENDSUB GOTO 44          *IF CONDITION 5                  FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26              *IF CONDITION 0              FMD
   ENDSUB GOTO 42                           *CONDITIONS 1-4              FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 72     *CONNECT TO FIXED MODULE DRIVE             FMD
   ENDSUB GOTO 32             *REPEAT CONDITIONS 1-15                    FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
   END 20                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD17,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD17,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD17,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.17 4C BIT 0 STATUS TEST                                          FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD17 CHECKS THE THAT DIFFERENCE COUNTER DECREMENTS CORRECTLY  FMD
*ENDIF
*IF DEF,PFMD
*         FHD17 CHECKS THE THAT DIFFERENCE COUNTER DECREMENTS CORRECTLY 
*ENDIF
*IF DEF,LSFMD 
*         FLD17 CHECKS THAT THE DIFFERENCE COUNTER DECREMENTS CORRECTLY 
*ENDIF
*         FROM 3FF TO ZERO USING THE SET DIAGNOSTICS (4C) DRIVE COMMAND. FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  ISSUE 42 AND 43 COMMANDS TO THE FIXED MODULE DRIVE TO LOAD FMD
*             THE DIFFERENCE REGISTER WITH 3FF.                          FMD
*         3.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF EACH OF THE COMMANDS.               FMD
*         4.  ISSUE 82 AND 83 COMMANDS TO THE FIXED MODULE DRIVE TO      FMD
*             VERIFY THAT THE DIFFERENCE REGISTER WAS LOADED WITH 3FF.   FMD
*         5.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF EACH OF THE COMMANDS.               FMD
*         6.  ISSUE A 4C COMMAND WITH BUS BIT 0 SET (DECREMENT           FMD
*             DIFFERENCE COUNTER) TO DECREMENT THE COUNT IN THE          FMD
*             DIFFERENCE REGISTER BY ONE.                                FMD
*         7.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND AND THAT THE BUS IN     FMD
*             STATUS IS EQUAL TO ONE.                                    FMD
*         8.  ISSUE 82 AND 83 COMMANDS TO THE FIXED MODULE DRIVE TO READ FMD
*             THE CONTENTS OF THE DIFFERENCE REGISTER.                   FMD
*         9.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF EACH OF THE COMMANDS.               FMD
*         10. VERIFY THAT THE CONTENTS OF THE DIFFERENCE REGISTER IS     FMD
*             CORRECT.                                                   FMD
*         11. REPEAT STEPS 6 THROUGH 9 UNTIL THE DIFFERENCE REGISTER     FMD
*             DECREMENTS TO ZERO.                                        FMD
*         13. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD984 - PROCESS ERRORS.                                       FMD
*         FMD985 - PROCESS ERRORS.                                       FMD
*         FMD986 - PROCESS ERRORS.                                       FMD
*         FMD987 - PROCESS ERRORS.                                       FMD
*         FMD988 - PROCESS ERRORS.                                       FMD
*         FMD989 - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD984 - PROCESS ERRORS.
*         FHD985 - PROCESS ERRORS.
*         FHD986 - PROCESS ERRORS.
*         FHD987 - PROCESS ERRORS.
*         FHD988 - PROCESS ERRORS.
*         FHD989 - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD984 - PROCESS ERRORS.
*         FLD985 - PROCESS ERRORS.
*         FLD986 - PROCESS ERRORS.
*         FLD987 - PROCESS ERRORS.
*         FLD988 - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - EXPECTED DIFFERENCE COUNT.                       FMD
*         B8 REGISTER - TEMPORARY STORAGE.                               FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD17 - 4C BIT 0 STATUS TEST                                   FMD
2  FORMAT FMD17 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD17 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD17 - 4C BIT 0 STATUS TEST
2  FORMAT FHD17 - EC *DECD, LC = *DECD
3  FORMAT FHD17 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD17 - 4C BIT 0 STATUS TEST
2  FORMAT FLD17 - EC *DECD, LC = *DECD
3  FORMAT FLD17 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 42,4382,834C,8283,0                                    FMD
*                                                                        FMD
/         BUS OUT DATA FOR DRIVE COMMANDS.                               FMD
*                                                                        FMD
   DATA (OB(20),H) 3,FF00,1,0                                            FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
   DATA (OB(40),H) 3,FF03,FF01,0                                         FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 60                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 20/0 GOTO 72  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 22/1 GOTO 70  *READY/SAFE                FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
30 B7=376                     *SET EXPECTED DIFFERENCE COUNT             FMD
   B13=1                      *CONDITION NUMBER 1                        FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 B9=OB(B13)                  *DRIVE COMMAND FROM THE TABLE             FMD
   B10=OB(B13+20)              *BUS OUT FROM THE TABLE                   FMD
   B11=OB(B13+40)              *EXPECTED BUS IN FROM TABLE               FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
34 OUT,CH=CH8,B10,B9,ABT 72    *ISSUE COMMAND TO DRIVE                   FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 72       *READ CHANNEL STATUSES                    FMD
   B12=SB(CBIS)                *SAVE BUS IN STATUS                       FMD
*                                                                        FMD
/         CHECK STATUSES FROM THE DRIVE.                                 FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 22/15 GOTO 72  *BUS VALID              FMD
   IF(B13 EQ 5) GOTO 36                      *IF CONDITION 5             FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 22/1 GOTO 70  *READY/SAFE              FMD
   GOTO 40                                                               FMD
36 IF(SB(CCDS)AND CDRS EQ 0)ERROR 0/62 GOTO 72  *READY/SAFE              FMD
40 IF(B13 LT 3) GOTO 46                *IF CONDITIONS 1 OR 2             FMD
   IF(B13 GE 6) GOTO 42                *IF CONDITIONS 6 OR 7             FMD
   IF(B12 EQ B11) GOTO 46              *IF BUS IN CORRECT                FMD
   IF(B13 EQ 3) ERROR 5/64 GOTO 72     *82 STATUS ERROR                  FMD
   IF(B13 EQ 4) ERROR 7/65 GOTO 72     *83 STATUS ERROR                  FMD
   ERROR 3/63 GOTO 72                  *4C STATUS ERROR                  FMD
42 IF(B13 NE 6) GOTO 44                *IF NOT CONDITION 6               FMD
   B8=B12                             *SAVE BUS IN STATUS                FMD
   GOTO 46                           *GO TO REPEAT CONDITION             FMD
*                                                                        FMD
/         CHECK THAT THE DIFFERENCE REGISTER IS CORRECT.                 FMD
*                                                                        FMD
44 IF(ES AND SL EQ 0)B13=10           *CONDITION 10                      FMD
   B12=B8 RS 10+B12                   *BUILD ACTUAL STATUS               FMD
   B11=B7                              *EXPECTED STATUS                  FMD
   IF(B12 NE B11)ERROR 13/67 GOTO 72   *COUNTER ERROR                    FMD
46 GOSUB 74                      *PROCESS REPEAT CONDITION               FMD
   GOTO 32 WHILE(B13+1 NE 11)  *LOOP TO DO ALL CMDS TO DRIVE             FMD
   IF(B7 EQ 0) GOTO 52         *IF DIFFERENCE COUNT IS ZERO              FMD
50 PASS 
   B7=B7-1                     *DECREMENT DIFFERENCE COUNT               FMD
   B13=5                       *UPDATE CONDITION NUMBER                  FMD
   GOTO 32                     *LOOP UNTIL COUNTER IS ZERO               FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
52 B13=12                        *CONDITION NUMBER 12                    FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
54 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                                 *EXIT THE MODULE                 FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
60 RES,DRIVE,FAULT,ABT 62    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
62 IF(EC AND 77 NE 25) GOTO 72         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 72                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 73    *IF SCOPING LOOP                         FMD
   B0=17D                       *MODULE NUMBER                           FMD
   CALL 984                     *REPORT THE ERROR                        FMD
   CALL 98C                     *ISOLATE READY/SAFE ERROR                FMD
   GOTO 73                      *GO TO REPEAT CONDITION                  FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=17D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 984       *IF NO SCOPING LOOP                 FMD
73 IF(B13 EQ 12) ENDSUB GOTO 54          *IF CONDITION 11                FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26              *IF CONDITION 0              FMD
   ENDSUB GOTO 46                           *CONDITIONS 1-10             FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 72       *CONNECT TO FIXED MODULE DRIVE
   IF(B13 EQ 11)ENDSUB GOTO 50  *REPEAT CONDITION 11
   IF(B13 EQ 5) GOTO 30       *IF CONDITION 5                            FMD
   IF(B13 EQ 10) GOTO 30      *IF CONDITION 10                           FMD
   ENDSUB GOTO 34             *REPEAT CONDITIONS 1-15                    FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
   END 20                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD18,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD18,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD18,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.18 4C BIT 4 STATUS TEST                                          FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD18 TESTS BITS 1 AND 4 IN THE SET DIAGNOSTICS (4C) DRIVE     FMD
*ENDIF
*IF DEF,PFMD
*         FHD18 TESTS BITS 1 AND 4 IN THE SET DIAGNOSTICS (4C) DRIVE
*ENDIF
*         COMMAND.                                                       FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  ISSUE A 4C COMMAND TO THE DRIVE WITH BUS OUT BIT 1 SET.    FMD
*         3.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND. CHECK THAT THE BUS IN  FMD
*             IS EQUAL TO 02 HEX.                                        FMD
*         4.  ISSUE A 4A COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ALL  FMD
*             ZEROS.                                                     FMD
*         5.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND. CHECK THAT THE BUS IN  FMD
*             IS EQUAL TO 09 HEX.                                        FMD
*         6.  ISSUE A 4C COMMAND TO THE DRIVE WITH BUS OUT BIT 4 SET.    FMD
*         7.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND. CHECK THAT THE BUS IN  FMD
*             IS EQUAL TO 10 HEX. VERIFY THAT ON CYLINDER IS NOT         FMD
*             ACTIVE.                                                    FMD
*         8.  ISSUE A 49 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO.                                                      FMD
*         9.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND. CHECK THAT THE BUS IN  FMD
*             IS EQUAL TO 08 HEX. VERIFY THAT ON CYLINDER IS ACTIVE.     FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD984 - PROCESS ERRORS.                                       FMD
*         FMD985 - PROCESS ERRORS.                                       FMD
*         FMD986 - PROCESS ERRORS.                                       FMD
*         FMD987 - PROCESS ERRORS.                                       FMD
*         FMD988 - PROCESS ERRORS.                                       FMD
*         FMD989 - PROCESS ERRORS.                                       FMD
*         FMD97A - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD984 - PROCESS ERRORS.
*         FHD985 - PROCESS ERRORS.
*         FHD986 - PROCESS ERRORS.
*         FHD987 - PROCESS ERRORS.
*         FHD988 - PROCESS ERRORS.
*         FHD989 - PROCESS ERRORS.
*         FHD97A - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD984 - PROCESS ISOLATION INFORMATION. 
*         FLD985 - PROCESS ERRORS.
*         FLD986 - PROCESS ERRORS.
*         FLD987 - PROCESS ERRORS.
*         FLD988 - PROCESS ERRORS.
*         FLD989 - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - TEMPORARY STORAGE.                               FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD18 - 4C BIT 4 STATUS TEST                                   FMD
2  FORMAT FMD18 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD18 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD18 - 4C BIT 4 STATUS TEST
2  FORMAT FHD18 - EC *DECD, LC = *DECD
3  FORMAT FHD18 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD18 - 4C BIT 4 STATUS TEST
2  FORMAT FLD18 - EC *DECD, LC = *DECD
3  FORMAT FLD18 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 4C,4A4C,4900                                           FMD
*                                                                        FMD
/         BUS OUT DATA FOR DRIVE COMMANDS.                               FMD
*                                                                        FMD
   DATA (OB(20),H) 2,10,0                                                FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
   DATA (OB(40),H) 2,910,800                                             FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 60                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 20/0 GOTO 72  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 22/1 GOTO 70  *READY/SAFE                FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
30 B9=OB(B13)                  *DRIVE COMMAND FROM THE TABLE             FMD
   B10=OB(B13+20)              *BUS OUT FROM THE TABLE                   FMD
   B11=OB(B13+40)              *EXPECTED BUS IN FROM TABLE               FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 OUT,CH=CH8,B10,B9,ABT 72      *ISSUE COMMAND TO DRIVE                 FMD
   IF(B13 EQ 4) DELAY 300D MSEC  *DELAY IF RTZ COMMAND                   FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 72         *READ CHANNEL STATUSES                  FMD
   B8=SB(CCDS)                   *SAVE UNSELECTED STATUS                 FMD
   B12=SB(CBIS)                  *SAVE BUS IN STATUS                     FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(B8 AND CDSV EQ 0)ERROR 22/15 GOTO 72  *BUS VALID                   FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
   IF(B13 EQ 3) GOTO 34                   *IF CONDITION 3                FMD
   IF(B8 AND CDRS NE 0) GOTO 36           *READY/SAFE ACTIVE             FMD
   IF(B13 EQ 1) ERROR 16/70 GOTO 72       *IF CONDITION 1                FMD
   IF(B13 EQ 2) ERROR 22/72 GOTO 72       *IF CONDITION 2                FMD
   ERROR 27/4 GOTO 70                     *IF CONDITION 4                FMD
34 IF(B8 AND CDRS EQ 0)ERROR 24/73 GOTO 72  *READY/SAFE                  FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
36 IF(B12 EQ B11) GOTO 42          *IF BUS IN STATUS CORRECT             FMD
   IF(B13 EQ 1) ERROR 20/71 GOTO 72          *IF CONDITION 1             FMD
   IF(B13 EQ 3) ERROR 26/74 GOTO 72          *IF CONDITION 3             FMD
   IF(B13 EQ 4) GOTO 40                      *IF CONDITION 4             FMD
   IF(B12 AND 200 NE 0) ERROR 16/41          *BUS IN BIT 7               FMD18
   IF(B12 AND 100 NE 0) ERROR 14/40          *BUS IN BIT 6               FMD18
   IF(B12 AND 40 NE 0) ERROR 12/37           *BUS IN BIT 5               FMD18
   IF(B12 AND 20 NE 0) ERROR 10/36           *BUS IN BIT 4               FMD18
   IF(B12 AND 10 EQ 0) ERROR 6/35            *BUS IN BIT 3               FMD18
   IF(B12 AND 4 NE 0) ERROR 4/34             *BUS IN BIT 2               FMD18
   IF(B12 AND 2 NE 0) ERROR 2/33             *BUS IN BIT 1               FMD18
   IF(B12 AND 1 EQ 0) ERROR 0/32             *BUS IN BIT 0               FMD18
   GOTO 72                                   *REPORT ERROR               FMD18
40 IF(B12 AND 200 NE 0) ERROR 20/14          *BUS IN BIT 7               FMD18
   IF(B12 AND 100 NE 0) ERROR 16/13          *BUS IN BIT 6               FMD18
   IF(B12 AND 40 NE 0) ERROR 14/12           *BUS IN BIT 5               FMD18
   IF(B12 AND 20 NE 0) ERROR 12/11           *BUS IN BIT 4               FMD18
   IF(B12 AND 10 EQ 0) ERROR 7/10            *BUS IN BIT 3               FMD18
   IF(B12 AND 4 NE 0) ERROR 5/7              *BUS IN BIT 2               FMD18
   IF(B12 AND 2 NE 0) ERROR 3/6              *BUS IN BIT 1               FMD18
   IF(B12 AND 1 NE 0) ERROR 0/5              *BUS IN BIT 0               FMD18
   GOTO 72                                   *REPORT ERROR               FMD18
*                                                                        FMD
/         CHECK ON CYLINDER STATUS FROM THE DRIVE.                       FMD
*                                                                        FMD
42 IF(B13 NE 3) GOTO 44                  *IF NOT CONDITION 3             FMD
   IF(B8 AND COTRK NE 0)ERROR 0/75 GOTO 72  *ON CYLINDER                 FMD
44 IF(B13 NE 4) GOTO 46                  *IF NOT CONDITION 4             FMD
   IF(B8 AND COTRK EQ 0)ERROR 25/3 GOTO 72  *OFF CYLINDER                FMD
46 GOSUB 74                      *PROCESS REPEAT CONDITION               FMD
   GOTO 30 WHILE(B13+1 NE 5)   *LOOP TO DO ALL CMDS TO DRIVE             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
50 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                                 *EXIT THE MODULE                 FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
60 RES,DRIVE,FAULT,ABT 62    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
62 IF(EC AND 77 NE 25) GOTO 72         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 72                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 73   *IF SCOPING LOOP                          FMD
   B0=18D                      *MODULE NUMBER                            FMD
   CALL 984                    *REPORT THE ERROR                         FMD
   CALL 98C                    *ISOLATE READY/SAFE ERROR                 FMD
   GOTO 73                     *GO TO REPEAT CONDITION                   FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=18D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 984       *IF NO SCOPING LOOP                 FMD
73 IF(B13 EQ 5) ENDSUB GOTO 50          *IF CONDITION 5                  FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26              *IF CONDITION 0              FMD
   ENDSUB GOTO 46                           *CONDITIONS 1-4              FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 72     *CONNECT TO FIXED MODULE DRIVE             FMD
   ENDSUB GOTO 32             *REPEAT CONDITIONS 1-15                    FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
   END 20                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD19,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD19,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD19,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.19 4C BIT 5 STATUS TEST                                          FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD19 TESTS BIT 5 IN THE SET DIAGNOSTICS (4C) DRIVE COMMAND.   FMD
*ENDIF
*IF DEF,PFMD
*         FHD19 TESTS BIT 5 IN THE SET DIAGNOSTICS (4C) DRIVE COMMAND.
*ENDIF
*IF DEF,LSFMD 
*         FLD19 TESTS BIT 5 IN THE SET DIAGNOSTICS (4C) DRIVE COMMAND.
*ENDIF
*         THIS BIT ENABLES ECHO BUS MODE IN THE DRIVE.                   FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  ISSUE A 4C COMMAND TO THE DRIVE WITH BUS OUT BIT 5 SET.    FMD
*         3.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND. CHECK THAT THE BUS IN  FMD
*             IS EQUAL TO 20 HEX.                                        FMD
*         4.  ISSUE A 80 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ALL  FMD
*             ONES.                                                      FMD
*         5.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND. CHECK THAT THE BUS IN  FMD
*             IS EQUAL TO FF HEX.                                        FMD
*         6.  DROP AND RAISE THE SELECT LINE TO THE FIXED MODULE DRIVE   FMD
*             TO CLEAR ECHO BUS MODE.                                    FMD
*         7.  VERIFY THAT SELECT AND RESERVED IS ACTIVE.                 FMD
*         8.  ISSUE A 80 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO FF   FMD
*             HEX.                                                       FMD
*         9.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND. CHECK THAT THE BUS IN  FMD
*             IS EQUAL TO 00 HEX.                                        FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD984 - PROCESS ERRORS.                                       FMD
*         FMD985 - PROCESS ERRORS.                                       FMD
*         FMD986 - PROCESS ERRORS.                                       FMD
*         FMD987 - PROCESS ERRORS.                                       FMD
*         FMD988 - PROCESS ERRORS.                                       FMD
*         FMD989 - PROCESS ERRORS.                                       FMD
*         FMD97A - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD984 - PROCESS ERRORS.
*         FHD985 - PROCESS ERRORS.
*         FHD986 - PROCESS ERRORS.
*         FHD987 - PROCESS ERRORS.
*         FHD988 - PROCESS ERRORS.
*         FHD989 - PROCESS ERRORS.
*         FHD97A - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD984 - PROCESS ERRORS.
*         FLD985 - PROCESS ERRORS.
*         FLD986 - PROCESS ERRORS.
*         FLD987 - PROCESS ERRORS.
*         FLD988 - PROCESS ERRORS.
*         FLD989 - PROCESS ERRORS.
*         FLD97A - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD19 - 4C BIT 5 STATUS TEST                                   FMD
2  FORMAT FMD19 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD19 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD19 - 4C BIT 5 STATUS TEST
2  FORMAT FHD19 - EC *DECD, LC = *DECD
3  FORMAT FHD19 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD19 - 4C BIT 5 STATUS TEST
2  FORMAT FLD19 - EC *DECD, LC = *DECD
3  FORMAT FLD19 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 4C,8000,8000                                           FMD
*                                                                        FMD
/         BUS OUT DATA FOR DRIVE COMMANDS.                               FMD
*                                                                        FMD
   DATA (OB(20),H) 20,FF00,FF00                                          FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
   DATA (OB(40),H) 20,FF00,0                                             FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 20/0 GOTO 72  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 22/1 GOTO 70  *READY/SAFE                FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
30 B9=OB(B13)                  *DRIVE COMMAND FROM THE TABLE             FMD
   B10=OB(B13+20)              *BUS OUT FROM THE TABLE                   FMD
   B11=OB(B13+40)              *EXPECTED BUS IN FROM TABLE               FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 OUT,CH=CH8,B10,B9,ABT 72    *ISSUE COMMAND TO DRIVE                   FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 72       READ CHANNEL STATUSES                     FMD
   B12=SB(CBIS)                SAVE BUS IN STATUS                        FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 22/15 GOTO 72  *BUS VALID              FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDRS NE 0) GOTO 34   *READY/SAFE ACTIVE                FMD
   IF(B13 EQ 1)ERROR 1/76 GOTO 72      *IF CONDITION 1                   FMD
   ERROR 22/1 GOTO 70        *IF CONDITION 2 OR 4 
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
34 IF(B12 EQ B11) GOTO 36          *IF BUS IN STATUS CORRECT             FMD
   IF(B13 EQ 1) ERROR 3/77 GOTO 72     *IF CONDITION 1                   FMD
   IF(B13 EQ 2) ERROR 5/100 GOTO 72    *IF CONDITION 2                   FMD
   ERROR 10/105 GOTO 72                *IF CONDITION 4                   FMD
36 GOSUB 74                       *PROCESS REPEAT CONDITION              FMD
   B13=B13+1                      *INCRMENT CONDITION NUMBER             FMD
   IF(B13 EQ 5) GOTO 42           *IF CONDITION NUMBER 5                 FMD
   IF(B13 NE 3) GOTO 30           *IF CONDITION NUMBER 3                 FMD
40 GOSUB 50                       *RESERVE FMD AGAIN                     FMD18
   IF(SB(CDS) AND DSR EQ 0) ERROR 20/0 GOTO 72  *NO SELECT               FMD
   GOTO 36                        *GO TO REPEAT CONDITION                FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
42 REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
44 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                                 *EXIT THE MODULE                 FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   OUT,CH=8,0,111,ABT 72     *ISSUE RTZ COMMAND TO DRIVE
   DELAY 300D MSEC           *ALLOW RTZ TO COMPLETE 
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 72         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 72                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 73   *IF SCOPING LOOP                          FMD
   B0=19D                      *MODULE NUMBER                            FMD
   CALL 984                    *REPORT THE ERROR                         FMD
   CALL 98C                    *ISOLATE READY/SAFE ERROR                 FMD
   GOTO 73                     *GO TO REPEAT CONDITION                   FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=19D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 984       *IF NO SCOPING LOOP                 FMD
73 IF(B13 EQ 5) ENDSUB GOTO 44          *IF CONDITION 5                  FMD
   IF(B13 EQ 3) ENDSUB GOTO 36          *IF CONDITION 3                  FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26              *IF CONDITION 0              FMD
   IF(ES.AND.RC.EQ.0)OUT,CH=8,40,114,ABT 72   *SET ECHO BUS 
   ENDSUB GOTO 36                          *CONDITIONS 1,2,4             FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   IF(B13 EQ 3) ENDSUB GOTO 40  *REPEAT CONDITION 3                      FMD
   RES,DRIVE,FAULT,ABT 72       *RESERVE FIXED MODULE DRIVE              FMD
   IF(B13.EQ.2)OUT,CH=8,40,114,ABT 72   *ECHO BUS MODE
   ENDSUB GOTO 32             *REPEAT CONDITIONS 1, 2, AND 4             FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
   END 20                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD20,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD20,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD20,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.20 4C BIT 6 STATUS TEST                                          FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD20 TESTS BIT 6 IN THE SET DIAGNOSTICS (4C) DRIVE COMMAND.   FMD
*ENDIF
*IF DEF,PFMD
*         FHD20 TESTS BIT 6 IN THE SET DIAGNOSTICS (4C) DRIVE COMMAND.
*ENDIF
*IF DEF,LSFMD 
*         FLD20 TESTS BIT 6 IN THE SET DIAGNOSTICS (4C) DRIVE COMMAND.
*ENDIF
*         THIS BIT ENABLES ECHO COMMAND MODE IN THE DRIVE.               FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  ISSUE A 4C COMMAND TO THE DRIVE WITH BUS OUT BIT 6 SET.    FMD
*         3.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND. CHECK THAT THE BUS IN  FMD
*             IS EQUAL TO 4C HEX.                                        FMD
*         4.  ISSUE A 4F COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ALL  FMD
*             ZEROS.                                                     FMD
*         5.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND. CHECK THAT THE BUS IN  FMD
*             IS EQUAL TO 4F HEX.                                        FMD
*         6.  DROP AND RAISE THE SELECT LINE TO THE FIXED MODULE DRIVE   FMD
*             TO CLEAR ECHO COMMAND MODE.                                FMD
*         7.  VERIFY THAT SELECT AND RESERVED IS ACTIVE.                 FMD
*         8.  ISSUE A 4F COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO.                                                      FMD
*         9.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND. CHECK THAT THE BUS IN  FMD
*             IS EQUAL TO 00 HEX.                                        FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98Z - PROCESS ERRORS.                                       FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD984 - PROCESS ERRORS.                                       FMD
*         FMD985 - PROCESS ERRORS.                                       FMD
*         FMD986 - PROCESS ERRORS.                                       FMD
*         FMD987 - PROCESS ERRORS.                                       FMD
*         FMD988 - PROCESS ERRORS.                                       FMD
*         FMD989 - PROCESS ERRORS.                                       FMD
*         FMD97A - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98Z - PROCESS ERRORS.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD984 - PROCESS ERRORS.
*         FHD985 - PROCESS ERRORS.
*         FHD986 - PROCESS ERRORS.
*         FHD987 - PROCESS ERRORS.
*         FHD988 - PROCESS ERRORS.
*         FHD989 - PROCESS ERRORS.
*         FHD97A - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD984 - PROCESS ERRORS.
*         FLD985 - PROCESS ERRORS.
*         FLD986 - PROCESS ERRORS.
*         FLD987 - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD20 - 4C BIT 6 STATUS TEST                                   FMD
2  FORMAT FMD20 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD20 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD20 - 4C BIT 6 STATUS TEST
2  FORMAT FHD20 - EC *DECD, LC = *DECD
3  FORMAT FHD20 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD20 - 4C BIT 6 STATUS TEST
2  FORMAT FLD20 - EC *DECD, LC = *DECD
3  FORMAT FLD20 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 4C,4F00,4F00                                           FMD
*                                                                        FMD
/         BUS OUT DATA FOR DRIVE COMMANDS.                               FMD
*                                                                        FMD
   DATA (OB(20),H) 40,0,0                                                FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
   DATA (OB(40),H) 4C,4F00,0                                             FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 20/0 GOTO 72  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 22/1 GOTO 70  *READY/SAFE                FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
30 B9=OB(B13)                  *DRIVE COMMAND FROM THE TABLE             FMD
   B10=OB(B13+20)              *BUS OUT FROM THE TABLE                   FMD
   B11=OB(B13+40)              *EXPECTED BUS IN FROM TABLE               FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 OUT,CH=CH8,B10,B9,ABT 72    *ISSUE COMMAND TO DRIVE                   FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 72       *READ CHANNEL STATUSES                    FMD
   B12=SB(CBIS)                *SAVE BUS IN STATUS                       FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 22/15 GOTO 72  *BUS VALID              FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDRS NE 0) GOTO 34   *READY/SAFE ACTIVE                FMD
   IF(B13 EQ 4)ERROR 1/47 GOTO 72      *IF CONDITION 4                   FMD
   ERROR 22/1 GOTO 70                  *IF CONDITIONS 1 OR 2             FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
34 IF(B12 EQ B11) GOTO 36          *IF BUS IN STATUS CORRECT             FMD
   IF(B13 EQ 1)ERROR 11/106 GOTO 72   *IF CONDITION 1                    FMD
   IF(B13 EQ 2)ERROR 12/107 GOTO 72   *IF CONDITION 2                    FMD
   ERROR 14/112 GOTO 72                *IF CONDITION 4                   FMD
36 GOSUB 74                       *PROCESS REPEAT CONDITION              FMD
   B13=B13+1                      *INCREASE CONDITION NUMBER             FMD10
   IF(B13 EQ 5) GOTO 42           *IF CONDITION NUMBER 5                 FMD
   IF(B13 NE 3) GOTO 30           *IF CONDITION NUMBER 3                 FMD
40 GOSUB 50                       *RESERVE FMD AGAIN                     FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 20/0 GOTO 72  *NO SELECT                 FMD
   GOTO 36                        *GO TO REPEAT CONDITION                FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
42 REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
44 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                                 *EXIT THE MODULE                 FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 72         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 72                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 73   *IF SCOPING LOOP                          FMD
   B0=20D                      *MODULE NUMBER                            FMD
   CALL 984                    *REPORT THE ERROR                         FMD
   CALL 98C                    *ISOLATE READY/SAFE ERROR                 FMD
   GOTO 73                     *GO TO REPEAT CONDITION                   FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=20D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 984       *IF NO SCOPING LOOP                 FMD
73 IF(B13 EQ 5) ENDSUB GOTO 44          *IF CONDITION 5                  FMD
   IF(B13 EQ 3) ENDSUB GOTO 36          *IF CONDITION 3                  FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26              *IF CONDITION 0              FMD
   IF(ES AND RC EQ 0)OUT,CH=CH8,20,114,ABT 72  *ECHO BUS                 FMD
   ENDSUB GOTO 36                          *CONDITIONS 1,2,4             FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   IF(B13 EQ 3) ENDSUB GOTO 40  *REPEAT CONDITION 3                      FMD
   RES,DRIVE,FAULT,ABT 72     *CONNECT TO FIXED MODULE DRIVE             FMD
   IF(B13 EQ 2)OUT,CH=CH8,20,114,ABT 72  *ECHO BUS MODE                  FMD
   ENDSUB GOTO 32             *REPEAT CONDITIONS 1, 2, AND 4             FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
   END 20                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD21,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD21,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD21,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.21 4C BIT 7 STATUS TEST                                          FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD21 TESTS BIT 7 IN THE SET DIAGNOSTICS (4C) DRIVE COMMAND.   FMD
*ENDIF
*IF DEF,PFMD
*         FHD21 TESTS BIT 7 IN THE SET DIAGNOSTICS (4C) DRIVE COMMAND.
*ENDIF
*IF DEF,LSFMD 
*         FLD21 TEST BIT 7 IN THE SET DIAGNOSTICS (4C) DRIVE COMMAND. 
*ENDIF
*         THIS BIT ENABLES SERVO OFFSET IN THE DRIVE.                    FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  ISSUE A 4C COMMAND TO THE DRIVE WITH BUS OUT BIT 7 SET.    FMD
*         3.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND. CHECK THAT THE BUS IN  FMD
*             IS EQUAL TO 80 HEX AND THAT ON CYLINDER IS ACTIVE.         FMD
*         4.  ISSUE A 49 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ALL  FMD
*             ZEROS.                                                     FMD
*         5.  DELAY 300 DECIMAL MILLISECONDS AND THEN VERIFY THAT STATUS FMD
*             VALID AND READY AND SAFE ARE SET FOLLOWING EXECUTION OF    FMD
*             THE COMMAND. CHECK THAT THE BUS IN IS EQUAL TO 08 HEX AND  FMD
*             THAT ON CYLINDER IS ACTIVE.                                FMD
*         6.  RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD984 - PROCESS ERRORS.                                       FMD
*         FMD985 - PROCESS ERRORS.                                       FMD
*         FMD986 - PROCESS ERRORS.                                       FMD
*         FMD987 - PROCESS ERRORS.                                       FMD
*         FMD988 - PROCESS ERRORS.                                       FMD
*         FMD989 - PROCESS ERRORS.                                       FMD
*         FMD97A - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD984 - PROCESS ERRORS.
*         FHD985 - PROCESS ERRORS.
*         FHD986 - PROCESS ERRORS.
*         FHD987 - PROCESS ERRORS.
*         FHD988 - PROCESS ERRORS.
*         FHD989 - PROCESS ERRORS.
*         FHD97A - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD984 - PROCESS ERRORS.
*         FLD985 - PROCESS ERRORS.
*         FLD986 - PROCESS ERRORS.
*         FLD987 - PROCESS ERRORS.
*         FLD988 - PROCESS ERRORS.
*         FLD989 - PROCESS ERRORS.
*         FLD97A - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD21 - 4C BIT 7 STATUS TEST                                   FMD
2  FORMAT FMD21 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD21 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD21 - 4C BIT 7 STATUS TEST
2  FORMAT FHD21 - EC *DECD, LC = *DECD
3  FORMAT FHD21 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD21 - 4C BIT 7 STATUS TEST
2  FORMAT FLD21 - EC *DECD, LC = *DECD
3  FORMAT FLD21 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 4C,4900                                                FMD
*                                                                        FMD
/         BUS OUT DATA FOR DRIVE COMMANDS.                               FMD
*                                                                        FMD
   DATA (OB(20),H) 80,0                                                  FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
   DATA (OB(40),H) 80,800                                                FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 60                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 20/0 GOTO 72  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 22/1 GOTO 70  *READY/SAFE                FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
30 B9=OB(B13)                  *DRIVE COMMAND FROM THE TABLE             FMD
   B10=OB(B13+20)              *BUS OUT FROM THE TABLE                   FMD
   B11=OB(B13+40)              *EXPECTED BUS IN FROM TABLE               FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 OUT,CH=CH8,B10,B9,ABT 72      *ISSUE COMMAND TO DRIVE                 FMD
   IF(B13 EQ 2) DELAY 300D MSEC  *DELAY IF RTZ COMMAND                   FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 72         *READ CHANNEL STATUSES                  FMD
   B12=SB(CBIS)                  *SAVE BUS IN STATUS                     FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 22/15 GOTO 72  *BUS VALID              FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDRS NE 0) GOTO 34      *READY/SAFE ACTIVE             FMD
   IF(B13 EQ 1) ERROR 22/1 GOTO 70        *IF CONDITION 1                FMD
   ERROR 27/4 GOTO 70                     *IF CONDITION 2                FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
34 IF(B12 EQ B11) GOTO 36          *IF BUS IN STATUS CORRECT             FMD
   IF(B13 EQ 1) ERROR 7/103 GOTO 72          *IF CONDITION 1             FMD
   IF(B12 AND 1 NE 0) ERROR 0/5 GOTO 72       *BUS IN BIT 0              FMD
   IF(B12 AND 2 NE 0) ERROR 3/6 GOTO 72       *BUS IN BIT 1              FMD
   IF(B12 AND 4 NE 0) ERROR 5/7 GOTO 72       *BUS IN BIT 2              FMD
   IF(B12 AND 10 EQ 0) ERROR 7/10 GOTO 72     *BUS IN BIT 3              FMD
   IF(B12 AND 20 NE 0) ERROR 12/11 GOTO 72    *BUS IN BIT 4              FMD
   IF(B12 AND 40 NE 0) ERROR 14/12 GOTO 72    *BUS IN BIT 5              FMD
   IF(B12 AND 100 NE 0) ERROR 16/13 GOTO 72   *BUS IN BIT 6              FMD
   ERROR 20/14 GOTO 72                        *BUS IN BIT 7              FMD
*                                                                        FMD
/         CHECK ON CYLINDER STATUS FROM THE DRIVE.                       FMD
*                                                                        FMD
36 IF(SB(CCDS)AND COTRK NE 0)GOTO 40   *ON CYLINDER ACTIVE               FMD
   IF(B13 EQ 1) ERROR 16/113 GOTO 72   *IF CONDITION 1                   FMD
   ERROR 25/3 GOTO 72                *IF CONDITION 2                     FMD
40 GOSUB 74                       *PROCESS REPEAT CONDITION              FMD
   GOTO 30 WHILE(B13+1 NE 3)   *LOOP TO DO ALL CMDS TO DRIVE             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
50 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                                 *EXIT THE MODULE                 FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
60 RES,DRIVE,FAULT,ABT 62    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
62 IF(EC AND 77 NE 25) GOTO 72         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 72                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 73   *IF SCOPING LOOP                          FMD
   B0=21D                      *MODULE NUMBER                            FMD
   CALL 984                    *REPORT THE ERROR                         FMD
   CALL 98C                    *ISOLATE READY/SAFE ERROR                 FMD
   GOTO 73                     *GO TO REPEAT CONDITION                   FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=21D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 984       *IF NO SCOPING LOOP                 FMD
73 IF(B13 EQ 3) ENDSUB GOTO 40          *IF CONDITION 3                  FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26              *IF CONDITION 0              FMD
   ENDSUB GOTO 40                           *CONDITIONS 1, 2             FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 72     *CONNECT TO FIXED MODULE DRIVE             FMD
   ENDSUB GOTO 32             *REPEAT CONDITIONS 1-15                    FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
   END 20                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD22,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD22,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD22,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.22 46, 47 STATUS TEST                                            FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD22 TESTS THE CONTROL SET AND CLEAR CONTROL SELECT COMMANDS  FMD
*ENDIF
*IF DEF,PFMD
*         FHD22 TESTS THE CONTROL SET AND CLEAR CONTROL SELECT COMMANDS 
*ENDIF
*IF DEF,LSFMD 
*         FLD22 TESTS THE CONTROL SET AND CLEAR CONTROL SELECT COMMANDS.
*ENDIF
*         TO THE FIXED MODULE DRIVE. AFTER SETTING CONTROL SELECT, THE   FMD
*         SEEK AND RTZ COMMANDS WILL BE SENT TO THE DRIVE TO VERIFY THAT FMD
*         THE STATUS BITS FOR CONTROL SELECT ARE RETURNED ON BUS IN WHEN FMD
*         THE COMMANDS ARE ISSUED.                                       FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  ISSUE A 46 COMMAND TO THE DRIVE WITH BUS OUT OF ALL ZEROS. FMD
*         3.  VERIFY THAT STATUS VALID AND READY AND SAFE IS SET         FMD
*             FOLLOWING EXECUTION OF THE COMMAND. CHECK THAT THE BUS IN  FMD
*             IS EQUAL TO 80 HEX.                                        FMD
*         4.  ISSUE A 49 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ALL  FMD
*             ZEROS.                                                     FMD
*         5.  DELAY 300 DECIMAL MILLISECONDS AND THEN VERIFY THAT STATUS FMD
*             VALID FOLLOWING EXECUTION OF THE COMMAND. CHECK THAT THE   FMD
*             BUS IN BIT 7 IS SET AND THAT ON CYLINDER IS ACTIVE.        FMD
*         6.  ISSUE A 48 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ALL  FMD
*             ZEROS.                                                     FMD
*         7.  DELAY 300 DECIMAL MILLISECONDS AND THEN VERIFY THAT STATUS FMD
*             VALID FOLLOWING EXECUTION OF THE COMMAND. CHECK THAT THE   FMD
*             BUS IN BIT 7 IS SET AND THAT ON CYLINDER IS ACTIVE.        FMD
*         8.  ISSUE A 4A COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ALL  FMD
*             ZEROS.                                                     FMD
*         9.  VERIFY THAT STATUS VALID. FOLLOWING EXECUTION OF THE       FMD
*             COMMAND. CHECK THAT THE BUS IN BIT 7 IS SET.               FMD
*         10. ISSUE A 47 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ALL  FMD
*             ZEROS.                                                     FMD
*         11. VERIFY THAT STATUS VALID AND THAT BUS IN IS EQUAL TO ALL   FMD
*             ZEROS FOLLOWING EXECUTION OF THE COMMAND. VERIFY THAT      FMD
*             READY AND SAFE IS ACTIVE.                                  FMD
*         12. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD984 - PROCESS ERRORS.                                       FMD
*         FMD985 - PROCESS ERRORS.                                       FMD
*         FMD986 - PROCESS ERRORS.                                       FMD
*         FMD987 - PROCESS ERRORS.                                       FMD
*         FMD988 - PROCESS ERRORS.                                       FMD
*         FMD989 - PROCESS ERRORS.                                       FMD
*         FMD97A - PROCESS ERRORS.                                       FMD
*         FMD97B - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD984 - PROCESS ERRORS.
*         FHD985 - PROCESS ERRORS.
*         FHD986 - PROCESS ERRORS.
*         FHD987 - PROCESS ERRORS.
*         FHD988 - PROCESS ERRORS.
*         FHD989 - PROCESS ERRORS.
*         FHD97A - PROCESS ERRORS.
*         FHD97B - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD984 - PROCESS ERRORS.
*         FLD985 - PROCESS ERRORS.
*         FLD986 - PROCESS ERRORS.
*         FLD987 - PROCESS ERRORS.
*         FLD988 - PROCESS ERRORS.
*         FLD989 - PROCESS ERRORS.
*         FLD97A - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD22 - 46, 47 STATUS TEST                                     FMD
2  FORMAT FMD22 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD22 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD22 - 46, 47 STATUS TEST
2  FORMAT FHD22 - EC *DECD, LC = *DECD
3  FORMAT FHD22 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD22 - 46, 47 STATUS TEST
2  FORMAT FLD22 - EC *DECD, LC = *DECD
3  FORMAT FLD22 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 46,4948,4A47,0                                         FMD
*                                                                        FMD
/         BUS OUT DATA FOR DRIVE COMMANDS.                               FMD
*                                                                        FMD
   DATA (OB(20),H) 0,0,0
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
   DATA (OB(40),H) 80,8080,8000                                          FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 60                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 20/0 GOTO 72  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 22/1 GOTO 70  *READY/SAFE                FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
30 B9=OB(B13)                  *DRIVE COMMAND FROM THE TABLE             FMD
   B10=OB(B13+20)              *BUS OUT FROM THE TABLE                   FMD
   B11=OB(B13+40)              *EXPECTED BUS IN FROM TABLE               FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 OUT,CH=CH8,B10,B9,ABT 72      *ISSUE COMMAND TO DRIVE                 FMD
   IF(B13 EQ 2) DELAY 300D MSEC  *DELAY IF RTZ COMMAND                   FMD
   IF(B13 EQ 3) DELAY 300D MSEC  *DELAY IF SEEK COMMAND                  FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 72         *READ CHANNEL STATUSES                  FMD
   B12=SB(CBIS)                  *SAVE BUS IN STATUS                     FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 22/15 GOTO 72  *BUS VALID              FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
   IF(B13 NE 1) GOTO 34                  *IF NOT CONDITION 1             FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 11/66 GOTO 72  *READY/SAFE             FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
34 IF(B13 EQ 1) GOTO 36                      *IF CONDITION 1             FMD
   IF(B13 EQ 5) GOTO 36                      *IF CONDITION 5             FMD
   B12=B12 AND 200                           *BIT 7 ONLY                 FMD
36 IF(B12 EQ B11) GOTO 40          *IF BUS IN STATUS CORRECT             FMD
   IF(B13 EQ 1) ERROR 20/114 GOTO 72         *IF CONDITION 1             FMD
   IF(B13 EQ 2) ERROR 22/115 GOTO 72         *IF CONDITION 2             FMD
   IF(B13 EQ 3) ERROR 25/116 GOTO 72         *IF CONDITION 3             FMD
   IF(B13 EQ 4) ERROR 0/117 GOTO 72          *IF CONDITION 4             FMD
   ERROR 2/120 GOTO 72                       *IF CONDITION 5             FMD
*                                                                        FMD
/         CHECK ON CYLINDER STATUS FROM THE DRIVE.                       FMD
*                                                                        FMD
40 IF(B13 NE 2) GOTO 42                  *IF NOT CONDITION 2             FMD
   IF(SB(CCDS)AND COTRK EQ 0)ERROR 25/3 GOTO 72  *ON TRACK               FMD
42 IF(B13 NE 3) GOTO 44                  *IF NOT CONDITION 3             FMD
   IF(SB(CCDS)AND COTRK EQ 0)ERROR 2/20 GOTO 72  *ON TRACK               FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
44 IF(B13 NE 5) GOTO 46                  *IF NOT CONDITION 1             FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 4/121 GOTO 72  *READY/SAFE             FMD
46 GOSUB 74                       *PROCESS REPEAT CONDITION              FMD
   GOTO 30 WHILE(B13+1 NE 6)   *LOOP TO DO ALL CMDS TO DRIVE             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
50 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
60 RES,DRIVE,FAULT,ABT 62    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
62 IF(EC AND 77 NE 25) GOTO 72         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 72                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 73   *IF SCOPING LOOP                          FMD
   B0=22D                      *MODULE NUMBER                            FMD
   CALL 984                    *REPORT THE ERROR                         FMD
   CALL 98C                    *ISOLATE READY/SAFE ERROR                 FMD
   GOTO 73                     *GO TO REPEAT CONDITION                   FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=22D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 984       *IF NO SCOPING LOOP                 FMD
73 IF(B13 EQ 6) ENDSUB GOTO 50          *IF CONDITION 6                  FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26              *IF CONDITION 0              FMD
   ENDSUB GOTO 46                           *CONDITIONS 1-5              FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 72     *CONNECT TO FIXED MODULE DRIVE             FMD
   ENDSUB GOTO 32             *REPEAT CONDITIONS 1-15                    FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
   END 20                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD23,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD23,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD23,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.23 4D BIT 3 STATUS TEST                                          FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD23 TESTS THE SETTING AND CLEARING OF THE LATE STROBE MARGIN FMD
*ENDIF
*IF DEF,PFMD
*         FHD23 TESTS THE SETTING AND CLEARING OF THE LATE STROBE MARGIN
*ENDIF
*IF DEF,LSFMD 
*          FLD23 TESTS THE SETTING AND CLEARING OF THE LATE STROBE MARGIN 
*ENDIF
*         AND RESET OFFSET MARGINS BITS IN THE SET DIAGNOSTICS AID (4D)  FMD
*         DRIVE COMMAND.                                                 FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT BIT TWO SET.  FMD
*         3.  VERIFY THAT STATUS VALID IS ACTIVE, THE BUS IN EQUALS ALL  FMD
*             ZEROS, AND THAT READY AND SAFE IS ACTIVE.                  FMD
*         4.  ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT BIT THREE     FMD
*             SET.                                                       FMD
*         5.  VERIFY THAT STATUS VALID IS ACTIVE, THE BUS IN EQUALS 08   FMD
*             HEX, AND THAT READY AND SAFE IS ACTIVE.                    FMD
*         6.  ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT OF ALL ZEROS. FMD
*         7.  VERIFY THAT STATUS VALID IS ACTIVE AND THAT BUS IN EQUALS  FMD
*             08 HEX.                                                    FMD
*         8.  DROP AND RAISE THE SELECT LINE TO THE DRIVE.  VERIFY THAT  FMD
*             SELECT AND RESERVED IS ACTIVE.                             FMD
*         9.  ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT OF ALL ZEROS. FMD
*         10. VERIFY THAT STATUS VALID IS ACTIVE AND THAT BUS IN EQUALS  FMD
*             ALL ZEROS.                                                 FMD
*         11. ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT BIT THREE     FMD
*             SET.                                                       FMD
*         12. VERIFY THAT STATUS VALID IS ACTIVE, THE BUS IN EQUALS 08   FMD
*             HEX, AND THAT READY AND SAFE IS ACTIVE.                    FMD
*         13. ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT OF ALL ZEROS. FMD
*         14. VERIFY THAT STATUS VALID IS ACTIVE AND THAT BUS IN EQUALS  FMD
*             08 HEX.                                                    FMD
*         15. ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT BIT TWO SET.  FMD
*         16. VERIFY THAT STATUS VALID IS ACTIVE AND THAT BUS IN EQUALS  FMD
*             ALL ZEROS.                                                 FMD
*         17. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD984 - PROCESS ERRORS.                                       FMD
*         FMD985 - PROCESS ERRORS.                                       FMD
*         FMD986 - PROCESS ERRORS.                                       FMD
*         FMD987 - PROCESS ERRORS.                                       FMD
*         FMD988 - PROCESS ERRORS.                                       FMD
*         FMD989 - PROCESS ERRORS.                                       FMD
*         FMD97A - PROCESS ERRORS.                                       FMD
*         FMD97B - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD984 - PROCESS ERRORS.
*         FHD985 - PROCESS ERRORS.
*         FHD986 - PROCESS ERRORS.
*         FHD987 - PROCESS ERRORS.
*         FHD988 - PROCESS ERRORS.
*         FHD989 - PROCESS ERRORS.
*         FHD97A - PROCESS ERRORS.
*         FHD97B - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD984 - PROCESS ERRORS.
*         FLD985 - PROCESS ERRORS.
*         FLD986 - PROCESS ERRORS.
*         FLD987 - PROCESS ERRORS.
*         FLD988 - PROCESS ERRORS.
*         FLD989 - PROCESS ERRORS.
*         FLD97A - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - REPEAT CONDITION NUMBER.                         FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD23 - 4D BIT 6 STATUS TEST                                   FMD
2  FORMAT FMD23 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD23 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD23 - 4D BIT 6 STATUS TEST
2  FORMAT FHD23 - EC *DECD, LC = *DECD
3  FORMAT FHD23 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD23 - 4D BIT 6 STATUS TEST
2  FORMAT FLD23 - EC *DECD, LC = *DECD
3  FORMAT FLD23 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 4D,4D4D,014D,4D4D,4D4D,0                               FMD
*                                                                        FMD
/         BUS OUT DATA FOR DRIVE COMMANDS.                               FMD
*                                                                        FMD
   DATA (OB(20),H) 4,800,0,408,4                                         FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
   DATA (OB(40),H) 0,808,0,8,800                                         FMD
*                                                                        FMD
/         RESET CONDITION NUMBERS FOR REPEAT CONDITION.                  FMD
*                                                                        FMD
   DATA (OB(60),CON) 1,2,1,4,5,6,7,6,11                                  FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B8=0                      *CLEAR REPEAT CONDITION NUMBER              FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 20/0 GOTO 64  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 22/1 GOTO 62  *READY/SAFE                FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
30 B9=OB(B13)                  *DRIVE COMMAND FROM THE TABLE             FMD
   B10=OB(B13+20)              *BUS OUT FROM THE TABLE                   FMD
   B11=OB(B13+40)              *EXPECTED BUS IN FROM TABLE               FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 IF(B13 NE 4)GOTO 34             *IF NOT CONDITION 4                   FMD
   GOSUB 50                        *DROP, RAISE SELECT LINE              FMD18
   IF(SB(CDS)AND DSR NE 0)GOTO 40  *IF DRIVE SELECTED                    FMD
   ERROR 20/0 GOTO 64              *SELECT ERROR                         FMD
34 OUT,CH=CH8,B10,B9,ABT 64        *ISSUE COMMAND TO DRIVE               FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 64           *READ CHANNEL STATUSES                FMD
   B12=SB(CBIS)                    *SAVE BUS IN STATUS                   FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 22/15 GOTO 64  *BUS VALID              FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
   IF(B12 EQ B11) GOTO 36          *IF BUS IN STATUS CORRECT             FMD
   IF(B13 EQ 1) ERROR 6/122 GOTO 64        *IF CONDITION 1               FMD
   IF(B13 EQ 2) ERROR 12/124 GOTO 64       *IF CONDITION 2               FMD
   IF(B13 EQ 3) ERROR 14/125 GOTO 64       *IF CONDITION 3               FMD
   IF(B13 EQ 5) ERROR 17/126 GOTO 64       *IF CONDITION 5               FMD
   IF(B13 EQ 7) ERROR 14/125 GOTO 64       *IF CONDITION 7               FMD
   ERROR 6/122 GOTO 64                     *IF CONDITION 10              FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
36 IF(B13 GE 3) GOTO 40            *IF NOT CONDITIONS 1 OR 2             FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 10/123 GOTO 64  *NOT READY             FMD
40 GOSUB 74                       *PROCESS REPEAT CONDITION              FMD
   GOTO 30 WHILE(B13+1 NE 11)  *LOOP TO DO ALL CMDS TO DRIVE             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   REL,ABT 64                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 64         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 64                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
62 STATUS,DETAIL,ABT 64        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 66   *IF SCOPING LOOP                          FMD
   B0=23D                      *MODULE NUMBER                            FMD
   CALL 984                    *REPORT THE ERROR                         FMD
   CALL 98C                    *ISOLATE READY/SAFE ERROR                 FMD
   GOTO 66                     *GO TO REPEAT CONDITION                   FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
64 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=23D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 984       *IF NO SCOPING LOOP                 FMD
66 IF(B13 EQ 11) ENDSUB GOTO 42         *IF CONDITION 11                 FMD
   IF(ES AND RC NE 0) GOTO 70           *IF REPEAT CONDITION             FMD
   IF(B13 NE 3) RES,DRIVE,FAULT,ABT 64  *IF NOT CONDITION 3              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26          *IF CONDITION 0                  FMD
   ENDSUB GOTO 40                       *CONDITIONS 1-10                 FMD
70 IF(B8 EQ B13) GOTO 64                *IF REPEAT TIME                  FMD
   IF(B13 NE 3) RES,DRIVE,FAULT,ABT 64  *IF NOT CONDITION 3              FMD
   ENDSUB GOTO 40                       *CONDITIONS 1-10                 FMD
72 IF(B13 EQ 0) ENDSUB GOTO 26          *IF CONDITION 0                  FMD
   ENDSUB GOTO 40                       *CONDITIONS 1-10                 FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   IF(B8 EQ 0) B8=B13                                                    FMD
   IF(B8 NE B13) RETURN                                                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   IF(B13 EQ 4) ENDSUB GOTO 32  *REPEAT CONDITION 0                      FMD
   IF(B13 EQ 3)B13=1            *IF CONDITION 3                          FMD
   IF(B13 EQ 7)B13=1           *IF CONDITION 7                           FMD
   RES,DRIVE,FAULT,ABT 64     *CONNECT TO FIXED MODULE DRIVE             FMD
   ENDSUB GOTO 32             *REPEAT CONDITIONS 1-15                    FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   B8=0                       *CLEAR REPEAT CONDITION NUMBER             FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
   END 20                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD24,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD24,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD24,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.24 4D BIT 4 STATUS TEST                                          FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD24 TESTS THE SETTING AND CLEARING OF THE EARLY STROBE       FMD
*ENDIF
*IF DEF,PFMD
*         FHD24 TESTS THE SETTING AND CLEARING OF THE EARLY STROBE
*ENDIF
*IF DEF,LSFMD 
*         FLD24 TESTS THE SETTING AND CLEARING OF THE EARLY STROBE
*ENDIF
*         MARGIN AND RESET OFFSET MARGINS BITS IN THE SET DIAGNOSTICS    FMD
*         AID (4D) DRIVE COMMAND.                                        FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT BIT THREE     FMD
*             SET.                                                       FMD
*         3.  VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE, AND THAT THE BUS IN EQUALS 08 HEX.                 FMD
*         4.  ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT BIT FOUR SET. FMD
*         5.  VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE, AND THAT THE BUS IN EQUALS 10 HEX.                 FMD
*         6.  ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT OF ALL ZEROS. FMD
*         7.  VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE, AND THAT THE BUS IN EQUALS 10 HEX.                 FMD
*         8.  DROP AND RAISE THE SELECT LINE TO THE DRIVE.  VERIFY THAT  FMD
*             SELECT AND RESERVED IS ACTIVE.                             FMD
*         9.  ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT OF ALL ZEROS. FMD
*         10. VERIFY THAT STATUS VALID IS ACTIVE AND THAT BUS IN EQUALS  FMD
*             ALL ZEROS.                                                 FMD
*         11. ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT BIT FOUR SET. FMD
*         12. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE, AND THAT THE BUS IN EQUALS 10 HEX.                 FMD
*         13. ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT OF ALL ZEROS. FMD
*         14. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE, AND THAT THE BUS IN EQUALS 10 HEX.                 FMD
*         15. ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT BIT TWO SET.  FMD
*         16. VERIFY THAT STATUS VALID IS ACTIVE AND THAT BUS IN EQUALS  FMD
*             ALL ZEROS.                                                 FMD
*         17. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD984 - PROCESS ERRORS.                                       FMD
*         FMD985 - PROCESS ERRORS.                                       FMD
*         FMD986 - PROCESS ERRORS.                                       FMD
*         FMD987 - PROCESS ERRORS.                                       FMD
*         FMD988 - PROCESS ERRORS.                                       FMD
*         FMD989 - PROCESS ERRORS.                                       FMD
*         FMD97A - PROCESS ERRORS.                                       FMD
*         FMD97B - PROCESS ERRORS.                                       FMD
*         FMD97C - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD984 - PROCESS ERRORS.
*         FHD985 - PROCESS ERRORS.
*         FHD986 - PROCESS ERRORS.
*         FHD987 - PROCESS ERRORS.
*         FHD988 - PROCESS ERRORS.
*         FHD989 - PROCESS ERRORS.
*         FHD97A - PROCESS ERRORS.
*         FHD97B - PROCESS ERRORS.
*         FHD97C - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD984 - PROCESS ERRORS.
*         FLD985 - PROCESS ERRORS.
*         FLD986 - PROCESS ERRORS.
*         FLD987 - PROCESS ERRORS.
*         FLD988 - PROCESS ERRORS.
*         FLD989 - PROCESS ERRORS.
*         FLD97A - PROCESS ERRORS.
*         FLD97B - PROCESS ERRORS.
*         FLD97C - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD24 - 4D BIT 4 STATUS TEST                                   FMD
2  FORMAT FMD24 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD24 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD24 - 4D BIT 4 STATUS TEST
2  FORMAT FHD24 - EC *DECD, LC = *DECD
3  FORMAT FHD24 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD24 - 4D BIT 4 STATUS TEST
2  FORMAT FLD24 - EC *DECD, LC = *DECD
3  FORMAT FLD24 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 4D,4D4D,014D,4D4D,4D00                                 FMD
*                                                                        FMD
/         BUS OUT DATA FOR DRIVE COMMANDS.                               FMD
*                                                                        FMD
   DATA (OB(20),H) 8,1000,0,1000,400                                     FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
   DATA (OB(40),H) 8,1010,0,1010,0                                       FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 20/0 GOTO 66  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 22/1 GOTO 64  *READY/SAFE                FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
30 B9=OB(B13)                  *DRIVE COMMAND FROM THE TABLE             FMD
   B10=OB(B13+20)              *BUS OUT FROM THE TABLE                   FMD
   B11=OB(B13+40)              *EXPECTED BUS IN FROM TABLE               FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 IF(B13 NE 4)GOTO 34             *IF NOT CONDITION 4                   FMD
   GOSUB 50                        *DROP, RAISE SELECT LINE              FMD18
   IF(SB(CDS)AND DSR NE 0)GOTO 40  *IF DRIVE SELECTED                    FMD
   ERROR 20/0 GOTO 66              *SELECT ERROR                         FMD
34 OUT,CH=CH8,B10,B9,ABT 66        *ISSUE COMMAND TO DRIVE               FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 66           *READ CHANNEL STATUSES                FMD
   B12=SB(CBIS)                    *SAVE BUS IN STATUS                   FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 22/15 GOTO 66  *BUS VALID              FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
   IF(B13 GE 3) GOTO 36            *IF NOT CONDITIONS 1 OR 2             FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 10/123 GOTO 64  *NOT READY             FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
36 IF(B12 EQ B11) GOTO 40          *IF BUS IN STATUS CORRECT             FMD
   IF(B13 EQ 1) ERROR 12/124 GOTO 66        *IF CONDITION 1              FMD
   IF(B13 EQ 2) ERROR 21/127 GOTO 66        *IF CONDITION 2              FMD
   IF(B13 EQ 3) ERROR 23/130 GOTO 66        *IF CONDITION 3              FMD
   IF(B13 EQ 5) ERROR 0/131 GOTO 66         *IF CONDITION 5              FMD
   IF(B13 EQ 6) ERROR 21/127 GOTO 66        *IF CONDITION 6              FMD
   IF(B13 EQ 7) ERROR 23/130 GOTO 66        *IF CONDITION 7              FMD
   ERROR 2/132 GOTO 66                      *IF CONDITION 10             FMD
40 GOSUB 74                       *PROCESS REPEAT CONDITION              FMD
   GOTO 30 WHILE(B13+1 NE 11)  *LOOP TO DO ALL CMDS TO DRIVE             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   REL,ABT 66                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 66         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 66                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
64 STATUS,DETAIL,ABT 66        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 70   *IF SCOPING LOOP                          FMD
   B0=24D                      *MODULE NUMBER                            FMD
   CALL 984                    *REPORT THE ERROR                         FMD
   CALL 98C                    *ISOLATE READY/SAFE ERROR                 FMD
   GOTO 70                     *GO TO REPEAT CONDITION                   FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
66 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=24D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 984       *IF NO SCOPING LOOP                 FMD
70 IF(B13 EQ 11) ENDSUB GOTO 42         *IF CONDITION 11                 FMD
   IF(ES AND RC NE 0) GOTO 72           *IF REPEAT CONDITION             FMD
   IF(B13 NE 3) RES,DRIVE,FAULT,ABT 66  *RESERVE DRIVE                   FMD
72 IF(B13 EQ 0) ENDSUB GOTO 26          *IF CONDITION 0                  FMD
   ENDSUB GOTO 40                       *CONDITIONS 1-10                 FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY      *DISPLAY RC MESSAGE                   FMD
   IF(B13 EQ 0) ENDSUB GOTO 24        *REPEAT CONDITION 0                FMD
   IF(B13 NE 4)RES,DRIVE,FAULT,ABT 66  *RESERVE DRIVE                    FMD
   ENDSUB GOTO 32                    *REPEAT CONDITIONS 1-10             FMD
76 MSG 1 TO DISPLAY                 *DISPLAY RUNNING MESSAGE             FMD
   RETURN                           *EXIT THE SUBROUTINE                 FMD
   END 20                           *END OF THE MODULE                   FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD25,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD25,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD25,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.25 4D BIT 5 STATUS TEST                                          FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD25 TESTS THE SETTING AND CLEARING OF THE POSITIONER HI      FMD
*ENDIF
*IF DEF,PFMD
*         FHD25 TESTS THE SETTING AND CLEARING OF THE POSITIONER HI 
*ENDIF
*IF DEF,LSFMD 
*         FLD25 TESTS THE SETTING AND CLEARING OF THE POSISTIONER HI
*ENDIF
*         LIGHT AND RESET OFFSET MARGINS BITS IN THE SET DIAGNOSTICS AID FMD
*         (4D) DRIVE COMMAND.                                            FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT BIT FIVE SET. FMD
*         3.  VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE, AND THAT THE BUS IN EQUALS 20 HEX.                 FMD
*         4.  ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT OF ALL ZEROS. FMD
*         5.  VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE, AND THAT THE BUS IN EQUALS 20 HEX.                 FMD
*         6.  DROP AND RAISE THE SELECT LINE TO THE DRIVE. VERIFY THAT   FMD
*             SELECT AND RESERVED IS ACTIVE.                             FMD
*         7.  ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT OF ALL ZEROS. FMD
*         8.  VERIFY THAT STATUS VALID IS ACTIVE AND THAT BUS IN EQUALS  FMD
*             ALL ZEROS.                                                 FMD
*         9.  ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT BIT FIVE SET. FMD
*         10. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE, AND THAT THE BUS IN EQUALS 20 HEX.                 FMD
*         11. ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT OF ALL ZEROS. FMD
*         12. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE, AND THAT THE BUS IN EQUALS 20 HEX.                 FMD
*         13. ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT BIT TWO SET.  FMD
*         14. VERIFY THAT STATUS VALID IS ACTIVE AND THAT BUS IN EQUALS  FMD
*             ALL ZEROS.                                                 FMD
*         15. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD984 - PROCESS ERRORS.                                       FMD
*         FMD985 - PROCESS ERRORS.                                       FMD
*         FMD986 - PROCESS ERRORS.                                       FMD
*         FMD987 - PROCESS ERRORS.                                       FMD
*         FMD988 - PROCESS ERRORS.                                       FMD
*         FMD989 - PROCESS ERRORS.                                       FMD
*         FMD97A - PROCESS ERRORS.                                       FMD
*         FMD97B - PROCESS ERRORS.                                       FMD
*         FMD97C - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD984 - PROCESS ERRORS.
*         FHD985 - PROCESS ERRORS.
*         FHD986 - PROCESS ERRORS.
*         FHD987 - PROCESS ERRORS.
*         FHD988 - PROCESS ERRORS.
*         FHD989 - PROCESS ERRORS.
*         FHD97A - PROCESS ERRORS.
*         FHD97B - PROCESS ERRORS.
*         FHD97C - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD984 - PROCESS ERRORS.
*         FLD985 - PROCESS ERRORS.
*         FLD986 - PROCESS ERRORS.
*         FLD987 - PROCESS ERRORS.
*         FLD988 - PROCESS ERRORS.
*         FLD989 - PROCESS ERRORS.
*         FLD97A - PROCESS ERRORS.
*         FLD97B - PROCESS ERRORS.
*         FLD97C - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD25 - 4D BIT 5 STATUS TEST                                   FMD
2  FORMAT FMD25 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD25 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD25 - 4D BIT 5 STATUS TEST
2  FORMAT FHD25 - EC *DECD, LC = *DECD
3  FORMAT FHD25 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD25 - 4D BIT 5 STATUS TEST
2  FORMAT FLD25 - EC *DECD, LC = *DECD
3  FORMAT FLD25 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 4D,4D01,4D4D,4D4D,4D00                                 FMD
*                                                                        FMD
/         BUS OUT DATA FOR DRIVE COMMANDS.                               FMD
*                                                                        FMD
   DATA (OB(20),H) 20,0,20,4,0                                           FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
   DATA (OB(40),H) 20,2000,20,2000,0                                     FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 20/0 GOTO 66  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 22/1 GOTO 64  *READY/SAFE                FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
30 B9=OB(B13)                  *DRIVE COMMAND FROM THE TABLE             FMD
   B10=OB(B13+20)              *BUS OUT FROM THE TABLE                   FMD
   B11=OB(B13+40)              *EXPECTED BUS IN FROM TABLE               FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 IF(B13 NE 3)GOTO 34             *IF NOT CONDITION 3                   FMD
   GOSUB 50                        *DROP, RAISE SELECT LINE              FMD18
   IF(SB(CDS)AND DSR NE 0)GOTO 40  *IF DRIVE SELECTED                    FMD
   ERROR 20/0 GOTO 66              *SELECT ERROR                         FMD
34 OUT,CH=CH8,B10,B9,ABT 66        *ISSUE COMMAND TO DRIVE               FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 66           *READ CHANNEL STATUSES                FMD
   B12=SB(CBIS)                    *SAVE BUS IN STATUS                   FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 22/15 GOTO 66  *BUS VALID              FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDRS NE 0)GOTO 36  *DRIVE READY AND SAFE               FMD
   IF(B13 EQ 1)ERROR 10/123 GOTO 64  *READY/SAFE ERROR                   FMD
   IF(B13 EQ 5)ERROR 10/123 GOTO 64  *READY/SAFE ERROR                   FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
36 IF(B12 EQ B11) GOTO 40          *IF BUS IN STATUS CORRECT             FMD
   IF(B13 EQ 1)ERROR 4/133 GOTO 66   *IF CONDITION 1                     FMD
   IF(B13 EQ 2)ERROR 6/134 GOTO 66   *IF CONDITION 2                     FMD
   IF(B13 EQ 3)ERROR 11/135 GOTO 66  *IF CONDITION 3                     FMD
   IF(B13 EQ 5)ERROR 4/133 GOTO 66   *IF CONDITION 5                     FMD
   IF(B13 EQ 6)ERROR 6/134 GOTO 66   *IF CONDITION 6                     FMD
   ERROR 12/136 GOTO 66              *IF CONDITION 7                     FMD
40 GOSUB 74                       *PROCESS REPEAT CONDITION              FMD
   GOTO 30 WHILE(B13+1 NE 10)  *LOOP TO DO ALL CMDS TO DRIVE             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   REL,ABT 66                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 66         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 66                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
64 STATUS,DETAIL,ABT 66        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 70   *IF SCOPING LOOP                          FMD
   B0=25D                      *MODULE NUMBER                            FMD
   CALL 984                    *REPORT THE ERROR                         FMD
   CALL 98C                    *ISOLATE READY/SAFE ERROR                 FMD
   GOTO 70                     *GO TO REPEAT CONDITION                   FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
66 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=25D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 984       *IF NO SCOPING LOOP                 FMD
70 IF(B13 EQ 11) ENDSUB GOTO 42         *IF CONDITION 10                 FMD
   IF(ES AND RC NE 0) GOTO 72           *IF REPEAT CONDITION             FMD
   IF(B13 NE 2) RES,DRIVE,FAULT,ABT 66  *RESERVE DRIVE                   FMD
72 IF(B13 EQ 0) ENDSUB GOTO 26          *IF CONDITION 0                  FMD
   ENDSUB GOTO 40                       *CONDITIONS 1-7                  FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY      *DISPLAY RC MESSAGE                   FMD
   IF(B13 EQ 0) ENDSUB GOTO 24        *REPEAT CONDITION 0                FMD
   IF(B13 NE 3)RES,DRIVE,FAULT,ABT 66  *RESERVE DRIVE                    FMD
   ENDSUB GOTO 32                    *REPEAT CONDITIONS 1-7              FMD
76 MSG 1 TO DISPLAY                 *DISPLAY RUNNING MESSAGE             FMD
   RETURN                           *EXIT THE SUBROUTINE                 FMD
   END 20                           *END OF THE MODULE                   FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD26,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD26,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD26,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.26 4D BIT 6 STATUS TEST                                          FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD26 TESTS THE SETTING AND CLEARING OF THE POSITIONER LO      FMD
*ENDIF
*IF DEF,PFMD
*         FHD26 TESTS THE SETTING AND CLEARING OF THE POSITIONER LO 
*ENDIF
*IF DEF,LSFMD 
*         FLD26 TESTS THE SETTING AND CLEARING OF THE POSITIONER LO 
*ENDIF
*         LIGHT AND RESET OFFSET MARGINS BITS IN THE SET DIAGNOSTICS AID FMD
*         (4D) DRIVE COMMAND.                                            FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT BIT FIVE SET. FMD
*         3.  VERIFY THAT STATUS VALID IS ACTIVE AND THAT THE BUS IN     FMD
*             EQUALS 20 HEX.                                             FMD
*         4.  ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT BIT SIX SET.  FMD
*         5.  VERIFY THAT STATUS VALID IS ACTIVE, THAT THE BUS IN EQUALS FMD
*             40 HEX, AND READY AND SAFE IS ACTIVE.                      FMD
*         6.  ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT OF ALL ZEROS. FMD
*         7.  VERIFY THAT STATUS VALID IS ACTIVE AND THAT THE BUS IN     FMD
*             EQUALS 40 HEX.                                             FMD
*         8.  DROP AND RAISE THE SELECT LINE TO THE DRIVE. VERIFY THAT   FMD
*             SELECT AND RESERVED IS ACTIVE.                             FMD
*         9.  ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT OF ALL ZEROS. FMD
*         10. VERIFY THAT STATUS VALID IS ACTIVE AND THAT BUS IN EQUALS  FMD
*             ALL ZEROS.                                                 FMD
*         11. ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT BIT SIX SET.  FMD
*         12. VERIFY THAT STATUS VALID IS ACTIVE, THAT THE BUS IN EQUALS FMD
*             40 HEX, AND READY AND SAFE IS ACTIVE.                      FMD
*         13. ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT OF ALL ZEROS. FMD
*         14. VERIFY THAT STATUS VALID IS ACTIVE AND THAT THE BUS IN     FMD
*             EQUALS 40 HEX.                                             FMD
*         15. ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT BIT TWO SET.  FMD
*         16. VERIFY THAT STATUS VALID IS ACTIVE AND THAT BUS IN EQUALS  FMD
*             ALL ZEROS.                                                 FMD
*         17. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD984 - PROCESS ERRORS.                                       FMD
*         FMD985 - PROCESS ERRORS.                                       FMD
*         FMD986 - PROCESS ERRORS.                                       FMD
*         FMD987 - PROCESS ERRORS.                                       FMD
*         FMD988 - PROCESS ERRORS.                                       FMD
*         FMD989 - PROCESS ERRORS.                                       FMD
*         FMD97A - PROCESS ERRORS.                                       FMD
*         FMD97B - PROCESS ERRORS.                                       FMD
*         FMD97C - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD984 - PROCESS ERRORS.
*         FHD985 - PROCESS ERRORS.
*         FHD986 - PROCESS ERRORS.
*         FHD987 - PROCESS ERRORS.
*         FHD988 - PROCESS ERRORS.
*         FHD989 - PROCESS ERRORS.
*         FHD97A - PROCESS ERRORS.
*         FHD97B - PROCESS ERRORS.
*         FHD97C - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD984 - PROCESS ERRORS.
*         FLD985 - PROCESS ERRORS.
*         FLD986 - PROCESS ERRORS.
*         FLD987 - PROCESS ERRORS.
*         FLD988 - PROCESS ERRORS.
*         FLD989 - PROCESS ERRORS.
*         FLD97A - PROCESS ERRORS.
*         FLD97B - PROCESS ERRORS.
*         FLD97C - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD26 - 4D BIT 6 STATUS TEST                                   FMD
2  FORMAT FMD26 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD26 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD26 - 4D BIT 6 STATUS TEST
2  FORMAT FHD26 - EC *DECD, LC = *DECD
3  FORMAT FHD26 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD26 - 4D BIT6 STATUS TEST 
2  FORMAT FLD26 - EC *DECD, LC = *DECD
3  FORMAT FLD26 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 4D,4D4D,014D,4D4D,4D4D,0                               FMD
*                                                                        FMD
/         BUS OUT DATA FOR DRIVE COMMANDS.                               FMD
*                                                                        FMD
   DATA (OB(20),H) 20,4000,0,4000,400                                    FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
   DATA (OB(40),H) 20,4040,0,4040,0                                      FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 20/0 GOTO 66  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 22/1 GOTO 64  *READY/SAFE                FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
30 B9=OB(B13)                  *DRIVE COMMAND FROM THE TABLE             FMD
   B10=OB(B13+20)              *BUS OUT FROM THE TABLE                   FMD
   B11=OB(B13+40)              *EXPECTED BUS IN FROM TABLE               FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 IF(B13 NE 4)GOTO 34             *IF NOT CONDITION 4                   FMD
   GOSUB 50                        *DROP, RAISE SELECT LINE              FMD18
   IF(SB(CDS)AND DSR NE 0)GOTO 40  *IF DRIVE SELECTED                    FMD
   ERROR 20/0 GOTO 66              *SELECT ERROR                         FMD
34 OUT,CH=CH8,B10,B9,ABT 66        *ISSUE COMMAND TO DRIVE               FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 66           *READ CHANNEL STATUSES                FMD
   B12=SB(CBIS)                    *SAVE BUS IN STATUS                   FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 22/15 GOTO 66  *BUS VLAID              FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
36 IF(B12 EQ B11) GOTO 40          *IF BUS IN STATUS CORRECT             FMD
   IF(B13 EQ 1) ERROR 4/133 GOTO 66         *IF CONDITION 1              FMD
   IF(B13 EQ 2) ERROR 14/137 GOTO 66        *IF CONDITION 2              FMD
   IF(B13 EQ 3) ERROR 16/140 GOTO 66        *IF CONDITION 3              FMD
   IF(B13 EQ 5) ERROR 21/141 GOTO 66        *IF CONDITION 5              FMD
   IF(B13 EQ 6) ERROR 14/137 GOTO 66        *IF CONDITION 6              FMD
   IF(B13 EQ 7) ERROR 16/140 GOTO 66        *IF CONDITION 7              FMD
   IF(B13 EQ 10) ERROR 23/142 GOTO 66       *IF CONDITION 10             FMD
   ERROR 21/141 GOTO 66                     *IF CONDITION 11             FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
40 IF(SB(CCDS)AND CDRS NE 0)GOTO 42  *DRIVE READY AND SAFE               FMD
   IF(B13 EQ 2)ERROR 10/123 GOTO 64  *READY AND SAFE ERROR               FMD
   IF(B13 EQ 6)ERROR 10/123 GOTO 64  *READY AND SAFE ERROR               FMD
42 GOSUB 74                       *PROCESS REPEAT CONDITION              FMD
   GOTO 30 WHILE(B13+1 NE 12)  *LOOP TO DO ALL CMDS TO DRIVE             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   REL,ABT 66                    *RELEASE CONTROLLER AND FMD             FMD
44 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 66         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 66                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
64 STATUS,DETAIL,ABT 66        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 70   *IF SCOPING LOOP                          FMD
   B0=26D                      *MODULE NUMBER                            FMD
   CALL 984                    *REPORT THE ERROR                         FMD
   CALL 98C                    *ISOLATE READY/SAFE ERROR                 FMD
   GOTO 70                     *GO TO REPEAT CONDITION                   FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
66 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=26D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 984       *IF NO SCOPING LOOP                 FMD
70 IF(B13 EQ 12) ENDSUB GOTO 44         *IF CONDITION 12                 FMD
   IF(ES AND RC NE 0) GOTO 72           *IF REPEAT CONDITION             FMD
   IF(B13 NE 3) RES,DRIVE,FAULT,ABT 66  *RESERVE DRIVE                   FMD
72 IF(B13 EQ 0) ENDSUB GOTO 26          *IF CONDITION 0                  FMD
   ENDSUB GOTO 42                       *CONDITIONS 1-11                 FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY      *DISPLAY RC MESSAGE                   FMD
   IF(B13 EQ 0) ENDSUB GOTO 24        *REPEAT CONDITION 0                FMD
   IF(B13 NE 4)RES,DRIVE,FAULT,ABT 66  *RESERVE DRIVE                    FMD
   ENDSUB GOTO 32                    *REPEAT CONDITIONS 1-11             FMD
76 MSG 1 TO DISPLAY                 *DISPLAY RUNNING MESSAGE             FMD
   RETURN                           *EXIT THE SUBROUTINE                 FMD
   END 20                           *END OF THE MODULE                   FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD27,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD27,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD27,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.27 88-8F STATUS TEST                                             FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD27 CHECKS THE STATUS RECEIVED ON BUS IN FROM THE FIXED      FMD
*ENDIF
*IF DEF,PFMD
*         FHD27 CHECKS THE STATUS RECEIVED ON BUS IN FROM THE FIXED 
*ENDIF
*IF DEF,LSFMD 
*         FLD27 CHECKS THE STATUS RECIEVED ON BUS IN FROM THE FIXED 
*ENDIF
*         MODULE DRIVE FOR THE 49, 87, 88, 89, 8A, 8B, 8C, 8D, 8E, AND   FMD
*         8F DRIVE COMMANDS.                                             FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT THAT SELECT AND RESERVED AND READY AND SAFE    FMD
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  ISSUE A 49 (RTZ) COMMAND TO THE DRIVE WITH BUS OUT OF ALL  FMD
*             ZEROS. DELAY 300 DECIMAL MILLISECONDS.                     FMD
*         4.  VERIFY THAT STATUS VALID, READY AND SAFE, AND ON CYLINDER  FMD
*             STATUSES ARE ACTIVE FOLLOWING EXECUTION OF THE COMMAND.    FMD
*         5.  ISSUE A 87 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ALL  FMD
*             ZEROS. VERIFY THAT STATUS VALID AND READY AND SAFE         FMD
*             STATUSES ARE ACTIVE FOLLOWING EXECUTION OF THE COMMAND.    FMD
*             VERIFY THAT BUS IN IS EQUAL TO 1100 XXXX.                  FMD
*         6.  ISSUE A 88 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ALL  FMD
*             ZEROS. VERIFY THAT STATUS VALID AND READY AND SAFE         FMD
*             STATUSES ARE ACTIVE FOLLOWING EXECUTION OF THE COMMAND.    FMD
*             VERIFY THAT BUS IN IS EQUAL TO 0F HEX.                     FMD
*         7.  ISSUE A 89 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ALL  FMD
*             ZEROS. VERIFY THAT STATUS VALID AND READY AND SAFE         FMD
*             STATUSES ARE ACTIVE FOLLOWING EXECUTION OF THE COMMAND.    FMD
*             VERIFY THAT BUS IN IS EQUAL TO 0E HEX.                     FMD
*         8.  ISSUE A 8A COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ALL  FMD
*             ZEROS. VERIFY THAT STATUS VALID AND READY AND SAFE         FMD
*             STATUSES ARE ACTIVE FOLLOWING EXECUTION OF THE COMMAND.    FMD
*IF DEF,SFMD
*             VERIFY THAT BUS IN IS EQUAL TO 01 HEX.                     FMD
*ENDIF
*IF DEF,PFMD
*             VERIFY THAT BUS IN IS EQUAL TO 09 HEX.
*ENDIF
*IF DEF,LSFMD 
*             VERIFY THAT BUS IN IS EQUAL TO 01 HEX.
*ENDIF
*         9.  ISSUE A 8B COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ALL  FMD
*             ZEROS. VERIFY THAT STATUS VALID AND READY AND SAFE         FMD
*             STATUSES ARE ACTIVE FOLLOWING EXECUTION OF THE COMMAND.    FMD
*             VERIFY THAT BUS IN IS EQUAL TO E0 HEX.                     FMD
*         10. ISSUE A 8C COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ALL  FMD
*             ZEROS. VERIFY THAT STATUS VALID AND READY AND SAFE         FMD
*             STATUSES ARE ACTIVE FOLLOWING EXECUTION OF THE COMMAND.    FMD
*             VERIFY THAT BUS IN IS EQUAL TO 00 HEX.                     FMD
*         11. ISSUE A 8D COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ALL  FMD
*             ZEROS. VERIFY THAT STATUS VALID AND READY AND SAFE         FMD
*             STATUSES ARE ACTIVE FOLLOWING EXECUTION OF THE COMMAND.    FMD
*             VERIFY THAT BUS IN IS EQUAL TO 00 HEX.                     FMD
*         12. ISSUE A 8E COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ALL  FMD
*             ZEROS. VERIFY THAT STATUS VALID AND READY AND SAFE         FMD
*             STATUSES ARE ACTIVE FOLLOWING EXECUTION OF THE COMMAND.    FMD
*             VERIFY THAT BUS IN IS EQUAL TO 00 HEX.                     FMD
*         13. ISSUE A 8F COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ALL  FMD
*             ZEROS. VERIFY THAT STATUS VALID AND READY AND SAFE         FMD
*             STATUSES ARE ACTIVE FOLLOWING EXECUTION OF THE COMMAND.    FMD
*             VERIFY THAT BUS IN IS EQUAL TO 00 HEX.                     FMD
*         14. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD27A - ASSIGN ERROR CODES.                                   FMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97F - PROCESS ERRORS.                                       FMD
*         FMD97G - PROCESS ERRORS.                                       FMD
*         FMD97H - PROCESS ERRORS.                                       FMD
*         FMD97I - PROCESS ERRORS.                                       FMD
*         FMD97J - PROCESS ERRORS.                                       FMD
*         FMD97K - PROCESS ERRORS.                                       FMD
*         FMD97M - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97N - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD27A - ASSIGN ERROR CODES.
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD97F - PROCESS ERRORS.
*         FHD97G - PROCESS ERRORS.
*         FHD97H - PROCESS ERRORS.
*         FHD97I - PROCESS ERRORS.
*         FHD97J - PROCESS ERRORS.
*         FHD97K - PROCESS ERRORS.
*         FHD97M - PROCESS ISOLATION INFORMATION. 
*         FHD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD97F - PROCESS ERRORS.
*         FLD97G - PROCESS ERRORS.
*         FLD97H - PROCESS ERRORS.
*         FLD97I - PROCESS ERRORS.
*         FLM97M - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*         FLD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - MASK FOR BUS IN STATUS.                          FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - EXPECTED BUS IN STATUS.                         FMD
*         B12 REGISTER - ACTUAL BUS IN STATUS.                           FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         OB(40-57) - MASK BUS IN DATA FOR COMMANDS SENT TO THE DRIVE.   FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD27 - 88-8F STATUS TEST                                      FMD
2  FORMAT FMD27 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD27 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD27 - 88-8F STATUS TEST 
2  FORMAT FHD27 - EC *DECD, LC = *DECD
3  FORMAT FHD27 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD27 - 88-8F STATUS TEST 
2  FORMAT FLD27 - EC *DECD, LC = *DECD
3  FORMAT FLD27 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 49,8788,898A,8B8C,8D8E,8F00                            FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
*IF DEF,SFMD
   DATA (OB(20),H) 0,C01F,E01,E000,0000,0                                FMD
*ENDIF
*IF DEF,PFMD
   DATA (OB(20),H) 0,C01F,E09,E000,0000,0 
*ENDIF
*IF DEF,LSFMD 
   DATA (OB(20),H) 0, C01F,E01,E000,0000,0
*ENDIF
*                                                                        FMD
/         MASK FOR EXPECTED BUS IN STATUS.                               FMD
*                                                                        FMD
   DATA (OB(40),H) 0,C03F,FFFF,FFFF,FFFF,FF00 
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 7/0 GOTO 70  *NO SELECT                  FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 11/1 GOTO 66  *READY/SAFE                FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
30 B9=OB(B13)                  *DRIVE COMMAND FROM THE TABLE             FMD
   B8=OB(B13+40)               *MASK FOR ACTUAL BUS IN                   FMD
   B11=OB(B13+20)              *EXPECTED BUS IN FROM TABLE               FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 OUT,CH=CH8,B10,B9,ABT 70      *ISSUE COMMAND TO DRIVE                 FMD
   IF(B13 EQ 1) DELAY 300D MSEC  *DELAY IF RTZ COMMAND                   FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 70         *READ CHANNEL STATUSES                  FMD
   B12=SB(CBIS)                  *SAVE BUS IN STATUS                     FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 13/2 GOTO 70  *BUS VALID               FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 14/3 GOTO 66  *READY/SAFE              FMD
*                                                                        FMD
/         CHECK ON CYLINDER STATUS FROM THE DRIVE.                       FMD
*                                                                        FMD
   IF(B13 NE 1) GOTO 34                  *IF NOT CONDITION 2             FMD
   IF(SB(CCDS)AND COTRK EQ 0)ERROR 15/4 GOTO 70  *OFF TRACK              FMD
   GOTO 42                           *GO TO REPEAT CONDITION             FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
34 B0=B12 AND B8                      *MASK BUS IN STATUS                FMD
   IF(B0 EQ B11) GOTO 42              *BUS IN STATUS CORRECT             FMD
   IF(B13 EQ 2) ERROR 16/5 GOTO 70          *IF CONDITION 2              FMD
   IF(B13 NE 3) GOTO 36                     *NOT CONDITION 3             FMD
   IF(B12 AND 1 EQ 0)ERROR 20/6 GOTO 70     *BIT 0 ERROR                 FMD
   IF(B12 AND 2 EQ 0)ERROR 23/7 GOTO 70     *BIT 1 ERROR                 FMD
   IF(B12 AND 4 EQ 0)ERROR 2/10 GOTO 70     *BIT 2 ERROR                 FMD
   IF(B12 AND 10 EQ 0)ERROR 4/11 GOTO 70    *BIT 3 ERROR                 FMD
   IF(B12 AND 20 EQ 0)ERROR 6/12 GOTO 70    *BIT 4 ERROR                 FMD
   ERROR 10/13 GOTO 70                      *BIT 5 ERROR
36 IF(B13 NE 4) GOTO 40                     *NOT CONDITION 4             FMD
   IF(B12 AND 1 NE 0)ERROR 16/16 GOTO 70    *BIT 0 ERROR                 FMD
   IF(B12 AND 2 EQ 0)ERROR 20/17 GOTO 70    *BIT 1 ERROR                 FMD
   IF(B12 AND 4 EQ 0)ERROR 22/20 GOTO 70    *BIT 2 ERROR                 FMD
   IF(B12 AND 10 EQ 0)ERROR 24/21 GOTO 70   *BIT 3 ERROR                 FMD
   IF(B12 AND 20 NE 0)ERROR 26/22 GOTO 70   *BIT 4 ERROR                 FMD
   IF(B12 AND 40 NE 0)ERROR 2/23 GOTO 70    *BIT 5 ERROR                 FMD
   IF(B12 AND 100 NE 0)ERROR 4/24 GOTO 70   *BIT 6 ERROR                 FMD
   ERROR 6/25 GOTO 70                       *BIT 7 ERROR                 FMD
40 IF(B13 EQ 11) ERROR 11/65 GOTO 70        *IF CONDITION 11             FMD
   IF(B13 EQ 12) ERROR 15/66 GOTO 70        *IF CONDITION 12             FMD
   IF(ES AND SL EQ 0)CALL 27A             *GET ERROR CODE                FMD18
   GOTO 70                              *GO TO PROCESS ERROR             FMD
42 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   GOTO 30 WHILE(B13+1 NE 13)  *LOOP TO DO ALL CMDS TO DRIVE             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   REL,ABT 70                    *RELEASE CONTROLLER AND FMD             FMD
44 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 70         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 70                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
66 STATUS,DETAIL,ABT 70        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 72   *IF SCOPING LOOP                          FMD
   B0=27D                      *MODULE NUMBER                            FMD
   CALL 97F                    *REPORT THE ERROR                         FMD
   CALL 98C                    *ISOLATE READY/SAFE ERROR                 FMD
   GOTO 72                     *GO TO REPEAT CONDITION                   FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
70 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=27D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 97F       *IF NO SCOPING LOOP                 FMD
72 IF(B13 EQ 13) ENDSUB GOTO 44          *IF CONDITION 13                FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 74  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26              *IF CONDITION 0              FMD
   ENDSUB GOTO 42                           *CONDITIONS 1-12             FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 70     *CONNECT TO FIXED MODULE DRIVE             FMD
   ENDSUB GOTO 32             *REPEAT CONDITIONS 1-15                    FMD
76 MSG 1 TO DISPLAY           *DISPLAY RUNNING MESSAGE                   FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
   END 20                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD27A,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD27A,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD27A,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*   5.2.27.1 ASSIGN ERROR CODES FOR MODULE FMD27.                        FMD
*ENDIF
*IF DEF,PFMD
*   5.2.27.1 ASSIGN ERROR CODES FOR MODULE FHD27. 
*ENDIF
*IF DEF,LSFMD 
*   5.2.27.1 ASSIGN ERROR CODES FOR MODULE FLD27. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*          DETERMINE THE ERROR CODES FOR THE BUS IN STATUS ERRORS FOR    FMD
*IF DEF,SFMD
*         THE STATUS COMMANDS 8A, 8B, 8C, AND 8D IN MODULE FMD27.        FMD
*ENDIF
*IF DEF,PFMD
*         THE STATUS COMMANDS 8A, 8B, 8C, AND 8D IN MODULE FHD27. 
*ENDIF
*IF DEF,LSFMD 
*         THE STATUS COMMANDS 8A, 8B, 8C, AND 8D IN MODULE FLD27. 
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE STATUS COMMAND WILL BE DETERMINED BY THE CONDITION NUMBER  FMD
*         IN B13. THEN THE FAILING BIT IN THE BUS IN STATUS WILL BE      FMD
*         ASSIGNED A ERROR MESSAGE ADDRESS AND ERROR CODE NUMBER. WHEN   FMD
*         THE ERROR MESSAGE ADDRESS AND ERROR CODE NUMBER HAVE BEEN      FMD
*         ASSIGNED, EXIT TO THE CALLING MODULE.                          FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B12 REGISTER CONTAINS THE BUS IN STATUS FOR THE COMMAND        FMD
*             ISSUED.                                                    FMD
*         B13 REGISTER CONTAINS THE CONDITION NUMBER.                    FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         EA, EC, AND EM REGISTERS SET FOR THE ERROR TO BE REPORTED.     FMD
*         EXIT IS MADE TO THE CALLING MODULE.                            FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NO SUBMODULES REFERENCED.                                      FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - SET FOR THE ERROR TO                FMD
*                                    BE REPORTED.                        FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*                                                                        FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         REMARKS-                                                       FMD
*                                                                        FMD
*         KNOWN LIMITATIONS-                                             FMD
*                                                                        FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD27 - 88-8F STATUS TEST                                      FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD27 - 88-8F STATUS TEST 
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD27 - 88-8F STATUS TEST 
*ENDIF
*                                                                        FMD
/         B12 REGISTER CONTAINS THE BUS IN STATUS FOR THE                FMD
/         STATUS COMMAND ISSUED AND THE B13 REGISTER                     FMD
/         THE CONDITION NUMBER.                                          FMD
*                                                                        FMD
30 MSG 1 TO DISPLAY                 *DISPLAY RUNNING MESSAGE             FMD
   IF(B13 NE 5) GOTO 32             *NOT CONDITION 5                     FMD
*                                                                        FMD
/         DETERMINE 8A STATUS COMMAND ERROR CODES.                       FMD
*                                                                        FMD
   IF(B12 AND 1 EQ 0)ERROR 10/26 GOTO 40    *BIT 0 ERROR                 FMD
   IF(B12 AND 2 NE 0)ERROR 12/27 GOTO 40    *BIT 1 ERROR                 FMD
   IF(B12 AND 4 NE 0)ERROR 14/30 GOTO 40    *BIT 2 ERROR                 FMD
*IF DEF,SFMD
   IF(B12 AND 10 NE 0)ERROR 16/31 GOTO 40   *BIT 3 ERROR                 FMD
*ENDIF
*IF DEF,PFMD
   IF(B12 AND 10 EQ 0)ERROR 16/31 GOTO 40   *BIT 3 ERROR
*ENDIF
*IF DEF,LSFMD 
   IF(B12 AND 10 NE 0)ERROR 16/31 GOTO 40   *BIT 3 ERROR
*ENDIF
   IF(B12 AND 20 NE 0)ERROR 20/32 GOTO 40   *BIT 4 ERROR                 FMD
   IF(B12 AND 40 NE 0)ERROR 22/33 GOTO 40   *BIT 5 ERROR                 FMD
   IF(B12 AND 100 NE 0)ERROR 24/34 GOTO 40  *BIT 6 ERROR                 FMD
   ERROR 26/35 GOTO 40                      *BIT 7 ERROR                 FMD
32 IF(B13 NE 6) GOTO 34                     *NOT CONDITION 6             FMD
*                                                                        FMD
/         DETERMINE 8B STATUS COMMAND ERROR CODES.                       FMD
*                                                                        FMD
   IF(B12 AND 1 NE 0)ERROR 2/36 GOTO 40     *BIT 0 ERROR                 FMD
   IF(B12 AND 2 NE 0)ERROR 4/37 GOTO 40     *BIT 1 ERROR                 FMD
   IF(B12 AND 4 NE 0)ERROR 6/40 GOTO 40     *BIT 2 ERROR                 FMD
   IF(B12 AND 10 NE 0)ERROR 10/41 GOTO 40   *BIT 3 ERROR                 FMD
   IF(B12 AND 20 NE 0)ERROR 12/42 GOTO 40   *BIT 4 ERROR                 FMD
   IF(B12 AND 40 EQ 0)ERROR 14/43 GOTO 40   *BIT 5 ERROR                 FMD
   IF(B12 AND 100 EQ 0)ERROR 16/44 GOTO 40  *BIT 6 ERROR                 FMD
   ERROR 20/45 GOTO 40                      *BIT 7 ERROR                 FMD
34 IF(B13 NE 7) GOTO 36                     *NOT CONDITION 7             FMD
*                                                                        FMD
/         DETERMINE 8C STATUS COMMAND ERROR CODES.                       FMD
*                                                                        FMD
   IF(B12 AND 1 NE 0)ERROR 22/46 GOTO 40    *BIT 0 ERROR                 FMD
   IF(B12 AND 2 NE 0)ERROR 24/47 GOTO 40    *BIT 1 ERROR                 FMD
   IF(B12 AND 4 NE 0)ERROR 2/50 GOTO 40     *BIT 2 ERROR                 FMD
   IF(B12 AND 10 NE 0)ERROR 5/51 GOTO 40    *BIT 3 ERROR                 FMD
   IF(B12 AND 20 NE 0)ERROR 7/52 GOTO 40    *BIT 4 ERROR                 FMD
   IF(B12 AND 40 NE 0)ERROR 11/53 GOTO 40   *BIT 5 ERROR                 FMD
   IF(B12 AND 100 NE 0)ERROR 13/54 GOTO 40  *BIT 6 ERROR                 FMD
   ERROR 15/55 GOTO 40                      *BIT 7 ERROR                 FMD
*                                                                        FMD
/         DETERMINE 8D STATUS COMMAND ERROR CODES.                       FMD
*                                                                        FMD
36 IF(B12 AND 1 NE 0)ERROR 17/56 GOTO 40    *BIT 0 ERROR                 FMD
   IF(B12 AND 2 NE 0)ERROR 21/57 GOTO 40    *BIT 1 ERROR                 FMD
   IF(B12 AND 4 NE 0)ERROR 23/60 GOTO 40    *BIT 2 ERROR                 FMD
   IF(B12 AND 10 NE 0)ERROR 25/61 GOTO 40   *BIT 3 ERROR                 FMD
   IF(B12 AND 60 NE 0)ERROR 0/62 GOTO 40    *BITS 4,5 ERROR              FMD
   IF(B12 AND 100 NE 0)ERROR 3/63 GOTO 40   *BIT 6 ERROR                 FMD
   ERROR 6/64                               *BIT 7 ERROR                 FMD
40 EXIT                                 *EXIT THE MODULE                 FMD
   END 30                             *END OF THE MODULE                 FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD28,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD28,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD28,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.28 8A, 8D STATUS TEST                                            FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD28 TESTS THE FORWARD/REVERSE DIRECTION STATUS BIT IN THE 8A FMD
*ENDIF
*IF DEF,PFMD
*         FHD28 TESTS THE FORWARD/REVERSE DIRECTION STATUS BIT IN THE 8A
*ENDIF
*IF DEF,LSFMD 
*         FLD28 TESTS THE FORWARD/REVERSE DIRECTION STATUS BIT IN THE 8A
*ENDIF
*         STATUS COMMAND AND THE EARLY AND LATE STROBE MARGIN BITS IN    FMD
*         THE 8D STATUS COMMAND.                                         FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT SELECT AND RESERVED AND THAT READY AND SAFE    FMD
*             ARE ACTIVE FROM THE DRIVE.                                 FMD
*         3.  ISSUE A 42 COMMAND TO THE DRIVE WITH BUS OUT BIT SEVEN     FMD
*             SET.                                                       FMD
*         4.  VERIFY THAT STATUS VALID IS ACTIVE, AND THAT READY AND     FMD
*             SAFE IS ACTIVE.                                            FMD
*         5.  ISSUE A 8A COMMAND TO THE DRIVE WITH BUS OUT OF ZERO.      FMD
*         6.  VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE, AND THAT THE BIT SEVEN IS SET IN THE BUS IN        FMD
*             STATUS.                                                    FMD
*         7.  ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT BIT THREE     FMD
*             SET.                                                       FMD
*         8.  VERIFY THAT STATUS VALID IS ACTIVE, AND THAT READY AND     FMD
*             SAFE IS ACTIVE.                                            FMD
*         9.  ISSUE A 8D COMMAND TO THE DRIVE WITH BUS OUT OF ALL ZEROS. FMD
*         10. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE, AND THAT THE BUS IN STATUS EQUALS 04 HEX.          FMD
*         11. ISSUE A 4D COMMAND TO THE DRIVE WITH BUS OUT BIT FOUR SET. FMD
*         12. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE.                                                    FMD
*         13. ISSUE A 8D COMMAND TO THE DRIVE WITH BUS OUT OF ALL ZEROS. FMD
*         14. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE, AND THAT THE BUS IN STATUS EQUALS 08 HEX.          FMD
*         15. DROP AND RAISE THE SELECT LINE TO THE DRIVE.  VERIFY THAT  FMD
*             SELECT AND RESERVED IS ACTIVE.                             FMD
*         16. ISSUE A 8D COMMAND TO THE DRIVE WITH BUS OUT OF ALL ZEROS. FMD
*         17. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE, AND THAT THE BUS IN STATUS EQUALS 00 HEX.          FMD
*         18. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97F - PROCESS ERRORS.                                       FMD
*         FMD97G - PROCESS ERRORS.                                       FMD
*         FMD97H - PROCESS ERRORS.                                       FMD
*         FMD97I - PROCESS ERRORS.                                       FMD
*         FMD97J - PROCESS ERRORS.                                       FMD
*         FMD97K - PROCESS ERRORS.                                       FMD
*         FMD97L - PROCESS ERRORS.                                       FMD
*         FMD97M - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97N - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD97F - PROCESS ERRORS.
*         FHD97G - PROCESS ERRORS.
*         FHD97H - PROCESS ERRORS.
*         FHD97I - PROCESS ERRORS.
*         FHD97J - PROCESS ERRORS.
*         FHD97K - PROCESS ERRORS.
*         FHD97L - PROCESS ERRORS.
*         FHD97M - PROCESS ISOLATION INFORMATION. 
*         FHD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD97F - PROCESS ERRORS.
*         FLD97G - PROCESS ERRORS.
*         FLD97H - PROCESS ERRORS.
*         FLD97I - PROCESS ERRORS.
*         FLD97J - PROCESS ERRORS.
*         FLD97K - PROCESS ERRORS.
*         FLM97M - PROCESS ISOLATION INFORMATION. 
*         FLD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - MASK FOR BUS IN STATUS.                          FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN STATUS.                         FMD
*         B12 REGISTER - ACTUAL BUS IN STATUS.                           FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - COMMANDS TO BE SENT TO THE DRIVE.                   FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE SENT TO THE DRIVE. FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         OB(60-77) - MASK FOR BUS IN DATA FOR COMMANDS SENT TO THE      FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD28 - 8A, 8D STATUS TEST                                     FMD
2  FORMAT FMD28 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD28 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD28 - 8A, 8D STATUS TEST
2  FORMAT FHD28 - EC *DECD, LC = *DECD
3  FORMAT FHD28 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD28 - 8A, 8D STATUS TEST
2  FORMAT FLD28 - EC *DECD, LC = *DECD
3  FORMAT FLD28 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 42,8A4D,8D4D,8D01,8D00                                 FMD
*                                                                        FMD
/         BUS OUT DATA FOR DRIVE COMMANDS.                               FMD
*                                                                        FMD
   DATA (OB(20),H) 80,8,10,0,0                                           FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
   DATA (OB(40),H) 0,8000,400,800,0                                      FMD
*                                                                        FMD
/         MASK FOR EXPECTED BUS IN STATUS.                               FMD
*                                                                        FMD
   DATA (OB(60),H) 0,8000,FF00,FF00,FF00                                 FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 7/0 GOTO 66  *NO SELECT                  FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 11/1 GOTO 64  *READY/SAFE                FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
30 B8=OB(B13+60)                *MASK FOR BUS IN STATUS                  FMD
   B9=OB(B13)                   *DRIVE COMMMAND TO BE ISSUED             FMD
   B10=OB(B13+20)               *BUS OUT FROM THE TABLE                  FMD
   B11=OB(B13+40)               *EXPECTED BUS IN FROM TABLE              FMD
*                                                                        FMD
/         SEND A COMMAND TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 IF(B13 NE 7)GOTO 34             *IF NOT CONDITION 4                   FMD
   GOSUB 50                        *DROP, RAISE SELECT LINE              FMD18
   IF(SB(CDS)AND DSR NE 0)GOTO 40  *IF DRIVE SELECTED                    FMD
   ERROR 7/0 GOTO 66               *SELECT ERROR                         FMD
34 OUT,CH=CH8,B10,B9,ABT 66        *ISSUE COMMAND TO DRIVE               FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 66           *READ CHANNEL STATUSES                FMD
   B12=SB(CBIS)                    *SAVE BUS IN STATUS                   FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 13/2 GOTO 66  *BUS VALID               FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 14/3 GOTO 64  *READY/SAFE              FMD
   IF(B13 EQ 1) GOTO 36                     *IF CONDITION 1              FMD
   IF(B13 EQ 3) GOTO 36                     *IF CONDITION 3              FMD
   IF(B13 EQ 5) GOTO 36                     *IF CONDITION 5              FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
   B0=B12 AND B8                   *MASK BUS IN STATUS                   FMD
   IF(B0 EQ B11) GOTO 36           *IF BUS IN STATUS CORRECT             FMD
   IF(B13 EQ 2)ERROR 17/67 GOTO 66  *IF CONDITION 2                      FMD
   IF(B13 EQ 4)ERROR 17/76 GOTO 66  *IF CONDITION 4                      FMD
   IF(B13 EQ 6)ERROR 22/70 GOTO 66  *IF CONDITION 6                      FMD
   ERROR 0/71 GOTO 66               *IF CONDITION 10                     FMD
36 GOSUB 74                       *PROCESS REPEAT CONDITION              FMD
   GOTO 30 WHILE(B13+1 NE 11)  *LOOP TO DO ALL CMDS TO DRIVE             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   REL,ABT 66                    *RELEASE CONTROLLER AND FMD             FMD
40 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 66         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 66                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
64 STATUS,DETAIL,ABT 66        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 70   *IF SCOPING LOOP                          FMD
   B0=28D                      *MODULE NUMBER                            FMD
   CALL 97F                    *REPORT THE ERROR                         FMD
   CALL 98C                    *ISOLATE READY/SAFE ERROR                 FMD
   GOTO 70                     *GO TO REPEAT CONDITION                   FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
66 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=28D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 97F       *IF NO SCOPING LOOP                 FMD
70 IF(B13 EQ 11) ENDSUB GOTO 40         *IF CONDITION 11                 FMD
   IF(ES AND RC NE 0) GOTO 72           *IF REPEAT CONDITION             FMD
   IF(B13 NE 6) RES,DRIVE,FAULT,ABT 66  *RESERVE DRIVE                   FMD
72 IF(B13 EQ 0) ENDSUB GOTO 26          *IF CONDITION 0                  FMD
   ENDSUB GOTO 36                       *CONDITIONS 1-11                 FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY      *DISPLAY RC MESSAGE                   FMD
   IF(B13 EQ 0) ENDSUB GOTO 24        *REPEAT CONDITION 0                FMD
   IF(B13 NE 7)RES,DRIVE,FAULT,ABT 66  *RESERVE DRIVE                    FMD
   ENDSUB GOTO 32                    *REPEAT CONDITIONS 1-11             FMD
76 MSG 1 TO DISPLAY                 *DISPLAY RUNNING MESSAGE             FMD
   RETURN                           *EXIT THE SUBROUTINE                 FMD
   END 20                           *END OF THE MODULE                   FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD29,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD29,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD29,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.29 DRIVE ADDRESS TEST                                            FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD29 IS ENABLES THE OPERATOR TO CHECK THE DRIVE ADDRESS       FMD
*ENDIF
*IF DEF,PFMD
*         FHD29 ENABLES THE OPERATOR TO CHECK THE DRIVE ADDRESS 
*ENDIF
*IF DEF,LSFMD 
*         FLD29 ENABLES THE OPERATER TO CHECK THE DRIVE ADDRESS 
*ENDIF
*         SWITCHES IN THE FIXED MODULE DRIVE. MANUAL OPERATIONS ARE      FMD
*         REQUIRED TO DO THIS.                                           FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CHECK IF OPERATOR INTERVENTION IS DISABLED IN PARAMETER    FMD
*             WORD 5. IF IT IS NOT, GO TO STEP 3.                        FMD
*         2.  CHECK FOR REPEAT MODULE SELECTED AND IF IT IS, EXIT TO     FMD
*IF DEF,SFMD
*             MODULE FMD98A OTHERWISE DO A NORMAL EXIT OF THE MODULE.    FMD
*ENDIF
*IF DEF,PFMD
*             MODULE FHD98A OTHERWISE DO A NORMAL EXIT OF THE MODULE. 
*ENDIF
*IF DEF,LSFMD 
*             MODULE FLD98A OTHERWISE DO A NORMAL EXIT OF THE MODULE. 
*ENDIF
*         3.  DISPLAY A MESSAGE REQUESTING THE OPERATOR TO POWER DOWN    FMD
*             THE DRIVE, RECORD THE SETTING OF THE DRIVE ADDRESS         FMD
*             SELECTED ON BOARD A/B20, SET THEM TO ALL ONES, AND POWER   FMD
*             UP THE DRIVE AGAIN.                                        FMD
*         4.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED IS ACTIVE FROM THE DRIVE.  FMD
*         5.  ISSUE A 87 COMMAND TO THE DRIVE WITH BUS OUT OF ZERO.      FMD
*             VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE, AND THAT THE BUS IN STATUS IS EQUAL TO CF HEX.     FMD
*         6.  DISPLAY A MESSAGE REQUESTING THE OPERATOR TO POWER DOWN    FMD
*             THE DRIVE, CHANGE THE SETTING OF THE DRIVE ADDRESS SELECT  FMD
*             ON BOARD A/B20 TO ALL ZEROS, AND POWER UP THE DRIVE AGAIN. FMD
*         7.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED IS ACTIVE FROM THE DRIVE.  FMD
*         8.  ISSUE A 87 COMMAND TO THE DRIVE WITH BUS OUT OF ZERO.      FMD
*             VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE, AND THAT THE BUS IN STATUS IS EQUAL TO C0 HEX.     FMD
*         9.  DISPLAY A MESSAGE REQUESTING THE OPERATOR TO POWER DOWN    FMD
*             THE DRIVE, CHANGE THE SETTING OF THE DRIVE ADDRESS SELECT  FMD
*             ON BOARD A/B20 BACK TO THE ORIGINAL SETTINGS AND POWER UP  FMD
*             THE DRIVE AGAIN.                                           FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97F - PROCESS ERRORS.                                       FMD
*         FMD97G - PROCESS ERRORS.                                       FMD
*         FMD97H - PROCESS ERRORS.                                       FMD
*         FMD97I - PROCESS ERRORS.                                       FMD
*         FMD97J - PROCESS ERRORS.                                       FMD
*         FMD97K - PROCESS ERRORS.                                       FMD
*         FMD97L - PROCESS ERRORS.                                       FMD
*         FMD97M - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97N - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD97F - PROCESS ERRORS.
*         FHD97G - PROCESS ERRORS.
*         FHD97H - PROCESS ERRORS.
*         FHD97I - PROCESS ERRORS.
*         FHD97J - PROCESS ERRORS.
*         FHD97K - PROCESS ERRORS.
*         FHD97L - PROCESS ERRORS.
*         FHD97M - PROCESS ISOLATION INFORMATION. 
*         FHD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD97F - PROCESS ERRORS.
*         FLD97G - PROCESS ERRORS.
*         FLD97H - PROCESS ERRORS.
*         FLD97I - PROCESS ERRORS.
*         FLD97J - PROCESS ERRORS.
*         FLD97K - PROCESS ERRORS.
*         FLD97L - PROCESS ERRORS.
*         FLM97M - PROCESS ISOLATION INFORMATION. 
*         FLD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN STATUS.                         FMD
*         B12 REGISTER - ACTUAL BUS IN STATUS.                           FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-7) - COMMANDS TO BE SENT TO THE DRIVE.                    FMD
*         OB(10-17) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         OB(20-47) - FORMAT STATEMENT NUMBERS FOR DISPLAYS TO BE BUILT. FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
2  FORMAT FMD29 - DRIVE ADDRESS TEST                                     FMD
3  FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD05
4  FORMAT FMD29 - EC *DECD, LC = *DECD                                   FMD
5  FORMAT FMD29 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
2  FORMAT FHD29 - DRIVE ADDRESS TEST
3  FORMAT PRESERVICE FORECAST GROUP FHDD
4  FORMAT FHD29 - EC *DECD, LC = *DECD
5  FORMAT FHD29 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
2  FORMAT FLD29 - DRIVE ADDRESS TEST
3  FORMAT PRESERVICE FORECAST GROUP FMDD
4  FORMAT FLD29 - EC *DECD, LC = *DECD
5  FORMAT FLD29 - *DECD ERRORS
*ENDIF
6  FORMAT MANUAL INTERVENTION STOP                                       FMD
7  FORMAT POWER UNIT DOWN AND RECORD ADDRESS                             FMD
10 FORMAT SELECTED ON BOARD A/B20 . 
11 FORMAT SET ADDRESS SWITCHES ON A/B20 BOARD TO
12 FORMAT MAXIMUM (1111 1111).
13 FORMAT POWER UNIT BACK UP AND WAIT FOR READY.                         FMD
14 FORMAT STOP UNIT AND CHANGE ADDRESS ON A/B20 TO
15 FORMAT ZERO.                                                          FMD
16 FORMAT POWER UNIT DOWN AND SET ADDRESS                                FMD
17 FORMAT SWITCHES BACK TO ORIGINAL POSITIONS.                           FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DOPIN=10, DSRRS=600                                            FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 87,8800,8788,0
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
   DATA (OB(10),H) FF,C000,C000,0 
*                                                                        FMD
/         FORMAT STATEMENT NUMBERS FOR BUILDING THE DISPLAY              FMD
/         MESSAGES.                                                      FMD
*                                                                        FMD
   DATA (OB(20),CON) 7,10,11,12,13,0,                                    FMD
   DATA (OB(30),CON) 14,15,13,0                                          FMD
   DATA (OB(40),CON) 16,17,13,0                                          FMD
*                                                                        FMD
/         DETERMINE IF OPERATOR INTERVENTION ENABLED.                    FMD
*                                                                        FMD
20 IF(P5 AND DOPIN EQ 0)GOTO 22   *IF MANUAL INTERVENTION                FMD
   IF(ES AND RM NE 0)EXIT TO 98A  *IF REPEAT MODULE ENABLED              FMD
   EXIT                           *EXIT THE MODULE                       FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
22 MSG 2 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
24 MSG 2 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         DETERMINE BUFFER ADDRESS FOR FORMAT SEQUENCE.                  FMD
*                                                                        FMD
26 IF(B13 EQ 0)B0=20         *INITIALIZE MESSAGE POINTER                 FMD
   IF(B13 EQ 3)B0=30         *INITIALIZE MESSAGE POINTER
   IF(B13 EQ 6)B0=40         *INITIALIZE MESSAGE POINTER
*                                                                        FMD
/         DISPLAY MANUAL INTERVENTION MESSAGE.                           FMD
*                                                                        FMD
   MSG 1 TO LINE 1           *DIAGNOSTIC TITLE MESSAGE                   FMD
   MSG 2 TO LINE 2           *MODULE NUMBER AND NAME MESSAGE             FMD
   MSG 3 TO LINE 3           *PRESERVICE FORECAST MESSAGE                FMD05
   MSG 6 TO LINE 12          *MANUAL INTERVENTION MESSAGE                FMD
   B1=14                     *INITIALIZE DISPLAY LINE NUMBER             FMD
30 B2=OB(B0)                 *MESSAGE NUMBER                             FMD
   IF(B2 EQ 0) GOTO 32       *IF END OF MESSAGE                          FMD
   MSG B2 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B0=B0+1                   *INCREMENT MESSAGE POINTER                  FMD
   GOTO 30                   *LOOP TO COMPLETE MESSAGE                   FMD
32 PICTURE                   *DISPLAY MESSAGE ON TERMINAL 
   PAUSE                     *HALT
   BLANK                     *CLEAR DISPLAY SCREEN                       FMD
   IF(B13 NE 6) GOTO 34      *IF MODULE NOT COMPLETED 
   IF(ES AND RM NE 0) GOTO 24     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 5(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
34 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 7/0 GOTO 72  *NO SELECT                  FMD
36 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=B13+1                       *UPDATE CONDITION NUMBER              FMD
   B9=OB(B13)                      *DRIVE COMMAND NUMBER                 FMD
   B11=OB(B13+10)                  *EXPECTED BUS IN STATUS               FMD
*                                                                        FMD
/         ISSUE 87 COMMAND TO THE 885 DRIVE.                             FMD
*                                                                        FMD
40 OUT,CH=CH8,0,B9,ABT 72         *ISSUE 87 COMMAND TO DRIVE             FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 72          *READ CHANNEL STATUSES                 FMD
   B12=SB(CBIS)                   *SAVE BUS IN STATUS                    FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 13/2 GOTO 72  *BUS VALID               FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 14/3 GOTO 72  *READY/SAFE              FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
   IF(B9 EQ 210)B11=B12 AND 77+B11  *IF CONDITION 2/5 
   IF(B12 EQ B11) GOTO 42          *IF BUS IN STATUS CORRECT             FMD
   IF(B13 EQ 1)ERROR 3/72 GOTO 72  *IF CONDITION 1                       FMD
   IF(B13 EQ 2)ERROR 3/77 GOTO 72  *IF CONDITION 2
   IF(B13 EQ 4)ERROR 6/73 GOTO 72  *IF CONDITION 4
   ERROR 6/100 GOTO 72             *ELSE, CONDITION 5 
42 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   IF(B9 EQ 207) GOTO 34           *IF CONDITION 1/4
   B13=B13+1                       *UPDATE CONDITION NUMBER              FMD
   GOTO 26                        *LOOP TO DO ALL CONDITIONS             FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 72         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSR NE DSRRS)RETURN     *DRIVE STATUS ERROR               FMD18
   GOTO 72                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=29D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 97F       *IF NO SCOPING LOOP                 FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 36          *IF CONDITION 0                  FMD
   IF(B13 EQ 3) ENDSUB GOTO 36         *IF CONDITION 3
   ENDSUB GOTO 42                      *CONDITIONS 1,2,4,5
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 4 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 34  *REPEAT CONDITION 0                      FMD
   IF(B13 EQ 3) ENDSUB GOTO 34  *REPEAT CONDITION 3 
   RES,DRIVE,FAULT,ABT 72       *RESERVE DRIVE                           FMD
   ENDSUB GOTO 40            *REPEAT CONDITIONS 1,2,4,5 
76 MSG 2 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD30,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD30,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD30,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.30 MAINT/RD SWITCH TEST                                          FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD30 IS ENABLES THE OPERATOR TO CHECK THE SYSTEM MAINTENANCE  FMD
*ENDIF
*IF DEF,PFMD
*         FHD30 ENABLES THE OPERATOR TO CHECK THE SYSTEM MAINTENANCE
*ENDIF
*IF DEF,LSFMD 
*         FLD30 ENABLES THE OPERATER TO CHECK THE SYSTEM MAINTENANCE
*ENDIF
*         AND READ ONLY SWITCHES ON THE FIXED MODULE DRIVE. MANUAL       FMD
*         OPERATIONS ARE REQUIRED TO DO THIS.                            FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CHECK IF OPERATOR INTERVENTION IS DISABLED IN PARAMETER    FMD
*             WORD 5. IF IT IS NOT, GO TO STEP 3.                        FMD
*         2.  CHECK FOR REPEAT MODULE SELECTED AND IF IT IS, EXIT TO     FMD
*IF DEF,SFMD
*             MODULE FMD98A OTHERWISE DO A NORMAL EXIT OF THE MODULE.    FMD
*ENDIF
*IF DEF,PFMD
*             MODULE FHD98A OTHERWISE DO A NORMAL EXIT OF THE MODULE. 
*ENDIF
*IF DEF,LSFMD 
*             MODULE FLD98A OTHERWISE DO A NORMAL EXIT OF THE MODULE. 
*ENDIF
*         3.  DISPLAY A MESSAGE REQUESTING THE OPERATOR TO REMOVE THE    FMD
*             FIXED MODULE DRIVE FROM SYSTEM MAINTENANCE.                FMD
*         4.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED IS ACTIVE FROM THE DRIVE.  FMD
*         5.  ISSUE A 87 COMMAND TO THE DRIVE WITH BUS OUT OF ZERO.      FMD
*             VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE, AND THAT THE BUS IN STATUS IS EQUAL TO 1000 XXXX.  FMD
*         6.  DISPLAY A MESSAGE REQUESTING THE OPERATOR TO PLACE THE     FMD
*             FIXED MODULE DRIVE IN SYSTEM MAINTENANCE AGAIN AND TO      FMD
*             DEPRESS THE READ ONLY SWITCH ON THE DRIVE.                 FMD
*         7.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED IS ACTIVE FROM THE DRIVE.  FMD
*         8.  ISSUE A 88 COMMAND TO THE DRIVE WITH BUS OUT OF ZERO.      FMD
*             VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE, AND THAT THE BUS IN STATUS IS EQUAL TO 0F HEX.     FMD
*         9.  DISPLAY A MESSAGE REQUESTING THE OPERATOR TO RELEASE THE   FMD
*             READ ONLY SWITCH ON THE FIXED MODULE DRIVE.                FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97F - PROCESS ERRORS.                                       FMD
*         FMD97G - PROCESS ERRORS.                                       FMD
*         FMD97H - PROCESS ERRORS.                                       FMD
*         FMD97I - PROCESS ERRORS.                                       FMD
*         FMD97J - PROCESS ERRORS.                                       FMD
*         FMD97K - PROCESS ERRORS.                                       FMD
*         FMD97L - PROCESS ERRORS.                                       FMD
*         FMD97M - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97N - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD97F - PROCESS ERRORS.
*         FHD97G - PROCESS ERRORS.
*         FHD97H - PROCESS ERRORS.
*         FHD97I - PROCESS ERRORS.
*         FHD97J - PROCESS ERRORS.
*         FHD97K - PROCESS ERRORS.
*         FHD97L - PROCESS ERRORS.
*         FHD97M - PROCESS ISOLATION INFORMATION. 
*         FHD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD97F - PROCESS ISOLATION INFORMATION. 
*         FLD97G - PROCESS ERRORS.
*         FLD97H - PROCESS ERRORS.
*         FLD97I - PROCESS ERRORS.
*         FLD97J - PROCESS ERRORS.
*         FLD97K - PROCESS ERRORS.
*         FLD97L - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN STATUS.                         FMD
*         B12 REGISTER - ACTUAL BUS IN STATUS.                           FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-7) - COMMANDS TO BE SENT TO THE DRIVE.                    FMD
*         OB(10-17) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         OB(20-47) - FORMAT STATEMENT NUMBERS FOR DISPLAYS TO BE BUILT. FMD10
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
2  FORMAT FMD30 - MAINT/RD SWITCH TEST                                   FMD
3  FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD05
4  FORMAT FMD30 - EC *DECD, LC = *DECD                                   FMD
5  FORMAT FMD30 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
2  FORMAT FHD30 - MAINT/RD SWITCH TEST
3  FORMAT PRESERVICE FORECAST GROUP FHDD
4  FORMAT FHD30 - EC *DECD, LC = *DECD
5  FORMAT FHD30 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
2  FORMAT FLD30 - MAINT/RD SWITCH TEST
3  FORMAT PRESERVICE FORECAST GROUP FMDD
4  FORMAT FLD30 - EC *DECD, LC = *DECD
5  FORMAT FLD30 - *DECD ERRORS
*ENDIF
6  FORMAT MANUAL INTERVENTION STOP                                       FMD
7  FORMAT REMOVE UNIT FROM SYSTEM MAINTENANCE.                           FMD
10 FORMAT PLACE UNIT IN SYSTEM MAINTENANCE.                              FMD
11 FORMAT DEPRESS READ ONLY SWITCH.                                      FMD
12 FORMAT REMOVE READ ONLY SWITCH.                                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DOPIN=10, DSRRS=600                                            FMD18
*                                                                        FMD
/         DRIVE COMMANDS TO BE ISSUED.                                   FMD
*                                                                        FMD
   DATA (OB(0),H) 87,88                                                  FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FROM DRIVE COMMANDS.                    FMD
*                                                                        FMD
   DATA (OB(10),H) 80,F                                                  FMD11
*                                                                        FMD
/         FORMAT STATEMENT NUMBERS FOR BUILDING THE DISPLAY              FMD
/         MESSAGES.                                                      FMD
*                                                                        FMD
   DATA (OB(20),CON) 7,0                                                 FMD
   DATA (OB(30),CON) 10,11,0                                             FMD
   DATA (OB(40),CON) 12,0                                                FMD
*                                                                        FMD
/         DETERMINE IF OPERATOR INTERVENTION ENABLED.                    FMD
*                                                                        FMD
20 IF(P5 AND DOPIN EQ 0)GOTO 22   *IF MANUAL INTERVENTION                FMD
   IF(ES AND RM NE 0)EXIT TO 98A  *IF REPEAT MODULE ENABLED              FMD
   EXIT                           *EXIT THE MODULE                       FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
22 MSG 2 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
24 MSG 2 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         DETERMINE BUFFER ADDRESS FOR FORMAT SEQUENCE.                  FMD
*                                                                        FMD
26 IF(B13 EQ 0)B0=20         *INITIALIZE MESSAGE POINTER                 FMD
   IF(B13 EQ 2)B0=30         *INITIALIZE MESSAGE POINTER                 FMD
   IF(B13 EQ 4)B0=40         *INITIALIZE MESSAGE POINTER                 FMD
*                                                                        FMD
/         DISPLAY MANUAL INTERVENTION MESSAGE.                           FMD
*                                                                        FMD
   MSG 1 TO LINE 1           *DIAGNOSTIC TITLE MESSAGE                   FMD
   MSG 2 TO LINE 2           *MODULE NUMBER AND NAME MESSAGE             FMD
   MSG 3 TO LINE 3           *PRESERVICE GROUP MESSAGE                   FMD
   MSG 6 TO LINE 12          *MANUAL INTERVENTION MESSAGE                FMD
   B1=14                     *INITIALIZE DISPLAY LINE NUMBER             FMD
30 B2=OB(B0)                 *MESSAGE NUMBER                             FMD
   IF(B2 EQ 0) GOTO 32       *IF END OF MESSAGE                          FMD
   MSG B2 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B0=B0+1                   *INCREMENT MESSAGE POINTER                  FMD
   GOTO 30                   *LOOP TO COMPLETE MESSAGE                   FMD
32 PICTURE                   *DISPLAY MESSAGE ON TERMINAL 
   PAUSE                     *HALT
   BLANK                     *CLEAR DISPLAY SCREEN                       FMD
   IF(B13 NE 4) GOTO 34           *IF MODULE NOT COMPLETED               FMD
   IF(ES AND RM NE 0) GOTO 24     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 5(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
34 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 7/0 GOTO 72  *NO SELECT                  FMD
36 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=B13+1                       *UPDATE CONDITION NUMBER              FMD
   B9=OB(B13)                      *DRIVE COMMAND NUMBER                 FMD
   B11=OB(B13+10)                  *EXPECTED BUS IN STATUS               FMD
*                                                                        FMD
/         ISSUE 87 COMMAND TO THE 885 DRIVE.                             FMD
*                                                                        FMD
40 OUT,CH=CH8,0,B9,ABT 72         *ISSUE 87 COMMAND TO DRIVE             FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 72          *READ CHANNEL STATUSES                 FMD
   B12=SB(CBIS)                   *SAVE BUS IN STATUS                    FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 13/2 GOTO 72  *BUS VALID               FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 14/3 GOTO 72  *READY/SAFE              FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
   IF(B13 EQ 1)B11=B12 AND 77+B11    *IF CONDITION 1
   IF(B13 EQ 3)B11=B12 AND 340+B11   *IF CONDITION 3
   IF(B12 EQ B11) GOTO 42            *BUS IN STATUS CORRECT              FMD
   IF(B13 EQ 1)ERROR 11/74 GOTO 72   *IF CONDITION 1                     FMD
   ERROR 14/75 GOTO 72               *IF CONDITION 3                     FMD
42 GOSUB 74                       *PROCESS REPEAT CONDITION              FMD
   B13=B13+1                      *UPDATE CONDITION NUMBER               FMD
   GOTO 26                        *LOOP TO DO ALL CONDITIONS             FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 72         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSR NE DSRRS)RETURN     *DRIVE STATUS ERROR               FMD18
   GOTO 72                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=30D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 97F       *IF NO SCOPING LOOP                 FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 36          *IF CONDITION 0                  FMD
   IF(B13 EQ 2) ENDSUB GOTO 36          *IF CONDITION 2                  FMD
   ENDSUB GOTO 42                       *CONDITIONS 1, 3                 FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 4 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 34  *REPEAT CONDITION 0                      FMD
   IF(B13 EQ 2) ENDSUB GOTO 34  *REPEAT CONDITION 2                      FMD
   RES,DRIVE,FAULT,ABT 72       *RESERVE DRIVE                           FMD
   ENDSUB GOTO 40               *REPEAT CONDITIONS 1, 3                  FMD
76 MSG 2 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD31,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD31,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD31,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.31 SECTOR COMP. TEST 1                                           FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD31 VERIFIES THAT THE SECTOR REGISTER CAN BE LOADED          FMD
*ENDIF
*IF DEF,PFMD
*         FHD31 VERIFIES THAT THE SECTOR REGISTER CAN BE LOADED 
*ENDIF
*IF DEF,LSFMD 
*         FLD31 VERIFIES THAT THE SECTOR REGISTER CAN BE LOADED 
*ENDIF
*         CORRECTLY WITH VALUES FROM 00 THROUGH 34 DECIMAL AND THAT A    FMD
*         SECTOR COMPARE OCCURS FOR EACH VALUE LOADED INTO THE REGISTER. FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  SET THE INTERNAL SECTOR COUNTER TO ZER0.                   FMD
*         2.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         3.  VERIFY THAT SELECT AND RESERVED AND THAT READY AND SAFE    FMD
*             ARE ACTIVE FROM THE DRIVE.                                 FMD
*         4.  ISSUE A 45 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO THE  FMD
*             INTERNAL SECTOR COUNTER.                                   FMD
*         5.  VERIFY THAT STATUS VALID IS ACTIVE AND THAT BUS IN IS      FMD
*             EQUAL TO THE INTERNAL SECTOR COUNTER. VERIFY THAT READY    FMD
*             AND SAFE IS ACTIVE AND THAT A SECTOR COMPARE COMES UP.     FMD
*         6.  IF READY AND SAFE IS NOT ACTIVE, ISSUE A 8E COMMAND TO THE FMD
*             DRIVE. VERIFY THAT STATUS VALID IS ACTIVE. IF BITS 5 AND 6 FMD
*             OF BUS IN ARE NOT ACTIVE, ISOLATE THE READY AND SAFE FAULT FMD
*             OTHERWISE REPORT AN ERROR.                                 FMD
*         7.  ISSUE A 85 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE, READY AND SAFE   FMD
*             IS ACTIVE, AND THAT THE BUS IN IS EQUAL TO THE INTERNAL    FMD
*             SECTOR COUNTER.                                            FMD
*         8.  INCREMENT THE INTERNAL SECTOR COUNTER BY ONE AND REPEAT    FMD
*             STEPS 2 THROUGH 7 UNTIL THE INTERNAL SECTOR COUNTER EQUALS FMD
*             35 DECIMAL.                                                FMD
*         9.  RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97O - PROCESS ERRORS.                                       FMD
*         FMD97R - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD97O - PROCESS ERRORS.
*         FHD97R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD970 - PROCESS ERRORS.
*         FLD97R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - INTERNAL SECTOR COUNTER.                        FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-61) - CONTROL SEQUENCE FOR THE 7155 CONTROLLER            FMD
*         OB(100-105) - COMMANDS TO BE SENT TO THE DRIVE.                FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD31 - SECTOR COMP. TEST 1                                    FMD
2  FORMAT FMD31 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD31 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD31 - SECTOR COMP. TEST 1 
2  FORMAT FHD31 - EC *DECD, LC = *DECD
3  FORMAT FHD31 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD31 - SECTOR COMP. TEST 1 
2  FORMAT FLD31 - EC *DECD, LC = *DECD
3  FORMAT FLD31 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         COMMANDS TO BE ISSUED TO THE DRIVE.                            FMD
*                                                                        FMD
   DATA (OB(100),H) 45,8E85                                              FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B11=0                     *INTERNAL SECTOR COUNTER                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 54                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 7/0 GOTO 66  *NO SELECT                  FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 15/5 GOTO 62  *READY/SAFE                FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
30 B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE 45 COMMAND TO THE 885 DRIVE.                             FMD
*                                                                        FMD
32 B9=OB(B13+100)                *DRIVE COMMAND TO BE ISSUED             FMD
   B10=B11                       *EXPECTED BUS IN DATA                   FMD
   OUT,CH=CH8,B10,B9,ABT 66      *ISSUE COMMAND TO DRIVE                 FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 66         *READ CHANNEL STATUSES                  FMD
   B12=SB(CBIS)                  *SAVE BUS IN STATUS                     FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 11/1 GOTO 66  *BUS VALID               FMD10
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
   IF(B13 NE 1) GOTO 34                *IF NOT CONDITION 1               FMD
   IF(B12 NE B11) ERROR 13/3 GOTO 66   *45 CMD BUS IN ERROR              FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
34 IF(SB(CCDS)AND CDRS NE 0)GOTO 42   *IF READY/SAFE ACTIVE              FMD
   IF(B13 EQ 3) ERROR 15/5 GOTO 62    *READY/SAFE ERROR                  FMD
*                                                                        FMD
/         ISSUE 8E COMMAND TO THE 885 DRIVE.                             FMD
*                                                                        FMD
36 OUT,CH=CH8,0,216,ABT 66        *ISSUE 8E COMMAND TO DRIVE             FMD
   STATUS,CHANNEL ABT 66          *READ CHANNEL STATUSES                 FMD
   B12=SB(CBIS)                   *SAVE BUS IN STATUS                    FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(SB(CCDS) AND CDSV NE 0)GOTO 40   *STATUS VALID ACTIVE              FMD
   IF(ES AND RC EQ 0)B13=2             *CONDITION NUMBER 3               FMD
   ERROR 11/1 GOTO 66                  *STATUS VALID ERROR               FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
40 IF(B12 AND 140 NE 0)ERROR 12/2 GOTO 66  *READY/SAFE ERROR             FMD
   STATUS,DETAIL,ABT 66            *GET DETAILED STATUS                  FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   GOTO 64                     *ISOLATE READY/SAFE ERROR                 FMD
*                                                                        FMD
/         CHECK FOR SECTOR COMPARE ACTIVE.                               FMD
*                                                                        FMD
42 IF(B13 NE 1) GOTO 44             *IF NOT CONDITION 1                  FMD
   CONTROL,0,36,0,200,ABT 66        *ON SECTOR DELAY                     FMD
   CONTROL,0,0,0,0,EXECUTE,ABT 66   *EXECUTE CONTROL SEQ.                FMD
   DELAY,34D MSEC                   *DELAY 2 REVOLUTIONS                 FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 66              *READ CHANNEL STATUSES             FMD
   IF(SB(12) NE 0)ERROR 14/4 GOTO 66  *SECTOR COMPARE ERROR              FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
44 IF(B13 NE 3) GOTO 46               *IF NOT CONDITION 1                FMD
   IF(B12 NE B11)ERROR 17/6 GOTO 66   *85 CMD BUS IN ERROR               FMD
46 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   IF(B13 EQ 3) GOTO 50            *IF CONDITION NUMBER IS 3             FMD
   B13=3                           *CONDITION NUMBER 3                   FMD
   GOTO 32                         *GO TO DO NEXT CONDITION              FMD
50 RES,DRIVE,FAULT,ABT 66          *RESERVE THE DRIVE                    FMD
   GOTO 30 WHILE(B11+1 NE 35D)     *LOOP CHECK ALL SECTORS               FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=4                         *CONDITION NUMBER 4                     FMD
   REL,ABT 66                    *RELEASE CONTROLLER AND FMD             FMD
52 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
54 RES,DRIVE,FAULT,ABT 56    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
56 IF(EC AND 77 NE 25) GOTO 66         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 66                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
62 STATUS,DETAIL,ABT 66        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=31D                       *MODULE NUMBER                           FMD
   IF(ES AND SL EQ 0) CALL 97O  *IF NO SCOPING LOOP                      FMD
64 IF(ES AND SL EQ 0) CALL 98C  *ISOLATE READY/SAFE ERROR                FMD
   GOTO 70                      *GO TO REPEAT CONDITION                  FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
66 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=31D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 97O       *IF NO SCOPING LOOP                 FMD
70 IF(B13 EQ 4) ENDSUB GOTO 52         *IF CONDITION 4                   FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 66  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26         *IF CONDITION 0                   FMD
   ENDSUB GOTO 46                       *CONDITIONS 1-3                  FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 66       *RESERVE DRIVE                           FMD
   IF(B13 EQ 2) ENDSUB GOTO 36  *REPEAT CONDITION 2                      FMD
   ENDSUB GOTO 32               *REPEAT CONDITIONS 1,3                   FMD
76 MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD32,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD32,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD32,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.32 SECTOR COMP. TEST 2                                           FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD32 VERIFIES THAT THE SECTOR REGISTER CAN BE LOADED          FMD
*ENDIF
*IF DEF,PFMD
*         FHD32 VERIFIES THAT THE SECTOR REGISTER CAN BE LOADED 
*ENDIF
*IF DEF,LSFMD 
*         FLD32 VERIFIES THAT THE SECTOR REGISTER CAN BE LOADED 
*ENDIF
*         CORRECTLY WITH VALUES FROM 35 THROUGH 64 DECIMAL AND THAT THE  FMD
*         CORRECT STATUS BITS ARE SET IN THE BUS IN STATUSES FOR THE 48, FMD
*         49, 4A, 85, 87, AND 8E DRIVE COMMANDS.                         FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  SET THE INTERNAL SECTOR COUNTER TO 35 DECIMAL.             FMD
*         2.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         3.  VERIFY THAT SELECT AND RESERVED AND THAT READY AND SAFE    FMD
*             ARE ACTIVE FROM THE DRIVE.                                 FMD
*         4.  ISSUE A 45 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO THE  FMD
*             INTERNAL SECTOR COUNTER. DELAY 30 DECIMAL MILLISECONDS.    FMD
*         5.  VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             NOT ACTIVE, BUS IN IS EQUAL TO THE INTERNAL SECTOR         FMD
*             COUNTER, AND THAT A SECTOR COMPARE DOES NOT COME UP.       FMD06
*         6.  ISSUE A 87 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE AND THAT BUS IN   FMD
*             EQUALS 0100 XXXX.                                          FMD
*         7.  ISSUE A 8E COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE AND THAT BUS IN   FMD
*             EQUALS 0110 0000.                                          FMD
*         8.  ISSUE A 48 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. DELAY 300 DECIMAL MILLISECONDS. VERIFY THAT STATUS   FMD
*             VALID IS ACTIVE, THAT BUS IN EQUALS 0010 1000, AND THAT ON FMD
*             CYLINDER IS ACTIVE.                                        FMD
*         9.  ISSUE A 49 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. DELAY 300 DECIMAL MILLISECONDS. VERIFY THAT STATUS   FMD
*             VALID IS ACTIVE, THAT BUS IN EQUALS 0010 1000, AND THAT ON FMD
*             CYLINDER IS ACTIVE.                                        FMD
*         10. ISSUE A 4A COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE, THAT BUS IN      FMD
*             EQUALS 0000 1001, AND THAT READY AND SAFE IS ACTIVE.       FMD
*         11. ISSUE A 85 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE, THAT THE BUS IN  FMD
*             IS EQUAL TO THE INTERNAL SECTOR COUNTER, AND READY AND     FMD
*             SAFE IS ACTIVE.                                            FMD
*         12. INCREMENT THE INTERNAL SECTOR COUNTER BY ONE AND REPEAT    FMD
*             STEPS 2 THROUGH 11 UNTIL THE INTERNAL SECTOR COUNTER       FMD
*             EQUALS 65 DECIMAL.                                         FMD
*         13. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97O - PROCESS ERRORS.                                       FMD
*         FMD97P - PROCESS ERRORS.                                       FMD
*         FMD97Q - PROCESS ERRORS.                                       FMD
*         FMD97R - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD97O - PROCESS ERRORS.
*         FHD97P - PROCESS ERRORS.
*         FHD97Q - PROCESS ERRORS.
*         FHD97R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD970 - PROCESS ERRORS.
*         FLD97P - PROCESS ERRORS.
*         FLD97Q - PROCESS ERRORS.
*         FLD97R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - INTERNAL SECTOR COUNTER.                         FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-61) - CONTROL SEQUENCE TO BE SENT TO THE 7155 CONTROLLER. FMD
*         OB(100-117) - COMMANDS TO BE SENT TO THE DRIVE.                FMD
*         OB(120-137) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE  FMD
*                     DRIVE.                                             FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD32 - SECTOR COMP. TEST 2                                    FMD
2  FORMAT FMD32 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD32 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD32 - SECTOR COMP. TEST 2 
2  FORMAT FHD32 - EC *DECD, LC = *DECD
3  FORMAT FHD32 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD32 - SECTOR COMP. TEST 2 
2  FORMAT FLD32 - EC *DECD, LC = *DECD
3  FORMAT FLD32 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         COMMANDS TO BE ISSUED TO THE DRIVE.                            FMD
*                                                                        FMD
   DATA (OB(100),H) 45,878E,4849,4A85                                    FMD
*                                                                        FMD
/         EXPECTED BUS IN STATUS FOR DRIVE COMMANDS.                     FMD
*                                                                        FMD
   DATA (OB(120),H) 0,4060,2828,900                                      FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B8=35D                    *INTERNAL SECTOR COUNTER                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 7/0 GOTO 66  *NO SELECT                  FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 15/5 GOTO 64  *READY/SAFE                FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
30 B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 B9=OB(B13+100)               *DRIVE COMMAND TO BE ISSUED              FMD
   B10=0                        *BUS OUT DATA                            FMD
   IF(B13 EQ 1) B10=B8          *IF CONDITION 1                          FMD
   B11=OB(B13+120)              *EXPECTED BUS IN DATA                    FMD
   IF(B13 EQ 1) B11=B8          *IF CONDITION 1                          FMD
   IF(B13 EQ 7) B11=B8          *IF CONDITION 7                          FMD
   OUT,CH=CH8,B10,B9,ABT 66     *ISSUE COMMAND TO DRIVE                  FMD
   IF(B13 EQ 1)DELAY 34D MSEC   *DELAY IF CONDITION 1                    FMD
   IF(B13 EQ 4)DELAY 300D MSEC  *DELAY IF CONDITION 4                    FMD
   IF(B13 EQ 5)DELAY 300D MSEC  *DELAY IF CONDITION 5                    FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 66        *READ CHANNEL STATUSES                   FMD
   B12=SB(CBIS)                 *SAVE BUS IN STATUS                      FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 11/1 GOTO 66  *BUS VALID               FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
   IF(B13 NE 1) GOTO 34                *IF NOT CONDITION 1               FMD
   IF(SB(CCDS)AND CDRS NE 0)ERROR 22/7 GOTO 66  *READY/SAFE              FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
34 IF(B13 EQ 2)B11=B12 AND 77+B11      *IF CONDITION 2
   IF(B12 EQ B11) GOTO 36              *IF BUS IN CORRECT                FMD
   IF(B13 EQ 1)ERROR 25/10 GOTO 66     *IF CONDITION 1                   FMD
   IF(B13 EQ 2)ERROR 3/12 GOTO 66      *IF CONDITION 2                   FMD
   IF(B13 EQ 3)ERROR 7/13 GOTO 66      *IF CONDITION 3                   FMD
   IF(B13 EQ 4)ERROR 17/15 GOTO 66     *IF CONDITION 4                   FMD
   IF(B13 EQ 5)ERROR 20/16 GOTO 66     *IF CONDITION 5                   FMD
   IF(B13 EQ 6)ERROR 23/20 GOTO 66     *IF CONDITION 6                   FMD
   ERROR 0/22 GOTO 66                  *IF CONDITION 7                   FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
36 IF(SB(CCDS)AND CDRS NE 0)GOTO 40    *IF READY/SAFE ACTIVE             FMD
   IF(B13 EQ 6)ERROR 24/21 GOTO 66     *IF CONDITION 6                   FMD
   IF(B13 EQ 7)ERROR 2/24 GOTO 66      *IF CONDITION 7                   FMD
*                                                                        FMD
/         CHECK FOR ON CYLINDER ACTIVE.                                  FMD
*                                                                        FMD
40 IF(SB(CCDS)AND COTRK NE 0)GOTO 42   *ON CYLINDER ACTIVE               FMD
   IF(B13 EQ 4)ERROR 15/14 GOTO 66     *IF CONDITION 4                   FMD
   IF(B13 EQ 5)ERROR 21/17 GOTO 66     *IF CONDITION 5                   FMD
*                                                                        FMD
/         CHECK FOR SECTOR COMPARE ACTIVE.                               FMD
*                                                                        FMD
42 IF(B13 NE 1) GOTO 44             *IF NOT CONDITION 1                  FMD
   CONTROL,0,36,0,200,ABT 66        *ON SECTOR DELAY                     FMD
   CONTROL,0,0,0,0,EXECUTE,ABT 66   *EXECUTE SEQUENCE                    FMD
   DELAY,34D MSEC                   *DELAY 2 REVOLUTIONS                 FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 66              *READ CHANNEL STATUSES             FMD
   IF(SB(12)EQ 0)ERROR 0/11 GOTO 66  *SECTOR COMPARE ERROR               FMD
44 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   GOTO 32 WHILE(B13+1 NE 10)      *GO TO DO NEXT CONDITION              FMD
   RES,DRIVE,FAULT,ABT 66          *RESERVE THE DRIVE                    FMD
   GOTO 30 WHILE(B8+1 NE 65D)      *LOOP CHECK ALL SECTORS               FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=10                        *CONDITION NUMBER 10                    FMD
   REL,ABT 66                    *RELEASE CONTROLLER AND FMD             FMD
46 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 66         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 66                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
64 STATUS,DETAIL,ABT 66        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 70   *IF SCOPING LOOP                          FMD
   B0=32D                      *MODULE NUMBER                            FMD
   CALL 97O                    *REPORT THE ERROR                         FMD
   CALL 98C                    *ISOLATE READY/SAFE ERROR                 FMD
   GOTO 70                     *GO TO REPEAT CONDITION                   FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
66 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=32D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 97O       *IF NO SCOPING LOOP                 FMD
70 IF(B13 EQ 10) ENDSUB GOTO 46        *IF CONDITION 10                  FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 66  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26               *IF CONDITION 0             FMD
   ENDSUB GOTO 44                            *CONDITIONS 1-7             FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 66       *RESERVE DRIVE                           FMD
   ENDSUB GOTO 32               *REPEAT CONDITIONS 1-7                   FMD
76 MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD33,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD33,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD33,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.33 SECTOR COUNTER TEST                                           FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD33 VERIFIES THAT THE SECTOR COUNTER IN THE FIXED MODULE     FMD
*ENDIF
*IF DEF,PFMD
*         FHD33 VERIFIES THAT THE SECTOR COUNTER IN THE FIXED MODULE
*ENDIF
*IF DEF,LSFMD 
*         FLD33 VERIFIES THAT THE SECTOR COUNTER IN THE FIXED MODULE
*ENDIF
*         DRIVE COUNTS CORRECTLY FROM ZERO AT INDEX TIME THROUGH 34      FMD
*         DECIMAL.                                                       FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT SELECT AND RESERVED AND THAT READY AND SAFE    FMD
*             ARE ACTIVE FROM THE DRIVE.                                 FMD
*         3.  HAVE THE 7155 CONTROLLER EXECUTE A CONTROL SEQUENCE TO     FMD
*             FIND THE INDEX MARK ON THE HEAD DISK ASSEMBLY.             FMD
*         4.  GO TO STEP 6.                                              FMD
*         5.  DELAY UNTIL ONE SECTOR TIME HAS ELASPED.                   FMD
*         6.  READ THE CONTENTS OF THE SECTOR COUNTER REGISTER IN THE    FMD
*             DRIVE USING THE 86 DRIVE COMMAND.                          FMD
*         7.  VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE IS FMD
*             ACTIVE, AND THAT THE BUS IN STATUS IS EQUAL TO THE         FMD
*             INTERNAL SECTOR COUNTER.                                   FMD
*         8   REPEAT STEPS 5 THROUGH 7 UNTIL THE INTERNAL SECTOR COUNTER FMD
*             EQUALS 35 DECIMAL.                                         FMD
*         9.  RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98C - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97O - PROCESS ERRORS.                                       FMD
*         FMD97P - PROCESS ERRORS.                                       FMD
*         FMD97Q - PROCESS ERRORS.                                       FMD
*         FMD97R - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98C - ISOLATE READY AND SAFE FAULT.
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*         FHD97O - PROCESS ERRORS.
*         FHD97P - PROCESS ERRORS.
*         FHD97Q - PROCESS ERRORS.
*         FHD97R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98C - ISOLATE READY AND SAFE FAULT.
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*         FLD97O - PROCESS ERRORS.
*         FLD97P - PROCESS ERRORS.
*         FLD97Q - PROCESS ERRORS.
*         FLD97R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - INTERNAL SECTOR COUNTER.                        FMD
*         B12 REGISTER - ACTUAL SECTOR COUNTER.                          FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD33 - SECTOR COUNTER TEST                                    FMD
2  FORMAT FMD33 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD33 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD33 - SECTOR COUNTER TEST 
2  FORMAT FHD33 - EC *DECD, LC = *DECD
3  FORMAT FHD33 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD33 - SECTOR COUNTER TEST 
2  FORMAT FLD33 - EC *DECD, LC =*DECD 
3  FORMAT FLD33 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 7/0 GOTO 66  *NO SELECT                  FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 15/5 GOTO 64  *READY/SAFE                FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         EXECUTE CONTROL WORD SEQUENCE TO SYNC ON INDEX.                FMD
*                                                                        FMD
30 B11=0                           *INTERNAL SECTOR COUNTER              FMD
   CONTROL,0,40,0,300,ABT 66       *INDEX MARK START DELAY               FMD
   CONTROL,0,40,0,0,ABT 66         *DELAY                                FMD
   CONTROL,0,0,0,0,EXECUTE,ABT 66  *EXECUTE CONTROL SEQUENCE             FMD
*                                                                        FMD
/         READ THE INITIAL CONTENTS ON THE SECTOR REGISTER.              FMD
*                                                                        FMD
   OUT,CH=CH8,0,206,ABT 66     *ISSUE COMMAND TO DRIVE                   FMD
   B5=RT                       *READ REAL TIME CLOCK                     FMD02
   STATUS,CHANNEL ABT 66       *READ CHANNEL STATUSES                    FMD
   B12=SB(CBIS)                *SAVE BUS IN STATUS                       FMD
   GOTO 34                     *GO TO CHECK STATUSES                     FMD
*                                                                        FMD
/         DELAY UNTIL TIME TO READ THE SECTOR COUNTER.                   FMD
*                                                                        FMD
32 B4=RT-B5                    *READ REAL TIME CLOCK                     FMD
   IF(B4 LE 488D) GOTO 32      *DELAY UNTIL NEXT SECTOR                  FMD
   B5=B5+488D                  *ADJUST TIMER FOR NEXT SECTOR             FMD
*                                                                        FMD
/         READ THE SECTOR COUNTER FROM THE DRIVE.                        FMD
*                                                                        FMD
   OUT,CH=CH8,0,206,ABT 66     *ISSUE COMMAND TO DRIVE                   FMD
   STATUS,CHANNEL ABT 66       *READ CHANNEL STATUSES                    FMD
   B12=SB(CBIS)                *SAVE BUS IN STATUS                       FMD
*                                                                        FMD
/         CHECK DRIVE STATUSES.                                          FMD
*                                                                        FMD
34 IF(SB(CCDS)AND CDSV EQ 0)ERROR 11/1 GOTO 66  *BUS VALID               FMD
   IF(SB(CCDS)AND CDRS EQ 0)ERROR 5/25 GOTO 66  *READY/SAFE              FMD
   IF(B12 NE B11) ERROR 7/26 GOTO 66  *SECTOR COUNTER ERROR              FMD
   GOTO 32 WHILE (B11 + 1 NE 34D)     *LOOP TO DO ALL COUNTS             FMD
36 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 66                    *RELEASE CONTROLLER AND FMD             FMD
40 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 66         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 66                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
64 STATUS,DETAIL,ABT 66        *GET DETAILED STATUS                      FMD
   B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   IF(ES AND SL NE 0)GOTO 70   *IF SCOPING LOOP                          FMD
   B0=33D                      *MODULE NUMBER                            FMD
   CALL 97O                    *REPORT THE ERROR                         FMD
   CALL 98C                    *ISOLATE READY/SAFE ERROR                 FMD
   GOTO 70                     *GO TO REPEAT CONDITION                   FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
66 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=33D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 97O       *IF NO SCOPING LOOP                 FMD
70 IF(B13 EQ 2) ENDSUB GOTO 40         *IF CONDITION 2                   FMD
   IF(B13 EQ 1) ENDSUB GOTO 36          *IF CONDITION 1                  FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 66  *RESERVE DRIVE              FMD
   ENDSUB GOTO 26                            *CONDITION 1                FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 66       *RESERVE DRIVE                           FMD
   ENDSUB GOTO 30               *REPEAT CONDITION 1                      FMD
76 MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD34,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD34,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD34,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.34 RTZ STATUS TEST 1                                             FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD34 CHECKS THE STATUS RECEIVED ON BUS IN FROM THE FIXED      FMD
*ENDIF
*IF DEF,PFMD
*         FHD34 CHECKS THE STATUS RECEIVED ON BUS IN FROM THE FIXED 
*ENDIF
*IF DEF,LSFMD 
*         FLD34 CHECKS THE STATUS RECIEVED ON BUS IN FROM THE FIXED 
*ENDIF
*         MODULE DRIVE AFTER A RTZ (49) COMMAND IS EXECUTED BY THE       FMD
*         DRIVE.                                                         FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT THAT SELECT AND RESERVED AND READY AND SAFE    FMD
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  ISSUE A 49 (RTZ) COMMAND TO THE DRIVE WITH BUS OUT OF ALL  FMD
*             ZEROS.                                                     FMD
*         4.  VERIFY THAT STATUS VALID, BUS IN EQUALS 08 HEX, READY AND  FMD
*             SAFE IS ACTIVE, AND ON CYLINDER IS NOT ACTIVE AFTER        FMD
*             ISSUING THE RTZ COMMAND.                                   FMD
*         5.  ISSUE A 89 COMMAND TO THE DRIVE AND VERIFY THAT STATUS     FMD
*             VALID IS ACTIVE AFTER ISSUING THE COMMAND.                 FMD
*         6.  CHECK FOR BUS IN STATUS FOR BEING EQUAL TO XXX1 XXX0. IF   FMD
*             IT IS, GO TO STEP 8.                                       FMD
*         7.  REPEAT STEPS 5 AND 6 FIFTY OCTAL TIMES AND IF THE BUS IN
*             STATUS IS STILL INCORRECT, REPORT A BUS IN STATUS ERROR.   FMD
*         8.  ISSUE A 89 COMMAND TO THE DRIVE AND VERIFY THAT STATUS     FMD
*             VALID IS ACTIVE AFTER ISSUING THE COMMAND.                 FMD
*         9.  CHECK FOR BUS IN STATUS FOR BEING EQUAL TO XXX1 0010. IF   FMD
*             IT IS, GO TO STEP 11.                                      FMD
*         10. REPEAT STEPS 8 AND 9 FIFTY OCTAL TIMES AND IF THE BUS IN
*             STATUS IS STILL INCORRECT, REPORT A BUS IN STATUS ERROR.   FMD
*         11. ISSUE A 89 COMMAND TO THE DRIVE AND VERIFY THAT STATUS     FMD
*             VALID IS ACTIVE AFTER ISSUING THE COMMAND.                 FMD
*         12. CHECK FOR BUS IN STATUS FOR BEING EQUAL TO XXX1 0110. IF   FMD
*             IT IS, GO TO STEP 14.                                      FMD
*         13. REPEAT STEPS 11 AND 12 FIFTY OCTAL TIMES AND IF THE BUS IN
*             STATUS IS STILL INCORRECT, REPORT A BUS IN STATUS ERROR.   FMD
*         14. ISSUE A 89 COMMAND TO THE DRIVE AND VERIFY THAT STATUS     FMD
*             VALID IS ACTIVE AFTER ISSUING THE COMMAND.                 FMD
*         15. CHECK FOR BUS IN STATUS FOR BEING EQUAL TO XXX0 0110. IF   FMD
*             IT IS, GO TO STEP 17.                                      FMD
*         16. REPEAT STEPS 5 AND 6 THIRTY OCTAL TIMES AND IF THE BUS IN  FMD
*             STATUS IS STILL INCORRECT, REPORT A BUS IN STATUS ERROR.   FMD
*         17. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98D - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD97S - PROCESS ERRORS.                                       FMD
*         FMD97T - PROCESS ERRORS.                                       FMD
*         FMD97U - PROCESS ERRORS.                                       FMD
*         FMD97V - PROCESS ERRORS.                                       FMD
*         FMD97W - PROCESS ERRORS.                                       FMD
*         FMD97X - PROCESS ERRORS.                                       FMD
*         FMD97Y - PROCESS ERRORS.                                       FMD
*         FMD97Z - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98D - ISOLATE READY AND SAFE FAULT.
*         FHD97S - PROCESS ERRORS.
*         FHD97T - PROCESS ERRORS.
*         FHD97U - PROCESS ERRORS.
*         FHD97V - PROCESS ERRORS.
*         FHD97W - PROCESS ERRORS.
*         FHD97X - PROCESS ERRORS.
*         FHD97Y - PROCESS ERRORS.
*         FHD97Z - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98D - ISOLATE READY AND SAFE FAULT.
*         FLD97S - PROCESS ERRORS.
*         FLD97T - PROCESS ERRORS.
*         FLD97U - PROCESS ERRORS.
*         FLD97V - PROCESS ERRORS.
*         FLD97W - PROCESS ERRORS.
*         FLD97X - PROCESS ERRORS.
*         FLD97Y - PROCESS ERRORS.
*         FLD97Z - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.
*         B2 REGISTER - TEMPORARY STORAGE.
*         B3 REGISTER - INDEX FOR PP SPEED. 
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - RETRY COUNTER.                                   FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - MASK FOR BUS IN DATA.                           FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-17) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE     FMD
*                    DRIVE.                                              FMD
*         OB(20-37) - MASK BUS IN DATA FOR COMMANDS SENT TO THE DRIVE.   FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD34 - RTZ STATUS TEST 1                                      FMD
2  FORMAT FMD34 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD34 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD34 - RTZ STATUS TEST 1 
2  FORMAT FHD34 - EC *DECD, LC = *DECD
3  FORMAT FHD34 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD34 - RTZ STATUS TEST 1 
2  FORMAT FLD34 - EC *DECD, LC = *DECD
3  FORMAT FLD34 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         EXPECTED BUS IN STATUS FOR DRIVE COMMANDS.                     FMD
*                                                                        FMD
   DATA (OB,H) 8,1012,1606,0                                             FMD
*                                                                        FMD
/         MASK FOR BUS IN STATUS.                                        FMD
*                                                                        FMD
   DATA (OB(20),H) FF,111F,1F1F                                          FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
21 B1=RT         *TIME THE PP SPEED 
   B2=RT
   IF(B2.LT.B1) GOTO 21      *IF CLOCK WRAP AROUND
   B3=B2-B1                  *USE THE DIFFERENCE FOR SPEED INDEX
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 17/0 GOTO 64  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)GOTO 62  *READY AND SAFE ERROR                 FMD
   OUT,CH=CH8,0,111,ABT 64   *ISSUE COMMAND TO DRIVE
   DELAY 300D MSEC
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
*                                                                        FMD
/         ISSUE 49 (RTZ) COMMAND TO THE 885 DRIVE.                       FMD
*                                                                        FMD
30 B13=1                        *CONDITION NUMBER 1                      FMD
   B11=OB(B13)                  *EXPECTED BUS IN FROM TABLE              FMD
   OUT,CH=CH8,0,111,ABT 64      *ISSUE COMMAND TO DRIVE                  FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL,ABT 64        *READ CHANNEL STATUSES                   FMD
   B12=SB(CBIS)                 *SAVE BUS IN STATUS                      FMD
*                                                                        FMD
/         CHECK STATUSES FOR RTZ DRIVE COMMAND.                          FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *BUS VALID               FMD
   IF(B12 NE B11) ERROR 22/2 GOTO 64   *BUS IN STATUS ERROR              FMD
   IF(SB(CCDS) AND CDRS EQ 0) GOTO 62  *READY AND SAFE ERROR             FMD
   IF(SB(CCDS)AND COTRK NE 0)ERROR 24/3 GOTO 64  *OFF TRACK              FMD
*                                                                        FMD
/         ISSUE 89 COMMANDS TO THE 885 DRIVE.                            FMD
*                                                                        FMD
   B13=2                        *CONDITION NUMBER 2                      FMD
32 B8=0                         *INITIALIZE RETRY COUNTER                FMD
   B10=OB(B13+20)               *MASK FOR BUS IN STATUS                  FMD
   B11=OB(B13)                  *EXPECTED BUS IN FROM TABLE              FMD
34 OUT,CH=CH8,0,211,ABT 64      *ISSUE COMMAND TO DRIVE                  FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL,ABT 64        *READ CHANNEL STATUSES                   FMD
   B12=SB(CBIS)                 *SAVE BUS IN STATUS                      FMD
*                                                                        FMD
/         CHECK STATUSES FROM 89 DRIVE COMMAND.                          FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *BUS VALID               FMD
   B12=B12 AND B10                 *MASK BUS IN STATUS                   FMD
   IF(B12 EQ B11) GOTO 36          *IF BUS IN STATUS CORRECT             FMD
   IF(B3.EQ.1) GOTO 33       *FAST PPS DELAY LONGER 
   GOTO 34 WHILE(B8+1 NE 50)       *RETRY FIFTY OCTAL TIMES              FMD02
   GOTO 35
33 GOTO 34 WHILE(B8+1.NE.120)   *RETRY 120 OCTAL TIMES
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
35 IF(B13.EQ.2) ERROR 1/5 GOTO 64   *IF CONDITION 2 
   IF(B13 EQ 3) ERROR 4/6 GOTO 64  *IF CONDITION 3                       FMD
   IF(B13 EQ 4) ERROR 6/7 GOTO 64  *IF CONDITION 4                       FMD
   ERROR 10/10 GOTO 64             *IF CONDITION 5                       FMD
36 GOTO 32 WHILE(B13+1 NE 6)       *LOOP TO SEND ALL CMDS                FMD
40 GOSUB 74                       *PROCESS REPEAT CONDITION              FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=6                         *CONDITION NUMBER 6                     FMD
   REL,ABT 64                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 64         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 64                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
62 STATUS,DETAIL,ABT 64              *GET DETAILED STATUS                FMD
   IF(ES AND SL EQ 0) CALL 98D       *IF NO SCOPING LOOP                 FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
64 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=34D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 97S       *IF NO SCOPING LOOP                 FMD
   IF(B13 EQ 6) ENDSUB GOTO 42         *IF CONDITION 6                   FMD
66 IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 64  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26          *IF CONDITION 0                  FMD
   ENDSUB GOTO 40                       *CONDITIONS 1-5                  FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0)GOTO 76   *IF NO REPEAT CONDITION                   FMD
   B15=B15+1                   *INCREMENT LOOP COUNT BY ONE              FMD
   MSG 2(B14,B15)TO DISPLAY    *DISPLAY RC MESSAGE                       FMD
   IF(B13 EQ 0)ENDSUB GOTO 24  *REPEAT CONDITION 0                       FMD
   RES,DRIVE,FAULT,ABT 64      *RESERVE FIXED MODULE DRIVE               FMD
   ENDSUB GOTO 30              *REPEAT CONDITIONS 1-5                    FMD
76 MSG 1 TO DISPLAY            *DISPLAY RUNNING MESSAGE                  FMD
   RETURN                      *EXIT THE SUBROUTINE                      FMD
   END 20                      *END OF THE MODULE                        FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD35,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD35,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD35,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.35 RTZ STATUS TEST 2                                             FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD35 CHECKS THE STATUS RECEIVED ON BUS IN FROM THE FIXED      FMD
*ENDIF
*IF DEF,PFMD
*         FHD35 CHECKS THE STATUS RECEIVED ON BUS IN FROM THE FIXED 
*ENDIF
*IF DEF,LSFMD 
*         FLD35 CHECKS THE STATUS RECIEVED ON BUS IN FROM THE FIXED 
*ENDIF
*         MODULE DRIVE AFTER A RTZ (49) COMMAND IS EXECUTED BY THE       FMD
*         DRIVE.                                                         FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT THAT SELECT AND RESERVED AND READY AND SAFE    FMD
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  ISSUE A 49 (RTZ) COMMAND TO THE DRIVE WITH BUS OUT OF ALL  FMD
*             ZEROS.                                                     FMD
*         5.  ISSUE A 8A COMMAND TO THE DRIVE AND VERIFY THAT STATUS     FMD
*             VALID IS ACTIVE AFTER ISSUING THE COMMAND.                 FMD
*         6.  CHECK FOR BUS IN STATUS FOR BEING EQUAL TO X1XX XXXX. IF   FMD
*             IT IS, GO TO STEP 8.                                       FMD
*         7.  REPEAT STEPS 5 AND 6 EIGHT TIMES AND IF THE BUS IN STATUS  FMD
*             IS STILL INCORRECT, REPORT A BUS IN STATUS ERROR.          FMD
*         8.  DELAY 300 DECIMAL MILLISECONDS.                            FMD
*         9.  ISSUE A 89 COMMAND TO THE DRIVE AND VERIFY THAT STATUS     FMD
*             VALID IS ACTIVE AFTER ISSUING THE COMMAND.                 FMD
*         10. CHECK FOR BUS IN STATUS FOR BEING EQUAL TO 0000 1110.      FMD
*             VERIFY THAT ON CYLINDER IS ACTIVE.                         FMD
*         11. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98D - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD97S - PROCESS ERRORS.                                       FMD
*         FMD97T - PROCESS ERRORS.                                       FMD
*         FMD97U - PROCESS ERRORS.                                       FMD
*         FMD97V - PROCESS ERRORS.                                       FMD
*         FMD97W - PROCESS ERRORS.                                       FMD
*         FMD97X - PROCESS ERRORS.                                       FMD
*         FMD97Y - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98D - ISOLATE READY AND SAFE FAULT.
*         FHD97S - PROCESS ERRORS.
*         FHD97T - PROCESS ERRORS.
*         FHD97U - PROCESS ERRORS.
*         FHD97V - PROCESS ERRORS.
*         FHD97W - PROCESS ERRORS.
*         FHD97X - PROCESS ERRORS.
*         FHD97Y - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98D - ISOLATE READY AND SAFE FAULT.
*         FLD97S - PROCESS ERRORS.
*         FLD97T - PROCESS ERRORS.
*         FLD97U - PROCESS ERRORS.
*         FLD97V - PROCESS ERRORS.
*         FLD97W - PROCESS ERRORS.
*         FLD97X - PROCESS ERRORS.
*         FLD97Y - PROCESS ERRORS.
*         FLD97Z - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - RETRY COUNTER.                                   FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - MASK FOR BUS IN DATA.                           FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD35 - RTZ STATUS TEST 2                                      FMD
2  FORMAT FMD35 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD35 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD35 - RTZ STATUS TEST 2 
2  FORMAT FHD35 - EC *DECD, LC = *DECD
3  FORMAT FHD35 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD35 - RTZ STATUS TEST 2 
2  FORMAT FLD35 - EC *DECD, LC = *DECD
3  FORMAT FLD35 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 17/0 GOTO 64  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)GOTO 62  *READY AND SAFE ERROR                 FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
* 
/         PRE-POSITION DRIVE
* 
   OUT,CH=CH8,0,111,ABT 64         *PRE-POSITION DRIVE (RTZ)
   DELAY,300D MSEC                 *WAIT FOR DRIVE NOT BUSY 
*                                                                        FMD
/         ISSUE 49 (RTZ) COMMAND TO THE 885 DRIVE.                       FMD
*                                                                        FMD
30 B13=1                          *CONDITION NUMBER 1                    FMD
   OUT,CH=CH8,0,111,ABT 64        *ISSUE COMMAND TO DRIVE                FMD
*                                                                        FMD
/         ISSUE 8A COMMAND TO THE 885 DRIVE.                             FMD
*                                                                        FMD
   B8=0                           *INITIALIZE RETRY COUNTER              FMD
   B10=100                        *MASK FOR BUS IN STATUS                FMD
   B11=100                        *EXPECTED BUS IN STATUS                FMD
32 OUT,CH=CH8,0,212,ABT 64        *ISSUE COMMAND TO DRIVE                FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL,ABT 64          *READ CHANNEL STATUSES                 FMD
   B12=SB(CBIS)                   *SAVE BUS IN STATUS                    FMD
*                                                                        FMD
/         CHECK STATUSES FROM 8A DRIVE COMMAND.                          FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *BUS VALID               FMD
   B12=B12 AND B10                *MASK BUS IN STATUS                    FMD
   IF(B12 EQ B11) GOTO 34         *IF BUS IN STATUS CORRECT              FMD
   GOTO 32 WHILE(B8+1 NE 10)      *RETRY SIX TIMES                       FMD
   ERROR 12/11 GOTO 64            *BUS IN STATUS ERROR                   FMD
34 DELAY,300D MSEC                *DELAY FOR RTZ TO COMPLETE             FMD
*                                                                        FMD
/         ISSUE 89 COMMANDS TO THE 885 DRIVE.                            FMD
*                                                                        FMD
   B8=0                           *INITIALIZE RETRY COUNTER              FMD
   B10=377                        *MASK FOR BUS IN STATUS                FMD
   B11=16                         *EXPECTED BUS IN STATUS                FMD
   OUT,CH=CH8,0,211,ABT 64        *ISSUE COMMAND TO DRIVE                FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL,ABT 64          *READ CHANNEL STATUSES                 FMD
   B12=SB(CBIS)                   *SAVE BUS IN STATUS                    FMD
*                                                                        FMD
/         CHECK STATUSES FROM 89 DRIVE COMMAND.                          FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *BUS VALID               FMD
   B12=B12 AND B10                       *MASK BUS IN STATUS             FMD
   IF(B12 NE B11)ERROR 14/12 GOTO 64    *BUS IN STATUS ERROR             FMD
   IF(SB(CCDS)AND COTRK EQ 0)ERROR 6/47 GOTO 64   *OFF TRACK             FMD
36 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 64                    *RELEASE CONTROLLER AND FMD             FMD
40 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 64         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 64                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
62 STATUS,DETAIL,ABT 64              *GET DETAILED STATUS                FMD
   IF(ES AND SL EQ 0) CALL 98D       *IF NO SCOPING LOOP                 FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
64 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=35D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 97S       *IF NO SCOPING LOOP                 FMD
   IF(B13 EQ 2) ENDSUB GOTO 40         *IF CONDITION 2                   FMD
66 IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 64  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26               *IF CONDITION 0             FMD
   ENDSUB GOTO 36                            *CONDITION 1                FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0)GOTO 76   *IF NO REPEAT CONDITION                   FMD
   B15=B15+1                   *INCREMENT LOOP COUNT BY ONE              FMD
   MSG 2(B14,B15)TO DISPLAY    *DISPLAY RC MESSAGE                       FMD
   IF(B13 EQ 0)ENDSUB GOTO 24  *REPEAT CONDITION 0                       FMD
   RES,DRIVE,FAULT,ABT 64      *RESERVE FIXED MODULE DRIVE               FMD
   ENDSUB GOTO 30              *REPEAT CONDITION 1                       FMD
76 MSG 1 TO DISPLAY            *DISPLAY RUNNING MESSAGE                  FMD
   RETURN                      *EXIT THE SUBROUTINE                      FMD
   END 20                      *END OF THE MODULE                        FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD36,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD36,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD36,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.36 ONE TRACK SEEK TEST                                           FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD36 CHECKS THE STATUSES FROM THE DRIVE AFTER A ONE TRACK     FMD
*ENDIF
*IF DEF,PFMD
*         FHD36 CHECKS THE STATUSES FROM THE DRIVE AFTER A ONE TRACK
*ENDIF
*IF DEF,LSFMD 
*         FLD36 CHECKS THE STATUSES FROM THE DRIVE AFTER A ONE TRACK
*ENDIF
*         SEEK COMMAND IS SENT TO THE FIXED MODULE DRIVE. AFTER A SEEK   FMD
*         COMMAND COMPLETE EXECUTION, STATUS WORD THREE WILL BE CHECKED  FMD
*         FOR ON CYLINDER AND ODD TRACK STATUS BITS SET.                 FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT THAT SELECT AND RESERVED AND READY AND SAFE    FMD
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS.                                      FMD
*         4.  ISSUE A 42 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 80   FMD
*             HEX.                                                       FMD
*         5.  ISSUE A 43 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ONE. FMD
*         5A. ISSUE A 41 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO ONE.
*         6.  ISSUE A 48 (SEEK) COMMAND TO THE DRIVE WITH BUS OUT EQUAL  FMD
*             TO ZERO.                                                   FMD
*         7.  VERIFY THAT STATUS VALID IS ACTIVE, BUS IN STATUS BIT      FMD
*             ZERO EQUALS ZERO, READY AND SAFE IS ACTIVE, AND THAT ON    FMD
*             CYLINDER IS NOT ACTIVE.                                    FMD
*         8.  DELAY 10 DECIMAL MILLISECONDS AND THEN VERIFY THAT ON      FMD
*             CYLINDER IS ACTIVE.                                        FMD
*         9.  ISSUE A 8A COMMAND TO THE DRIVE. VERIFY THAT STATUS VALID  FMD
*             IS ACTIVE AFTER ISSUING THE COMMAND AND THAT BUS IN EQUALS FMD
*             XXXX 0011.                                                 FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98D - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD97S - PROCESS ERRORS.                                       FMD
*         FMD97T - PROCESS ERRORS.                                       FMD
*         FMD97U - PROCESS ERRORS.                                       FMD
*         FMD97V - PROCESS ERRORS.                                       FMD
*         FMD97W - PROCESS ERRORS.                                       FMD
*         FMD97X - PROCESS ERRORS.                                       FMD
*         FMD97Y - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98D - ISOLATE READY AND SAFE FAULT.
*         FHD97S - PROCESS ERRORS.
*         FHD97T - PROCESS ERRORS.
*         FHD97U - PROCESS ERRORS.
*         FHD97V - PROCESS ERRORS.
*         FHD97W - PROCESS ERRORS.
*         FHD97X - PROCESS ERRORS.
*         FHD97Y - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98D - ISOLATE READY AND SAFE FAULT.
*         FLD97S - PROCESS ERRORS.
*         FLD97T - PROCESS ERRORS.
*         FLD97U - PROCESS ERRORS.
*         FLD97V - PROCESS ERRORS.
*         FLD97W - PROCESS ERRORS.
*         FLD97X - PROCESS ERRORS.
*         FLD97Y - PROCESS ERRORS.
*         FLD97Z - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD36 - ONE TRACK SEEK TEST                                    FMD
2  FORMAT FMD36 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD36 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD36 - ONE TRACK SEEK TEST 
2  FORMAT FHD36 - EC *DECD, LC = *DECD
3  FORMAT FHD36 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD36 - ONE TRACK SEEK TEST 
2  FORMAT FLD36 - EC *DECD, LC = *DECD
3  FORMAT FLD36 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 17/0 GOTO 64  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)GOTO 62  *READY AND SAFE ERROR                 FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
*                                                                        FMD
/         ISSUE 49, 42, 43, AND 41 COMMANDS TO THE 885 DRIVE. 
*                                                                        FMD
30 B13=1                      *CONDITION NUMBER 1                        FMD
   GOSUB 60                   *EXECUTE RTZ (49)SEQUENCE 
32 OUT,CH=CH8,200,102,ABT 64  *ISSUE 42 COMMAND TO DRIVE                 FMD
   OUT,CH=CH8,1,103,ABT 64    *ISSUE 43 COMMAND TO DRIVE                 FMD
   OUT,CH=CH8,1,101,ABT 64    *ISSUE 41 COMMAND TO DRIVE
*                                                                        FMD
/         ISSUE 48 (SEEK) COMMAND TO THE 885 DRIVE.                      FMD
*                                                                        FMD
   B11=0                      *EXPECT BUS IN STATUS                      FMD
   OUT,CH=CH8,0,110,ABT 64    *ISSUE 48 COMMAND TO DRIVE                 FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL,ABT 64      *READ CHANNEL STATUSES                     FMD
   DELAY 10D MSEC             *DELAY FOR SEEK TO COMPLETE                FMD
   B12=SB(CBIS)AND 1          *SAVE BUS IN STATUS                        FMD
*                                                                        FMD
/         CHECK STATUSES FROM 48 DRIVE COMMAND.                          FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *BUS VALID               FMD
   IF(B12 NE B11) ERROR 16/13 GOTO 64  *BUS IN STATUS ERROR              FMD
   IF(SB(CCDS) AND CDRS EQ 0) GOTO 62  *READY AND SAFE ERROR             FMD
   IF(SB(CCDS) AND COTRK NE 0)ERROR 20/14 GOTO 64  *ON TRACK             FMD
   B13=2                              *CONDITION NUMBER 2                FMD
   STATUS,CHANNEL,ABT 64              *READ CHANNEL STATUSES             FMD
   IF(SB(CCDS)AND COTRK EQ 0)ERROR 21/15 GOTO 64  *OFF TRACK             FMD
34 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B11=3                           *EXPECTED BUS IN STATUS
   B13=3                           *CONDITION NUMBER 3                   FMD
*                                                                        FMD
/         ISSUE 8A COMMAND TO THE 885 DRIVE.                             FMD
*                                                                        FMD
36 OUT,CH=CH8,0,212,ABT 64         *ISSUE COMMAND TO DRIVE
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL,ABT 64           *READ CHANNEL STATUSES                FMD
   B12=SB(CBIS).AND.7              *SAVE BUS IN STATUS
*                                                                        FMD
/         CHECK STATUSES FROM 8A DRIVE COMMAND.                          FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *BUS VALID               FMD
   IF(B12 NE B11) ERROR 23/16 GOTO 64  *BUS IN STATUS ERROR 
40 GOSUB 74                       *PROCESS REPEAT CONDITION              FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=4                         *CONDITION NUMBER 4                     FMD
   REL,ABT 64                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 64         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 64                             *REPORT THE ERROR                 FMD18
* 
/         ISSUE RTZ AND DELAY SUBROUTINE
* 
60 OUT,CH=CH8,0,111,ABT 65    *ISSUE 49 COMMAND TO DRIVE
   DELAY,300D MSEC            *DELAY FOR RTZ TO COMPLETE
   RETURN 
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
62 STATUS,DETAIL,ABT 64             *GET DETAILED STATUS                 FMD
   GOSUB 60                   *EXECUTE RTZ (49) SEQUENCE
   IF(ES AND SL EQ 0)CALL 98D       *IF NO SCOPING LOOP                  FMD
   GOTO 65
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
64 GOSUB 60                 *EXECUTE RTZ (49) SEQUENCE
65 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE
   B0=36D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 97S       *IF NO SCOPING LOOP                 FMD
   IF(B13 EQ 4) ENDSUB GOTO 42         *IF CONDITION 4                   FMD
66 IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 64  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26               *IF CONDITION 0             FMD
   IF(B13 EQ 3) ENDSUB GOTO 40               *IF CONDITION 3             FMD
   ENDSUB GOTO 34                            *CONDITIONS 1,2             FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0)GOTO 76   *IF NO REPEAT CONDITION                   FMD
   B15=B15+1                   *INCREMENT LOOP COUNT BY ONE              FMD
   MSG 2(B14,B15)TO DISPLAY    *DISPLAY RC MESSAGE                       FMD
   IF(B13 EQ 0)ENDSUB GOTO 24  *REPEAT CONDITION 0                       FMD
   RES,DRIVE,FAULT,ABT 64      *RESERVE FIXED MODULE DRIVE               FMD
   IF(B13 EQ 1)ENDSUB GOTO 30  *REPEAT CONDITION 1                       FMD
   IF(B13 EQ 2)ENDSUB GOTO 32  *REPEAT CONDITION 2                       FMD
   ENDSUB GOTO 36              *REPEAT CONDITION 3                       FMD
76 MSG 1 TO DISPLAY            *DISPLAY RUNNING MESSAGE                  FMD
   RETURN                      *EXIT THE SUBROUTINE                      FMD
   END 20                      *END OF THE MODULE                        FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD37,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD37,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD37,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.37 SEEK 2,4,8 TRACKS                                             FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD37 CHECKS THE STATUSES FROM THE DRIVE AFTER TWO, FOUR, AND  FMD
*ENDIF
*IF DEF,PFMD
*         FHD37 CHECKS THE STATUSES FROM THE DRIVE AFTER TWO, FOUR, AND 
*ENDIF
*IF DEF,LSFMD 
*         FLD37 CHECKS THE STATUSES FROM THE DRIVE AFTER TWO, FOUR, AND 
*ENDIF
*         EIGHT TRACK SEEK COMMANDS ARE ISSUED TO THE FIXED MODULE       FMD
*         DRIVE.                                                         FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT THAT SELECT AND RESERVED AND READY AND SAFE    FMD
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS. VERIFY THAT STATUS VALID AND ON      FMD
*             CYLINDER ARE ACTIVE FROM THE DRIVE.                        FMD
*         4.  ISSUE A 42 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 80   FMD
*             HEX.                                                       FMD
*         5.  ISSUE A 43 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO TWO. FMD
*         6.  ISSUE A 48 (SEEK) COMMAND TO THE DRIVE WITH BUS OUT EQUAL  FMD
*             TO ZERO.                                                   FMD
*         7.  VERIFY THAT STATUS VALID IS ACTIVE, BUS IN STATUS BIT      FMD
*             ZERO EQUALS ZERO, READY AND SAFE IS ACTIVE, AND THAT ON    FMD
*             CYLINDER IS NOT ACTIVE. AFTER A 30 DECIMAL MILLISECOND     FMD
*             DELAY, VERIFY THAT ON CYLINDER IS ACTIVE.                  FMD
*         8.  ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS. VERIFY THAT STATUS VALID AND ON      FMD
*             CYLINDER ARE ACTIVE FROM THE DRIVE.                        FMD
*         9.  ISSUE A 42 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 80   FMD
*             HEX.                                                       FMD
*         10. ISSUE A 43 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             FOUR.                                                      FMD
*         10A.ISSUE A 41 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 
*             FOUR. 
*         11. ISSUE A 48 (SEEK) COMMAND TO THE DRIVE WITH BUS OUT EQUAL  FMD
*             TO ZERO.                                                   FMD
*         12. DELAY 30 MILLISECONDS AND THEN VERIFY THAT STATUS VALID IS FMD
*             ACTIVE, BUS IN STATUS BIT ZERO EQUALS ZERO, READY AND SAFE FMD
*             IS ACTIVE, AND THAT ON CYLINDER IS ACTIVE.                 FMD
*         13. ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS. VERIFY THAT STATUS VALID, READY AND  FMD
*             SAFE, AND ON CYLINDER ARE ACTIVE FROM THE DRIVE.           FMD
*         14. ISSUE A 42 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 80   FMD
*             HEX.                                                       FMD
*         15. ISSUE A 43 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             EIGHT.                                                     FMD
*         16. ISSUE A 48 (SEEK) COMMAND TO THE DRIVE WITH BUS OUT EQUAL  FMD
*             TO ZERO.                                                   FMD
*         17. DELAY 30 DECIMAL MILLISECONDS AND VERIFY THAT STATUS VALID FMD
*             IS ACTIVE, BUS IN STATUS BIT ZERO EQUALS ZERO, READY AND   FMD
*             SAFE IS ACTIVE, AND THAT ON CYLINDER IS ACTIVE.            FMD
*         18. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98D - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD97S - PROCESS ERRORS.                                       FMD
*         FMD97T - PROCESS ERRORS.                                       FMD
*         FMD97U - PROCESS ERRORS.                                       FMD
*         FMD97V - PROCESS ERRORS.                                       FMD
*         FMD97W - PROCESS ERRORS.                                       FMD
*         FMD97X - PROCESS ERRORS.                                       FMD
*         FMD97Y - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98D - ISOLATE READY AND SAFE FAULT.
*         FHD97S - PROCESS ERRORS.
*         FHD97T - PROCESS ERRORS.
*         FHD97U - PROCESS ERRORS.
*         FHD97V - PROCESS ERRORS.
*         FHD97W - PROCESS ERRORS.
*         FHD97X - PROCESS ERRORS.
*         FHD97Y - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98D - ISOLATE READY AND SAFE FAULT.
*         FLD97S - PROCESS ERRORS.
*         FLD97T - PROCESS ERRORS.
*         FLD97U - PROCESS ERRORS.
*         FLD97V - PROCESS ERRORS.
*         FLD97W - PROCESS ERRORS.
*         FLD97X - PROCESS ERRORS.
*         FLD97Y - PROCESS ERRORS.
*         FLD97Z - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD37 - SEEK 2,4,8 TRACKS                                      FMD
2  FORMAT FMD37 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD37 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD37 - SEEK 2,4,8 TRACKS 
2  FORMAT FHD37 - EC *DECD, LC = *DECD
3  FORMAT FHD37 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD37 - SEEK 2,4,8 TRACKS 
2  FORMAT FLD37 - EC *DECD, LC = *DECD
3  FORMAT FLD37 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 17/0 GOTO 64  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)GOTO 62  *READY AND SAFE ERROR                 FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B11=0                           *EXPECTED BUS IN STATUS               FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE A 49 (RTZ) COMMAND TO THE 885 DRIVE.                     FMD
*                                                                        FMD
30 GOSUB 60                   *EXECUTE RTZ (49)SEQUENCE 
   STATUS,CHANNEL,ABT 64      *READ CHANNEL STATUSES                     FMD
*                                                                        FMD
/         CHECK STATUSES FROM 49 DRIVE COMMAND.                          FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *BUS VALID               FMD
   IF(SB(CCDS)AND COTRK NE 0)GOTO 32  *IF ON CYLINDER                    FMD
   IF(B13 EQ 1)ERROR 0/17 GOTO 64     *IF CONDITION 1                    FMD
   IF(B13 EQ 2)ERROR 0/22 GOTO 64     *IF CONDITION 2                    FMD
   IF(B13 EQ 3)ERROR 0/24 GOTO 64     *IF CONDITION 3                    FMD
32 IF(B13 NE 3) GOTO 34               *IF NOT CONDITION 3                FMD
   IF(SB(CCDS) AND CDRS EQ 0)GOTO 62  *READY AND SAFE ERROR              FMD
*                                                                        FMD
/         ISSUE 42, 43, AND 41 COMMANDS TO THE 885 DRIVE. 
*                                                                        FMD
34 B0=1 LS B13                   *BUILD SEEK CYLINDER COUNT              FMD
   OUT,CH=CH8,200,102,ABT 64     *ISSUE 42 COMMAND TO DRIVE              FMD
   OUT,CH=CH8,B0,103,ABT 64      *ISSUE 43 COMMAND TO DRIVE              FMD
   OUT,CH=CH8,B0,101,ABT 64   *ISSUE 41 COMMAND TO DRIVE
*                                                                        FMD
/         ISSUE 48 (SEEK) COMMAND TO THE 885 DRIVE.                      FMD
*                                                                        FMD
   OUT,CH=CH8,0,110,ABT 64       *ISSUE 48 COMMAND TO DRIVE              FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL,ABT 64         *READ CHANNEL STATUSES                  FMD
   DELAY 30D MSEC                *DELAY FOR SEEK TO COMPLETE             FMD
   B12=SB(CBIS)AND 1             *SAVE BUS IN STATUS                     FMD
*                                                                        FMD
/         CHECK STATUSES FROM 48 DRIVE COMMAND.                          FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *BUS VALID               FMD
   IF(B12 NE B11)ERROR 16/13 GOTO 64  *BUS IN STATUS ERROR               FMD
   IF(SB(CCDS) AND CDRS EQ 0)GOTO 62  *READY AND SAFE ERROR              FMD
   IF(B13 NE 1) GOTO 36               *IF NOT CONDITION 1                FMD
   IF(SB(CCDS) AND COTRK NE 0)ERROR 2/20 GOTO 64   *ON TRACK             FMD
36 STATUS,CHANNEL,ABT 64              *READ CHANNEL STATUSES             FMD
   IF(SB(CCDS)AND COTRK NE 0)GOTO 40  *IF ON CYLINDER                    FMD
   IF(B13 EQ 1)ERROR 4/21 GOTO 64     *IF CONDITION 1                    FMD
   IF(B13 EQ 2)ERROR 4/23 GOTO 64     *IF CONDITION 2                    FMD
   IF(B13 EQ 3)ERROR 4/25 GOTO 64     *IF CONDITION 3                    FMD
40 GOSUB 74                       *PROCESS REPEAT CONDITION              FMD
   GOTO 30 WHILE(B13+1 NE 4)      *DO THREE SEEKS                        FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=4                         *CONDITION NUMBER 4                     FMD
   REL,ABT 64                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 64         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 64                             *REPORT THE ERROR                 FMD18
* 
/         ISSUE RTZ AND DELAY SUBROUTINE
* 
60 OUT,CH=CH8,0,111,ABT 65    *ISSUE 49 COMMAND TO DRIVE
   DELAY,300D MSEC            *DELAY FOR RTZ TO COMPLETE
   RETURN 
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
62 STATUS,DETAIL,ABT 64              *GET DETAILED STATUS                FMD
   GOSUB 60                   *EXECUTE RTZ (49) SEQUENCE
   IF(ES AND SL EQ 0)CALL 98D        *IF NO SCOPING LOOP                 FMD
   GOTO 65
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
64 GOSUB 60                 *EXECUTE RTZ (49) SEQUENCE
65 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE
   B0=37D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 97S       *IF NO SCOPING LOOP                 FMD
   IF(B13 EQ 4) ENDSUB GOTO 42         *IF CONDITION 4                   FMD
66 IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 64  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26               *IF CONDITION 0             FMD
   ENDSUB GOTO 40                            *CONDITIONS 1-3             FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 64       *RESERVE FIXED MODULE DRIVE              FMD
   ENDSUB GOTO 30               *REPEAT CONDITIONS 1-3                   FMD
76 MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD38,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD38,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD38,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.38 SEEK 16,32,64 TRACKS                                          FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD38 CHECKS THE STATUSES FROM THE DRIVE AFTER SIXTEEN,        FMD
*ENDIF
*IF DEF,PFMD
*         FHD38 CHECKS THE STATUSES FROM THE DRIVE AFTER SIXTEEN, 
*ENDIF
*IF DEF,LSFMD 
*         FLD38 CHECKS THE STATUSES FROM THE DRIVE AFTER SIXTEEN
*ENDIF
*         THIRTY-TWO, AND SIXTY-FOUR TRACK SEEK COMMANDS ARE ISSUED TO   FMD
*         THE FIXED MODULE DRIVE.                                        FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT THAT SELECT AND RESERVED AND READY AND SAFE    FMD
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS. VERIFY STATUS VALID, READY AND SAFE, FMD
*             AND ON CYLINDER ARE ACTIVE FROM THE DRIVE.                 FMD
*         4.  ISSUE A 42 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 80   FMD
*             HEX.                                                       FMD
*         5.  ISSUE A 43 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             SIXTEEN DECIMAL.                                           FMD
*         6.  ISSUE A 48 (SEEK) COMMAND TO THE DRIVE WITH BUS OUT EQUAL  FMD
*             TO ZERO.                                                   FMD
*         7.  VERIFY THAT STATUS VALID IS ACTIVE AND BUS IN STATUS BIT   FMD
*             ZERO EQUALS ZERO.                                          FMD
*         8.  ISSUE A 8A COMMAND TO THE DRIVE WITH BUS OUT EQUALS TO     FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE.                  FMD
*         9.  CHECK THE BUS IN STATUS FOR BEING EQUALS TO 20 HEX. IF IT  FMD
*             IS, GO TO STEP 11.                                         FMD
*         10. REPEAT STEPS 8 AND 9 EIGHT TIMES AND IF THE BUS IN STATUS  FMD
*             STILL IS INCORRECT, REPORT A BUS IN STATUS ERROR.          FMD
*         11. DELAY 30 MILLISECONDS AND IF ON CYLINDER IS NOT ACTIVE,    FMD
*             REPORT A ON CYLINDER ERROR.                                FMD
*         12. ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS. VERIFY STATUS VALID, READY AND SAFE, FMD
*             AND ON CYLINDER ARE ACTIVE FROM THE DRIVE.                 FMD
*         13. ISSUE A 42 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 80   FMD
*             HEX.                                                       FMD
*         14. ISSUE A 43 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             THIRTY-TWO DECIMAL.                                        FMD
*         14A.ISSUE A 41 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 
*             THIRTY-TWO DECIMAL. 
*         15. ISSUE A 48 (SEEK) COMMAND TO THE DRIVE WITH BUS OUT EQUAL  FMD
*             TO ZERO.                                                   FMD
*         16. DELAY 30 DECIMAL MILLISECONDS AND VERIFY THAT STATUS VALID FMD
*             IS ACTIVE, BUS IN STATUS BIT ZERO EQUALS ZERO, READY AND   FMD
*             SAFE IS ACTIVE, AND ON CYLINDER IS ACTIVE.                 FMD
*         17. ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS. VERIFY STATUS VALID, READY AND SAFE, FMD
*             AND ON CYLINDER ARE ACTIVE FROM THE DRIVE.                 FMD
*         18. ISSUE A 42 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 80   FMD
*             HEX.                                                       FMD
*         19. ISSUE A 43 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             SIXTY-FOUR DECIMAL.                                        FMD
*         20. ISSUE A 48 (SEEK) COMMAND TO THE DRIVE WITH BUS OUT EQUAL  FMD
*             TO ZERO.                                                   FMD
*         21. DELAY 30 DECIMAL MILLISECONDS AND VERIFY THAT STATUS VALID FMD
*             IS ACTIVE, BUS IN STATUS BIT ZERO IS EQUALS ZERO, READY    FMD
*             AND SAFE IS ACTIVE, AND ON CYLINDER IS ACTIVE.             FMD
*         22. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98D - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD97S - PROCESS ERRORS.                                       FMD
*         FMD97T - PROCESS ERRORS.                                       FMD
*         FMD97U - PROCESS ERRORS.                                       FMD
*         FMD97V - PROCESS ERRORS.                                       FMD
*         FMD97W - PROCESS ERRORS.                                       FMD
*         FMD97X - PROCESS ERRORS.                                       FMD
*         FMD97Y - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98D - ISOLATE READY AND SAFE FAULT.
*         FHD97S - PROCESS ERRORS.
*         FHD97T - PROCESS ERRORS.
*         FHD97U - PROCESS ERRORS.
*         FHD97V - PROCESS ERRORS.
*         FHD97W - PROCESS ERRORS.
*         FHD97X - PROCESS ERRORS.
*         FHD97Y - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98D - ISOLATE READY AND SAFE FAULT.
*         FLD97S - PROCESS ERRORS.
*         FLD97T - PROCESS ERRORS.
*         FLD97U - PROCESS ERRORS.
*         FLD97V - PROCESS ERRORS.
*         FLD97W - PROCESS ERRORS.
*         FLD97X - PROCESS ERRORS.
*         FLD97Y - PROCESS ERRORS.
*         FLD97Z - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - RETRY COUNTER.                                   FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD38 - SEEK 16,32,64 TRACKS                                   FMD
2  FORMAT FMD38 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD38 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD38 - SEEK 16,32,64 TRACKS
2  FORMAT FHD38 - EC *DECD, LC = *DECD
3  FORMAT FHD38 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD38 - SEEK 16,32,64 TRACKS
2  FORMAT FLD38 - EC *DECD, LC = *DECD
3  FORMAT FLD38 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 17/0 GOTO 64  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)GOTO 62  *READY AND SAFE ERROR                 FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE A 49 (RTZ) COMMAND TO THE 885 DRIVE.                     FMD
*                                                                        FMD
30 GOSUB 60                   *EXECUTE RTZ (49)SEQUENCE 
   STATUS,CHANNEL,ABT 64      *READ CHANNEL STATUSES                     FMD
*                                                                        FMD
/         CHECK STATUSES FROM 49 DRIVE COMMAND.                          FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *STAT. VALID             FMD
   IF(SB(CCDS) AND CDRS EQ 0) GOTO 62  *READY AND SAFE ERROR             FMD
   IF(SB(CCDS)AND COTRK NE 0) GOTO 32  *IF ON CYLINDER                   FMD
   IF(B13 EQ 1)ERROR 0/26 GOTO 64      *IF CONDITION 1                   FMD
   IF(B13 EQ 2)ERROR 0/32 GOTO 64      *IF CONDITION 2                   FMD
   IF(B13 EQ 3)ERROR 14/34 GOTO 64     *IF CONDITION 3                   FMD
*                                                                        FMD
/         ISSUE 42, 43, AND 41 COMMANDS TO THE 885 DRIVE. 
*                                                                        FMD
32 B0=10 LS B13                  *BUILD SEEK CYLINDER COUNT              FMD
   OUT,CH=CH8,200,102,ABT 64     *ISSUE 42 COMMAND TO DRIVE              FMD
   OUT,CH=CH8,B0,103,ABT 64      *ISSUE 43 COMMAND TO DRIVE              FMD
   OUT,CH=CH8,B0,101,ABT 64   *ISSUE 41 COMMAND TO DRIVE
   B11=0                         *EXPECTED BUS IN STATUS                 FMD
*                                                                        FMD
/         ISSUE 48 (SEEK) COMMAND TO THE 885 DRIVE.                      FMD
*                                                                        FMD
   OUT,CH=CH8,0,110,ABT 64       *ISSUE 48 COMMAND TO DRIVE              FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL,ABT 64         *READ CHANNEL STATUSES                  FMD
   IF(B13 NE 1)DELAY 30D MSEC    *DELAY FOR SEEK TO COMPLETE             FMD
   B12=SB(CBIS)AND 1             *SAVE BUS IN STATUS                     FMD
*                                                                        FMD
/         CHECK STATUSES FROM 48 DRIVE COMMAND.                          FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *STAT. VALID             FMD
   IF(B12 NE B11) ERROR 16/13 GOTO 64  *BUS IN STATUS ERROR              FMD
   IF(B13 NE 1) GOTO 40                *IF NOT CONDITION 1               FMD
   B8=0                               *SET RETRY COUNTER                 FMD
   B11=40                            *EXPECTED BUS IN STATUS             FMD
*                                                                        FMD
/         ISSUE 8A COMMAND TO THE 885 DRIVE.                             FMD
*                                                                        FMD
34 OUT,CH=CH8,0,212,ABT 64        *ISSUE 8A COMMAND TO DRIVE             FMD
*                                                                        FMD
/        READ AND CHECK 7155 CONTROLLER CHANNEL STATUSES.                FMD
*                                                                        FMD
   STATUS,CHANNEL,ABT 64            *READ CHANNEL STATUSES               FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *BUS VALID               FMD
   B12=SB(CBIS) AND 40              *SAVE BUS IN STATUS                  FMD
   IF(B12 EQ B11) GOTO 36           *IF BUS IN STATUS OK                 FMD
   GOTO 34 WHILE(B8+1 NE 10)        *LOOP EIGHT TIMES                    FMD
   ERROR 11/30 GOTO 64              *BUS IN STATUS ERROR                 FMD
36 DELAY 30D MSEC                 *WAIT FOR SEEK TO COMPLETE             FMD
40 STATUS,CHANNEL,ABT 64           *READ CHANNEL STATUSES                FMD
   IF(B13 EQ 1) GOTO 42              *IF CONDITION 1                     FMD
   IF(SB(CCDS) AND CDRS EQ 0) GOTO 62  *READY AND SAFE ERROR             FMD
42 IF(SB(CCDS)AND COTRK NE 0) GOTO 44  *IF ON CYLINDER                   FMD
   IF(B13 EQ 1)ERROR 4/31 GOTO 64      *IF CONDITION 1                   FMD
   IF(B13 EQ 2)ERROR 4/33 GOTO 64      *IF CONDITION 2                   FMD
   IF(B13 EQ 3)ERROR 4/35 GOTO 64      *IF CONDITION 3                   FMD
44 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   GOTO 30 WHILE(B13+1 NE 4)       *DO THREE SEEKS                       FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=4                         *CONDITION NUMBER 4                     FMD
   REL,ABT 64                    *RELEASE CONTROLLER AND FMD             FMD
46 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 64         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 64                             *REPORT THE ERROR                 FMD18
* 
/         ISSUE RTZ AND DELAY SUBROUTINE
* 
60 OUT,CH=CH8,0,111,ABT 65    *ISSUE 49 COMMAND TO DRIVE
   DELAY,300D MSEC            *DELAY FOR RTZ TO COMPLETE
   RETURN 
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
62 STATUS,DETAIL,ABT 64              *GET DETAILED STATUS                FMD
   GOSUB 60                   *EXECUTE RTZ (49) SEQUENCE
   IF(ES AND SL EQ 0)CALL 98D        *IF NO SCOPING LOOP                 FMD
   GOTO 65
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
64 GOSUB 60                 *EXECUTE RTZ (49) SEQUENCE
65 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE
   B0=38D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 97S       *IF NO SCOPING LOOP                 FMD
   IF(B13 EQ 4) ENDSUB GOTO 46         *IF CONDITION 4                   FMD
66 IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 64  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26               *IF CONDITION 0             FMD
   ENDSUB GOTO 44                            *CONDITIONS 1-3             FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 64       *RESERVE FIXED MODULE DRIVE              FMD
   ENDSUB GOTO 30               *REPEAT CONDITIONS 1-3                   FMD
76 MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD39,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD39,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD39,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.39 SEEK 128,256,512 TRK                                          FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD39 CHECKS THE STATUSES FROM THE DRIVE AFTER 128, 256, AND   FMD
*ENDIF
*IF DEF,PFMD
*         FHD39 CHECKS THE STATUSES FROM THE DRIVE AFTER 128, 256, AND
*ENDIF
*IF DEF,LSFMD 
*         FLD39 CHECKS THE STATUSES FROM THE DRIVE AFTER 128, 256, AND
*ENDIF
*         512 TRACK SEEK COMMANDS ARE ISSUED TO THE FIXED MODULE DRIVE.  FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT THAT SELECT AND RESERVED AND READY AND SAFE    FMD
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS. VERIFY STATUS VALID, READY AND SAFE, FMD
*             AND ON CYLINDER ARE ACTIVE FROM THE DRIVE.                 FMD
*         4.  ISSUE A 42 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 80   FMD
*             HEX.                                                       FMD
*         5.  ISSUE A 43 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 128  FMD
*             DECIMAL.                                                   FMD
*         6.  ISSUE A 48 (SEEK) COMMAND TO THE DRIVE WITH BUS OUT EQUAL  FMD
*             TO ZERO.                                                   FMD
*         7.  AFTER A 30 DECIMAL MILLISECOND DELAY, VERIFY THAT STATUS   FMD
*             VALID IS ACTIVE, BUS IN STATUS BIT ZERO EQUALS ZERO, READY FMD
*             AND SAFE IS ACTIVE, AND ON CYLINDER STATUS IS ACTIVE.      FMD
*         8.  ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS. VERIFY STATUS VALID, READY AND SAFE, FMD
*             AND ON CYLINDER ARE ACTIVE FROM THE DRIVE.                 FMD
*         9.  ISSUE A 42 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 80   FMD
*             HEX.                                                       FMD
*         10. ISSUE A 43 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 256  FMD
*             DECIMAL.                                                   FMD
*         10A.ISSUE A 40 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 
*             ZERO. 
*         10B.ISSUE 41 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 
*             256.
*         11. ISSUE A 48 (SEEK) COMMAND TO THE DRIVE WITH BUS OUT EQUAL  FMD
*             TO ZERO.                                                   FMD
*         12. AFTER A 30 DECIMAL MILLISECOND DELAY, VERIFY THAT STATUS   FMD
*             VALID IS ACTIVE, BUS IN STATUS BIT ZERO EQUALS ZERO, READY FMD
*             AND SAFE IS ACTIVE, AND ON CYLINDER STATUS IS ACTIVE.      FMD
*         13. ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS. VERIFY STATUS VALID, READY AND SAFE, FMD
*             AND ON CYLINDER ARE ACTIVE FROM THE DRIVE.                 FMD
*         14. ISSUE A 42 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 80   FMD
*             HEX.                                                       FMD
*         15. ISSUE A 43 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 512  FMD
*             DECIMAL.                                                   FMD
*         16. ISSUE A 48 (SEEK) COMMAND TO THE DRIVE WITH BUS OUT EQUAL  FMD
*             TO ZERO.                                                   FMD
*         17. AFTER A 50 DECIMAL MILLISECOND DELAY, VERIFY THAT STATUS   FMD
*             VALID IS ACTIVE, BUS IN STATUS BIT ZERO EQUALS ZERO, READY FMD
*             AND SAFE IS ACTIVE, AND ON CYLINDER STATUS IS ACTIVE.      FMD
*         18. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98D - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD97S - PROCESS ERRORS.                                       FMD
*         FMD97T - PROCESS ERRORS.                                       FMD
*         FMD97U - PROCESS ERRORS.                                       FMD
*         FMD97V - PROCESS ERRORS.                                       FMD
*         FMD97W - PROCESS ERRORS.                                       FMD
*         FMD97X - PROCESS ERRORS.                                       FMD
*         FMD97Y - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98D - ISOLATE READY AND SAFE FAULT.
*         FHD97S - PROCESS ERRORS.
*         FHD97T - PROCESS ERRORS.
*         FHD97U - PROCESS ERRORS.
*         FHD97V - PROCESS ERRORS.
*         FHD97W - PROCESS ERRORS.
*         FHD97X - PROCESS ERRORS.
*         FHD97Y - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98D - ISOLATE READY AND SAFE FAULT.
*         FLD97S - PROCESS ERRORS.
*         FLD97T - PROCESS ERRORS.
*         FLD97U - PROCESS ERRORS.
*         FLD97V - PROCESS ERRORS.
*         FLD97W - PROCESS ERRORS.
*         FLD97X - PROCESS ERRORS.
*         FLD97Y - PROCESS ERRORS.
*         FLD97Z - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD39 - SEEK 128,256,512 TRK                                   FMD
2  FORMAT FMD39 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD39 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD39 - SEEK 128,256,512 TRK
2  FORMAT FHD39 - EC *DECD, LC = *DECD
3  FORMAT FHD39 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD39 - SEEK 128,256,512 TRK
2  FORMAT FLD39 - EC *DECD, LC = *DECD
3  FORMAT FLD39 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 17/0 GOTO 64  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)GOTO 62  *READY AND SAFE ERROR                 FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B11=0                           *EXPECTED BUS IN STATUS               FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE A 49 (RTZ) COMMAND TO THE 885 DRIVE.                     FMD
*                                                                        FMD
30 GOSUB 60                   *EXECUTE RTZ (49)SEQUENCE 
   STATUS,CHANNEL,ABT 64      *READ CHANNEL STATUSES                     FMD
*                                                                        FMD
/         CHECK STATUSES FROM 49 DRIVE COMMAND.                          FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *BUS VALID               FMD
   IF(SB(CCDS) AND CDRS EQ 0) GOTO 62  *READY AND SAFE ERROR             FMD
   IF(SB(CCDS)AND COTRK NE 0) GOTO 32  *IF ON CYLINDER                   FMD
   IF(B13 EQ 1)ERROR 0/36 GOTO 64      *IF CONDITION 1                   FMD
   IF(B13 EQ 2)ERROR 20/40 GOTO 64     *IF CONDITION 2                   FMD
   IF(B13 EQ 3)ERROR 24/42 GOTO 64     *IF CONDITION 3                   FMD
*                                                                        FMD
/         ISSUE 42, 43, 40, AND 41 COMMANDS TO THE 885 DRIVE. 
*                                                                        FMD
32 B0=0                        *BUILD SEEK CYLINDER COUNT                FMD
   B1=200                                                                FMD
   IF(B13 EQ 1)B0=200          *IF 128 CYLINDER SEEK                     FMD
   IF(B13 EQ 2)B1=201          *IF 256 CYLINDER SEEK                     FMD
   IF(B13 EQ 3)B1=202          *IF 512 CYLINDER SEEK                     FMD
   OUT,CH=CH8,B1,102,ABT 64    *ISSUE 42 COMMAND TO DRIVE                FMD
   OUT,CH=CH8,B0,103,ABT 64    *ISSUE 43 COMMAND TO DRIVE                FMD
   OUT,CH=CH8,B1,100,ABT 64   *ISSUE 40 COMMAND TO DRIVE
   OUT,CH=CH8,B0,101,ABT 64   *ISSUE 41 COMMAND TO DRIVE
*                                                                        FMD
/         ISSUE 48 (SEEK) COMMAND TO THE 885 DRIVE.                      FMD
*                                                                        FMD
   OUT,CH=CH8,0,110,ABT 64     *ISSUE 48 COMMAND TO DRIVE                FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   IF(B13 NE 3)DELAY 30D MSEC  *DELAY IF NOT CONDITION 3                 FMD
   IF(B13 EQ 3)DELAY 50D MSEC  *DELAY IF CONDITION 3                     FMD
   STATUS,CHANNEL,ABT 64       *READ CHANNEL STATUSES                    FMD
   B12=SB(CBIS)AND 1           *SAVE BUS IN STATUS                       FMD
*                                                                        FMD
/         CHECK STATUSES FROM 48 DRIVE COMMAND.                          FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *BUS VALID               FMD
   IF(B12 NE B11) ERROR 16/13 GOTO 64  *BUS IN STATUS ERROR              FMD
   IF(SB(CCDS) AND CDRS EQ 0) GOTO 62  *READY AND SAFE ERROR             FMD
   IF(SB(CCDS)AND COTRK NE 0) GOTO 40  *IF ON CYLINDER                   FMD
   IF(B13 EQ 1)ERROR 16/37 GOTO 64     *IF CONDITION 1                   FMD
   IF(B13 EQ 2)ERROR 22/41 GOTO 64     *IF CONDITION 2                   FMD
   IF(B13 EQ 3)ERROR 26/43 GOTO 64     *IF CONDITION 3                   FMD
40 GOSUB 74                       *PROCESS REPEAT CONDITION              FMD
   GOTO 30 WHILE(B13+1 NE 4)      *DO THREE SEEKS                        FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=4                         *CONDITION NUMBER 4                     FMD
   REL,ABT 64                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 64         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 64                             *REPORT THE ERROR                 FMD18
* 
/         ISSUE RTZ AND DELAY SUBROUTINE
* 
60 OUT,CH=CH8,0,111,ABT 65    *ISSUE 49 COMMAND TO DRIVE
   DELAY,300D MSEC            *DELAY FOR RTZ TO COMPLETE
   RETURN 
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
62 STATUS,DETAIL,ABT 64             *GET DETAILED STATUS                 FMD
   GOSUB 60                   *EXECUTE RTZ (49) SEQUENCE
   IF(ES AND SL EQ 0)CALL 98D       *IF NO SCOPING LOOP                  FMD
   GOTO 65
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
64 GOSUB 60                 *EXECUTE RTZ (49) SEQUENCE
65 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE
   B0=39D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 97S       *IF NO SCOPING LOOP                 FMD
   IF(B13 EQ 4) ENDSUB GOTO 42         *IF CONDITION 4                   FMD
66 IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 64  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26               *IF CONDITION 0             FMD
   ENDSUB GOTO 40                            *CONDITIONS 1-3             FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 64       *RESERVE FIXED MODULE DRIVE              FMD
   ENDSUB GOTO 30               *REPEAT CONDITIONS 1-3                   FMD
76 MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD40,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD40,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD40,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.40 SEEK 842 TRACKS                                               FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD40 CHECKS THE STATUSES FROM THE DRIVE AFTER A 842 TRACK     FMD
*ENDIF
*IF DEF,PFMD
*         FHD40 CHECKS THE STATUSES FROM THE DRIVE AFTER A 842 TRACK
*ENDIF
*IF DEF,LSFMD 
*         FLD40 CHECKS THE STATUSES FROM THE DRIVE AFTER A 842 TRACK
*ENDIF
*         SEEK COMMAND IS ISSUED TO THE FIXED MODULE DRIVE.              FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS. VERIFY STATUS VALID, READY AND SAFE, FMD
*             AND ON CYLINDER ARE ACTIVE FROM THE DRIVE.                 FMD
*         4.  ISSUE A 42 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 83   FMD
*             HEX.                                                       FMD
*         5.  ISSUE A 43 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 4A   FMD
*             HEX.                                                       FMD
*         5A. ISSUE A 40 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 
*             83 HEX. 
*         5B. ISSUE 41 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO 
*             4A HEX. 
*         6.  ISSUE A 48 (SEEK) COMMAND TO THE DRIVE WITH BUS OUT EQUAL  FMD
*             TO ZERO.                                                   FMD
*         7.  VERIFY THAT STATUS VALID IS ACTIVE AND THAT BUS IN STATUS  FMD
*             BIT ZERO EQUALS ZERO.                                      FMD
*         8.  SET RETRY COUNTER EQUAL TO 100 DECIMAL.                    FMD
*         9.  ISSUE A 8A (STATUS WORD 3) COMMAND TO THE DRIVE WITH BUS   FMD
*             OUT EQUAL TO ZERO. VERIFY THAT STATUS VALID IS ACTIVE.     FMD
*         10. IF BUS IN STATUS IS EQUAL TO XXX1 XXXX, GOTO STEP 12.      FMD
*         11. DECREMENT THE RETRY COUNTER BY ONE AND IF IT IS NOT EQUAL  FMD
*             TO ZERO, GO TO STEP 9. IF THE RETRY COUNTER IS EQUAL TO    FMD
*             ZERO, REPORT A STATUS ERROR.                               FMD
*         12. DELAY 30 DECIMAL MILLISECONDS AND VERIFY THAT READY AND    FMD
*             SAFE IS ACTIVE AND ON CYLINDER IS ACTIVE.                  FMD
*         13. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98D - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD97S - PROCESS ERRORS.                                       FMD
*         FMD97T - PROCESS ERRORS.                                       FMD
*         FMD97U - PROCESS ERRORS.                                       FMD
*         FMD97V - PROCESS ERRORS.                                       FMD
*         FMD97W - PROCESS ERRORS.                                       FMD
*         FMD97X - PROCESS ERRORS.                                       FMD
*         FMD97Y - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98D - ISOLATE READY AND SAFE FAULT.
*         FHD97S - PROCESS ERRORS.
*         FHD97T - PROCESS ERRORS.
*         FHD97U - PROCESS ERRORS.
*         FHD97V - PROCESS ERRORS.
*         FHD97W - PROCESS ERRORS.
*         FHD97X - PROCESS ERRORS.
*         FHD97Y - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98D - ISOLATE READY AND SAFE FAULT.
*         FLD97S - PROCESS ERRORS.
*         FLD97T - PROCESS ERRORS.
*         FLD97U - PROCESS ERRORS.
*         FLD97V - PROCESS ERRORS.
*         FLD97W - PROCESS ERRORS.
*         FLD97X - PROCESS ERRORS.
*         FLD97Y - PROCESS ERRORS.
*         FLD97Z - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - RETRY COUNTER.                                   FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD40 - SEEK 842 TRACKS                                        FMD
2  FORMAT FMD40 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD40 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD40 - SEEK 842 TRACKS 
2  FORMAT FHD40 - EC *DECD, LC = *DECD
3  FORMAT FHD40 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD40 - SEEK 842 TRACKS 
2  FORMAT FLD40 - EC *DECD, LC = *DECD
3  FORMAT FLD40 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 17/0 GOTO 64  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)GOTO 62  *READY AND SAFE ERROR                 FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE A 49 (RTZ) COMMAND TO THE 885 DRIVE.                     FMD
*                                                                        FMD
30 GOSUB 60                   *EXECUTE RTZ (49)SEQUENCE 
   STATUS,CHANNEL,ABT 64      *READ CHANNEL STATUSES                     FMD
*                                                                        FMD
/         CHECK STATUSES FROM 49 DRIVE COMMAND.                          FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *BUS VALID               FMD
   IF(SB(CCDS) AND CDRS EQ 0) GOTO 62  *READY AND SAFE ERROR             FMD
   IF(SB(CCDS)AND COTRK EQ 0)ERROR 0/44 GOTO 64   *OFF TRACK             FMD
*                                                                        FMD
/         ISSUE 42, 43, 40, AND 41 COMMANDS TO THE 885 DRIVE. 
*                                                                        FMD
   OUT,CH=CH8,203,102,ABT 64   *ISSUE 42 COMMAND TO DRIVE                FMD
   OUT,CH=CH8,112,103,ABT 64   *ISSUE 43 COMMAND TO DRIVE                FMD
   OUT,CH=CH8,3,100,ABT 64    *ISSUE 40 COMMAND TO DRIVE
   OUT,CH=CH8,112,101,ABT 64  *ISSUE 41 COMMAND TO DRIVE
   B11=0                       *EXPECTED BUS IN STATUS                   FMD
*                                                                        FMD
/         ISSUE 48 (SEEK) COMMAND TO THE 885 DRIVE.                      FMD
*                                                                        FMD
   OUT,CH=CH8,0,110,ABT 64     *ISSUE 48 COMMAND TO DRIVE                FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL,ABT 64       *READ CHANNEL STATUSES                    FMD
   B12=SB(CBIS)AND 1           *SAVE BUS IN STATUS                       FMD
*                                                                        FMD
/         CHECK STATUSES FROM 48 DRIVE COMMAND.                          FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *BUS VALID               FMD
   IF(B12 NE B11) ERROR 16/13 GOTO 64  *BUS IN STATUS ERROR              FMD
   B8=200D                          *SET RETRY COUNTER
   B11=20                           *EXPECTED BUS IN STATUS              FMD
*                                                                        FMD
/         ISSUE 8A COMMAND TO THE 885 DRIVE.                             FMD
*                                                                        FMD
32 OUT,CH=CH8,0,212,ABT 64        *ISSUE 8A COMMAND TO DRIVE             FMD
*                                                                        FMD
/        READ AND CHECK 7155 CONTROLLER CHANNEL STATUSES.                FMD
*                                                                        FMD
   STATUS,CHANNEL,ABT 64          *READ CHANNEL STATUSES                 FMD
   B12=SB(CBIS) AND 20            *SAVE BUS IN STATUS                    FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *BUS VALID               FMD
   IF(B12 EQ B11) GOTO 34         *IF BUS IN STATUS OK                   FMD
   GOTO 32 WHILE(B8-1 NE 0)       *LOOP EIGHT TIMES                      FMD
   ERROR 6/27 GOTO 64             *BUS IN STATUS ERROR                   FMD
34 DELAY 50D MSEC                 *WAIT FOR SEEK TO COMPLETE             FMD
   STATUS,CHANNEL,ABT 64           *READ CHANNEL STATUSES                FMD
   IF(SB(CCDS) AND CDRS EQ 0) GOTO 62  *READY AND SAFE ERROR             FMD
   IF(SB(CCDS)AND COTRK EQ 0)ERROR 2/45 GOTO 64   *OFF TRACK             FMD
36 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 64                    *RELEASE CONTROLLER AND FMD             FMD
40 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 64         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 64                             *REPORT THE ERROR                 FMD18
* 
/         ISSUE RTZ AND DELAY SUBROUTINE
* 
60 OUT,CH=CH8,0,111,ABT 65    *ISSUE 49 COMMAND TO DRIVE
   DELAY,300D MSEC            *DELAY FOR RTZ TO COMPLETE
   RETURN 
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
62 STATUS,DETAIL,ABT 64        *GET DETAILED STATUS                      FMD
   GOSUB 60                   *EXECUTE RTZ (49) SEQUENCE
   IF(ES AND SL EQ 0)CALL 98D  *IF NO SCOPING LOOP                       FMD
   GOTO 65
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
64 GOSUB 60                 *EXECUTE RTZ (49) SEQUENCE
65 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE
   B0=40D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 97S       *IF NO SCOPING LOOP                 FMD
   IF(B13 EQ 2) ENDSUB GOTO 40         *IF CONDITION 2                   FMD
66 IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 64  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26               *IF CONDITION 0             FMD
   ENDSUB GOTO 36                            *CONDITION 1                FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 64       *RESERVE FIXED MODULE DRIVE              FMD
   ENDSUB GOTO 30               *REPEAT CONDITION 1                      FMD
76 MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD41,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD41,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD41,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.41 INCREMENTAL SEEKS                                             FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD41 CHECKS THE STATUSES FROM THE DRIVE AFTER A ONE CYLINDER  FMD
*ENDIF
*IF DEF,PFMD
*         FHD41 CHECKS THE STATUSES FROM THE DRIVE AFTER A ONE CYLINDER 
*ENDIF
*IF DEF,LSFMD 
*         FLD41 CHECKS THE STAUTSES FROM THE DRIVE AFTER A ONE CYLINDER 
*ENDIF
*         SEEK. ONE CYLINDER SEEKS ARE DONE FROM THE CYLINDER NUMBER IN  FMD
*         P0 TO CYLINDER NUMBER 842 DECIMAL OR THE CYLINDER NUMBER IN    FMD
*         P1 IF P1 IS NOT EQUALS TO ZERO. THEN ONE CYLINDER SEEKS ARE    FMD
*         DONE FROM CYLINDER NUMBER 842D OR THE CYLINDER NUMBER IN P1 TO FMD
*         THE CYLINDER NUMBER P0.                                        FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  SET LOWER LOWER CYLINDER ADDRESS (B9) TO P0.               FMD
*         2.  SET LOWER UPPER CYLINDER ADDRESS (B10) TO 843 DECIMAL IF   FMD
*             P1 CONTAINS ZERO OTHERWISE THE CONTENTS OF P1+1.           FMD
*         3.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         4.  VERIFY THAT THAT SELECT AND RESERVED AND READY AND SAFE    FMD
*             STATUSES ARE ACTIVE.                                       FMD
*         5.  ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS. VERIFY STATUS VALID, READY AND SAFE, FMD
*             AND ON CYLINDER ARE ACTIVE FROM THE DRIVE.                 FMD
*         6.  SET THE INTERNAL SEEK CYLINDER NUMBER TO THE CONTENTS OF   FMD
*             THE B9 REGISTER.                                           FMD
*         7.  ISSUE A ONE CYLINDER FORWARD SEEK TO THE FIXED MODULE      FMD
*             DRIVE.                                                     FMD
*         8.  VERIFY THAT STATUS VALID AND READY ARE ACTIVE FOLLOWING    FMD
*             THE COMPLETION OF THE SEEK.                                FMD
*         9.  INCREMENT THE INTERNAL SEEK CYLINDER NUMBER BY ONE. IF THE FMD
*             INTERNAL SEEK CYLINDER NUMBER IS NOT EQUAL TO THE CONTENTS FMD
*             OF THE B10 REGISTER, GO TO STEP 7.                         FMD
*         10. SET THE INTERNAL SEEK CYLINDER NUMBER THE CONTENTS OF THE  FMD
*             B10 REGISTER MINUS TWO.                                    FMD
*         11. ISSUE A ONE CYLINDER REVERSE SEEK TO THE FIXED MODULE      FMD
*             DRIVE.                                                     FMD
*         12. VERIFY THAT STATUS VALID AND READY ARE ACTIVE FOLLOWING    FMD
*             THE COMPLETION OF THE SEEK.                                FMD
*         13. IF THE INTERNAL SEEK CYLINDER NUMBER IS EQUAL TO THE       FMD
*             CONTENTS OF THE B9 REGISTER, DECREMENT THE INTERNAL SEEK   FMD
*             CYLINDER NUMBER BY ONE AND GO TO STEP 11.                  FMD
*         14. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*         P0 CONTAINS THE LOWER CYLINDER NUMBER.                         FMD
*         P1 CONTAINS THE UPPER CYLINDER NUMBER.                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98D - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD97S - PROCESS ERRORS.                                       FMD
*         FMD97T - PROCESS ERRORS.                                       FMD
*         FMD97U - PROCESS ERRORS.                                       FMD
*         FMD97V - PROCESS ERRORS.                                       FMD
*         FMD97W - PROCESS ERRORS.                                       FMD
*         FMD97X - PROCESS ERRORS.                                       FMD
*         FMD97Y - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98D - ISOLATE READY AND SAFE FAULT.
*         FHD97S - PROCESS ERRORS.
*         FHD97T - PROCESS ERRORS.
*         FHD97U - PROCESS ERRORS.
*         FHD97V - PROCESS ERRORS.
*         FHD97W - PROCESS ERRORS.
*         FHD97X - PROCESS ERRORS.
*         FHD97Y - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98D - ISOLATE READY AND SAFE FAULT.
*         FLD97S - PROCESS ERRORS.
*         FLD97T - PROCESS ERRORS.
*         FLD97U - PROCESS ERRORS.
*         FLD97V - PROCESS ERRORS.
*         FLD97W - PROCESS ERRORS.
*         FLD97X - PROCESS ERRORS.
*         FLD97Y - PROCESS ERRORS.
*         FLD97Z - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - TRACK AND SECTOR NUMBER.                         FMD
*         B7 REGISTER - SEEK COUNTER.                                    FMD
*         B8 REGISTER - DIRECTION OF SEEK.                               FMD
*         B9 REGISTER - FIRST SEEK ADDRESS.                              FMD
*         B10 REGISTER - LAST SEEK ADDRESS PLUS ONE.                     FMD
*         B11 REGISTER - SECTOR AND TRACK NUMBER.                        FMD
*         B12 REGISTER - INTERNAL SEEK CYLINDER NUMBER.                  FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD41 - INCREMENTAL SEEKS                                      FMD
2  FORMAT FMD41 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD41 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD41 - INCREMENTAL SEEKS 
2  FORMAT FHD41 - EC *DECD, LC = *DECD
3  FORMAT FHD41 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD41 - INCREMENTAL SEEKS 
2  FORMAT FLD41 - EC *DECD, LC = *DECD
3  FORMAT FLD41 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, DRSV=240                     FMD
   EQUATE COTRK=40, DSRRS=600                                            FMD18
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B9=P0                     *LOWER CYLINDER NUMBER                      FMD
   B10=842D+1                *UPPER CYLINDER NUMBER PLUS ONE             FMD
   IF(P1 EQ 0)B10=P0+1       *IF P1 CONTAINS UPPER CYLINDER              FMD
   B6=0                      *CYLINDER AND SECTOR NUMBER                 FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 17/0 GOTO 64  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)GOTO 62  *READY AND SAFE ERROR                 FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE A 49 (RTZ) COMMAND TO THE 885 DRIVE.                     FMD
*                                                                        FMD
30 OUT,CH=CH8,0,111,ABT 64    *ISSUE 49 COMMAND TO THE DRIVE             FMD
   DELAY,300D MSEC            *DELAY FOR RTZ TO COMPLETE                 FMD
   STATUS,CHANNEL,ABT 64      *READ CHANNEL STATUSES                     FMD
*                                                                        FMD
/         CHECK STATUSES FROM 49 DRIVE COMMAND.                          FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *BUS VALID               FMD
   IF(SB(CCDS) AND CDRS EQ 0) GOTO 62  *READY AND SAFE ERROR             FMD
   IF(SB(CCDS)AND COTRK EQ 0)ERROR 4/46 GOTO 64   *OFF TRACK             FMD
32 GOSUB 74                   *PROCESS REPEAT CONDITION                  FMD
   B7=0                          *CLEAR SEEK COUNTER                     FMD
   B8=1                          *ONE CYLINDER FORWARD SEEKS             FMD
   B12=B9                        *FIRST CYLINDER TO SEEK TO              FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
*                                                                        FMD
/         SEEK ONE CYLINDER TO THE CYLINDER NUMBER IN B12.               FMD
*                                                                        FMD
34 SEEK,CYL B12,TRK B6,SEC B6,ABT 60  *SEEK TO NEXT CYLINDER             FMD
36 STATUS,CHANNEL,ABT 64              *READ CHANNEL STATUSES             FMD10
   IF(SB(CCDS)AND CDRS EQ 0) GOTO 62  *READY AND SAFE ERROR              FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *BUS VALID               FMD
   B12=B12+B8                        *UPDATE CYLINDER NUMBER             FMD
   B7=B7+1                           *INCREMENT SEEK COUNTER             FMD
   IF(B7 AND 77 EQ 0)RES,DRIVE,FAULT,ABT 64  *RESERVE DRIVE              FMD
   IF(B8 NE 1)GOTO 40               *IF NOT SEEKING FORWARDS             FMD
   IF(B12 NE B10)GOTO 34           *IF NOT AT LAST CYLINDER              FMD
   B8=7777                       *ONE CYLINDER REVERSE SEEKS             FMD
   B12=B10-1                    *FIRST CYLINDER TO SEEK TO               FMD
   GOTO 34                      *GO TO DO FIRST SEEK REVERSE             FMD
40 B0=B12+1                     *PRESENT CYLINDER NUMBER                 FMD
   IF(B0 NE B9)GOTO 34          *IF NOT AT FIRST CYLINDER                FMD
42 GOSUB 74                     *PROCESS REPEAT CONDITION                FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=3                         *CONDITION NUMBER 3                     FMD
   REL,ABT 64                    *RELEASE CONTROLLER AND FMD             FMD
44 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 64         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 64                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS ABORT ON SEEK COMMAND.                                 FMD
*                                                                        FMD
60 IF(EC AND 77 LT 25) GOTO 64     *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9) AND DRSV NE DRSV)GOTO 36  *STATUS ERROR                      FMD
   GOTO 64                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
62 STATUS,DETAIL,ABT 64             *GET DETAILED STATUS                 FMD
   IF(ES AND SL EQ 0)CALL 98D       *IF NO SCOPING LOOP                  FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
64 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=41D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 97S       *IF NO SCOPING LOOP                 FMD
   IF(B13 EQ 3) ENDSUB GOTO 44         *IF CONDITION 3                   FMD
66 IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 64  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26               *IF CONDITION 0             FMD
   IF(B13 EQ 1) ENDSUB GOTO 32               *IF CONDITION 1             FMD
   ENDSUB GOTO 42                            *CONDITION 1                FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 64       *RESERVE FIXED MODULE DRIVE              FMD
   IF(B13 EQ 1) ENDSUB GOTO 30  *REPEAT CONDITION 1                      FMD
   ENDSUB GOTO 34               *REPEAT CONDITION 2                      FMD
76 MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD42,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD42,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD42,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.42 TIMED RANDOM SEEKS                                            FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD42 DOES 200 DECIMAL OR IF P9 IS NONZERO, THE NUMBER IN      FMD
*ENDIF
*IF DEF,PFMD
*         FHD42 DOES 200 DECIMAL OR IF P9 IS NONZERO, THE NUMBER IN 
*ENDIF
*IF DEF,LSFMD 
*         FLD42 DOES 200 DECIMAL OR IF P9 IS NONZERO, THE NUMBER IN 
*ENDIF
*         P9 TIMES 10 OCTAL RANDOM TIMED SEEKS. THE AVERAGE TIME         FMD
*         REQUIRED FOR A SEEK WILL THEN BE DETERMINED.                   FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS. VERIFY STATUS VALID, READY AND SAFE, FMD
*             AND ON CYLINDER ARE ACTIVE FROM THE DRIVE.                 FMD
*         4.  DO 200 DECIMAL OR IF P9 IS NONZERO THE NUMBER IN P9 TIMES  FMD
*             TEN RANDOM SEEKS AND SAVE THE TOTAL TIME REQUIRED FOR ALL  FMD
*             SEEKS. AFTER EACH SEEK, VERIFY THAT STATUS VALID AND READY FMD
*             AND SAFE ARE ACTIVE. AFTER EACH 25 DECIMAL SEEKS, RELEASE  FMD
*             AND RESERVE THE DRIVE.                                     FMD
*         5.  DETERMINE THE AVERAGE TIME REQUIRED FOR A SEEK AND VERIFY  FMD
*             THAT THE AVERAGE TIME REQUIRED FOR A SEEK IS LESS THEN     FMD
*             25 DECIMAL MILLISECONDS.                                   FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*         P6 CONTAINS THE SEED FOR THE RANDOM NUMBER GENERATOR IF IT IS  FMD
*            NONZERO.                                                    FMD
*         P9 CONTAINS THE NUMBER OF SEEKS TIMES TEN TO DO IF IT IS NONZE FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98D - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD97S - PROCESS ERRORS.                                       FMD
*         FMD97T - PROCESS ERRORS.                                       FMD
*         FMD97U - PROCESS ERRORS.                                       FMD
*         FMD97V - PROCESS ERRORS.                                       FMD
*         FMD97W - PROCESS ERRORS.                                       FMD
*         FMD97X - PROCESS ERRORS.                                       FMD
*         FMD97Y - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98D - ISOLATE READY AND SAFE FAULT.
*         FHD97S - PROCESS ERRORS.
*         FHD97T - PROCESS ERRORS.
*         FHD97U - PROCESS ERRORS.
*         FHD97V - PROCESS ERRORS.
*         FHD97W - PROCESS ERRORS.
*         FHD97X - PROCESS ERRORS.
*         FHD97Y - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98D - ISOLATE READY AND SAFE FAULT.
*         FLD97S - PROCESS ERRORS.
*         FLD97T - PROCESS ERRORS.
*         FLD97U - PROCESS ERRORS.
*         FLD97V - PROCESS ERRORS.
*         FLD97W - PROCESS ERRORS.
*         FLD97X - PROCESS ERRORS.
*         FLD97Y - PROCESS ERRORS.
*         FLD97Z - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - LOWER BITS OF NUMBER OF RANDOM SEEKS.            FMD
*         B8 REGISTER - UPPER BITS OF NUMBER OF RANDOM SEEKS.            FMD
*         B9 REGISTER - 25 DECIMAL SEEK COUNTER.                         FMD
*         B10 REGISTER - LOWER BITS OF TOTAL SEEK TIME.                  FMD
*         B11 REGISTER - UPPER BITS OF TOTAL SEEK TIME.                  FMD
*         B12 REGISTER - TRACK AND SECTOR NUMBER.                        FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(00-34) - RANDOM NUMBERS FOR SEEKS.                          FMD
*         SB(00-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.         FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD42 - TIMED RANDOM SEEKS                                     FMD
2  FORMAT FMD42 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD42 - *DECD ERRORS                                           FMD
4  FORMAT FMD42 - CYLINDER = *OCTB                                       FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD42 - TIMED RANDOM SEEKS
2  FORMAT FHD42 - EC *DECD, LC = *DECD
3  FORMAT FHD42 - *DECD ERRORS
4  FORMAT FHD42 - CYLINDER = *OCTB
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD42 - TIMED RANDOM SEEKS
2  FORMAT FLD42 - EC *DECD, LC = *DECD
3  FORMAT FLD42 - *DECD ERRORS
4  FORMAT FLD42 - CYLINDER = *OCTB
*ENDIF
*IF DEF,SFMD
5  FORMAT FMD42 - AVERAGE RANDOM SEEK TIME IS *DD MSEC
*ENDIF
*IF DEF,PFMD
5  FORMAT FHD42 - AVERAGE RANDOM SEEK TIME IS *DD MSEC
*ENDIF
*IF DEF,LSFMD 
5  FORMAT FLD42 - AVERAGE RANDOM SEEK TIME IS *DD MSEC
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CCDS=21, CDRS=10, CDS=11, CDSV=2, CH8=10                       FMD18
   EQUATE DRS=200, DSR=400, DSRRS=600, DRSV=240, COTRK=40                FMD18
*                                                                        FMD
/         RANDOM NUMBER GENERATOR CONSTANTS.                             FMD
*                                                                        FMD
   DATA (OB(25D),CON) 2075,3415,5730,6143                                FMD
/                                                                        FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   OB(25D)=RT                *RANDOM SEED VALUE                          FMD
   IF(P6 NE 0) OB(25D)=P6    *SEED VALUE EQUALS P6                       FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 RES,DRIVE,FAULT,ABT 66     *CONNECT TO FIXED MODULE DRIVE             FMD18
25 IF(SB(CDS)AND DSR EQ 0)ERROR 17/0 GOTO 64  *NO SELECT                 FMD18
   IF(SB(CDS)AND DRS EQ 0)GOTO 62  *READY AND SAFE ERROR                 FMD
*                                                                        FMD
/         ISSUE A 49 (RTZ) COMMAND TO THE 885 DRIVE.                     FMD
*                                                                        FMD
   B13=1                      *CONDITION NUMBER 1                        FMD
   OUT,CH=CH8,0,111,ABT 64    *ISSUE 49 COMMAND TO THE DRIVE             FMD
   DELAY,300D MSEC            *DELAY FOR RTZ TO COMPLETE                 FMD
*                                                                        FMD
/         CHECK STATUSES FROM 49 DRIVE COMMAND.                          FMD
*                                                                        FMD
   GOSUB 54                  *CHECK RTZ STATUSES                         FMD
   IF(SB(CCDS)AND COTRK EQ 0)ERROR 6/47 GOTO 64   *OFF TRACK             FMD
*                                                                        FMD
/         INITIALIZE REGISTER COUNTERS.                                  FMD
*                                                                        FMD
   B12=0                     *CLEAR TRACK AND SECTOR NUMBERS             FMD
   B11=0                     *CLEAR TIME COUNTER (UPPER)                 FMD
   B10=0                     *CLEAR TIME COUNTER (LOWER)                 FMD
   GOSUB 56                  *INITIALIZE NUMBER OF SEEKS                 FMD
*                                                                        FMD
/         SUBROUTINE TO GENERATE 25D SEEK ADDRESSES.                     FMD
*                                                                        FMD
26 B0=0                      *CLEAR OUTPUT BUFFER POINTER                FMD
30 OB(B0)=OB(25D) AND 1777   *SAVE NUMBER GENERATED                      FMD
   OB(25D)=OB(25D)+OB(26D)   *GENERATE NEXT RANDOM NUMBER                FMD
   OB(26D)=OB(26D)+OB(27D)                                               FMD
   OB(27D)=OB(27D)+OB(28D)                                               FMD
   OB(28D)=OB(28D)+OB(25D)                                               FMD
   IF(OB(B0) GT 1512) GOTO 30  *IF ADDRESS TOO LARGE                     FMD10
   GOTO 30 WHILE(B0+1 NE 25D)  *GENERATE 25D ADDRESSES                   FMD
   B9=0                        *CLEAR PASS COUNTER                       FMD
   RES,DRIVE,FAULT,ABT 64      *RESERVE DRIVE AGAIN                      FMD
*                                                                        FMD
/         SEEK TO A RANDOM CYLINDER NUMBER.                              FMD
*                                                                        FMD
32 B0=OB(B9)                 *FETCH CYLINDER TO SEEK TO                  FMD
   MSG 4 (B0) TO DISPLAY     *DISPLAY SEEK ADDRESS                       FMD
   SEEK CYL B0,TRK B12,SEC B12,ABT 60  *SEEK TO CYLINDER                 FMD
34 GOSUB 54                     *CHECK SEEK STATUSES                     FMD
*                                                                        FMD
/         SAVE SEEK TIMES FOR THIS SEEK.                                 FMD
*                                                                        FMD
   B0=B10+SB(60) RS 14       *GET CARRY BIT FROM LOWER BITS              FMD
   B11=B11+B0                *ADD CARRY BIT TO UPPER COUNT               FMD
   B10=B10+SB(60)            *ADD LOWER BITS TO LOWER COUNT              FMD
*                                                                        FMD
/         UPDATE THE NUMBER OF SEEKS DONE.                               FMD
*                                                                        FMD
   IF(B7 EQ 0) GOTO 36          *IF ALL SEEKS DONE                       FMD
   GOTO 40 WHILE(B7-1 NE 7777)  *UPDATE NUMBER OF SEEKS DONE             FMD
36 B7=7777                      *ADJUST LOWER SEEK COUNTER               FMD
   GOTO 42 WHILE(B8-1 EQ 7776)  *UPDATE UPPER SEEK COUNTER               FMD
40 GOTO 32 WHILE(B9+1 NE 25D)   *LOOP TO DO 25D SEEKS                    FMD
   REL,ABT 64                   *RELEASE CONTROLLER AND FMD              FMD
   GOTO 26                      *GO TO SEEK 25 TIMES                     FMD
*                                                                        FMD
/         DIVIDE TOTAL SEEK TIME BY NUMBER OF SEEKS DONE.                FMD
*                                                                        FMD
42 B0=0                      *CLEAR AVERAGE TIME COUNTER                 FMD
   GOSUB 56                  *INITIALIZE NUMBER OF SEEKS                 FMD
44 IF(B11-B8 LT 0) GOTO 50   *IF DIVIDE COMPLETED                        FMD
   B11=B11-B8                *DECREMENT UPPER 12 BITS                    FMD
   B1=B10-B7                 *SAVE NEW LOWER SEEK TIME                   FMD
   IF(B10-B7 GE 0) GOTO 46   *IF BORROW NEEDED                           FMD
   IF(B11 EQ 0) GOTO 50      *IF DIVIDE COMPLETED                        FMD
   B11=B11-1                 *DECREMENT UPPER BITS BY ONE                FMD
   B1=B1+1                   *ADJUST FOR NEGATIVE ZERO                   FMD
46 B10=B1                    *RESET B10 FOR NEXT PASS                    FMD
   GOTO 44 WHILE(B0+1 NE 0)  *LOOP                                       FMD
50 MSG 5 (B0) TO PRINT       *PRINT AVERAGE SEEK TIME                    FMD
   IF (B0 GT 25D)ERROR 7/50 GOTO 64   *SEEK TIMING ERROR                 FMD
52 GOSUB 74                       *PROCESS REPEAT CONDITION              FMD
   IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         READ CHANNEL AND CHECK DRIVE STATUSES.                         FMD
*                                                                        FMD
54 STATUS,CHANNEL,ABT 64              *READ CHANNEL STATUSES             FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 64  *BUS VALID               FMD
   IF(SB(CCDS) AND CDRS EQ 0) GOTO 62  *READY AND SAFE ERROR             FMD
   RETURN                              *EXIT THE SUBROUTINE              FMD
*                                                                        FMD
/         SET COUNTERS B7 AND B8 FOR NUMBER OF SEEKS TO DO.              FMD
*                                                                        FMD
56 B8=0                      *SET B8 FOR 200D SEEKS                      FMD
   B7=200D                   *SET B7 FOR 200D SEEKS                      FMD
   IF(P9 NE 0)B8=P9 RS 11    *IF P9 CONTAINS THE SEEK NUMBER             FMD
   IF(P9 NE 0)B7=P9 LS 3                                                 FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
*                                                                        FMD
/         PROCESS ABORT ON SEEK COMMAND.                                 FMD
*                                                                        FMD
60 IF(EC AND 77 LT 25) GOTO 64     *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9) AND DRSV NE DRSV)GOTO 34  *STATUS ERROR                      FMD
   GOTO 64                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
62 STATUS,DETAIL,ABT 64             *GET DETAILED STATUS                 FMD
   IF(ES AND SL EQ 0)CALL 98D       *IF NO SCOPING LOOP                  FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
64 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=42D                       *MODULE NUMBER                           FMD
   IF(ES AND SL EQ 0) CALL 97S  *IF NO SCOPING LOOP                      FMD
   ENDSUB GOTO 52               *CONDITION 0                             FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
66 IF(EC AND 77 NE 25) GOTO 64         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)GOTO 25  *DRIVE STATUS ERROR               FMD18
   GOTO 64                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   ENDSUB GOTO 24               *REPEAT CONDITION 2                      FMD
76 MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD43,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD43,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD43,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.43 OFFSET TEST 1                                                 FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD43 VERIFIES THAT WHEN FORWARD AND REVERSE OFFSETS ARE       FMD
*ENDIF
*IF DEF,PFMD
*         FHD43 VERIFIES THAT WHEN FORWARD AND REVERSE OFFSETS ARE
*ENDIF
*IF DEF,LSFMD 
*         FLD43 VERIFIES THAT WHEN FORWARD AND REVERSE OFFSETS ARE
*ENDIF
*         ENABLED AND DISABLED USING THE SEEK (48) COMMAND IN THE        FMD
*         FIXED MODULE DRIVE, AND THAT THE STATUSES RETURNED FOR THE     FMD
*         SEEK (48 COMMAND) AND STATUS WORD 6 (8D COMMAND) ARE CORRECT.  FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT SELECT AND RESERVED AND THAT READY AND SAFE    FMD
*             ARE ACTIVE FROM THE DRIVE.                                 FMD
*         3.  ISSUE A 49 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. DELAY 300 DECIMAL MILLISECONDS.                      FMD
*         4.  VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE    FMD
*             IS ACTIVE, AND THAT ON CYLINDER IS ACTIVE.                 FMD
*         5.  ISSUE A 42 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE, READY AND SAFE   FMD
*             IS ACTIVE, AND THAT BUS IN STATUS EQUALS ZERO.             FMD
*         6.  ISSUE A 48 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ONE. DELAY 10 DECIMAL MILLISECONDS. VERIFY THAT STATUS     FMD
*             VALID IS ACTIVE, THAT READY AND SAFE IS ACTIVE, THAT ON    FMD
*             CYLINDER IS ACTIVE, AND THAT BUS IN STATUS IS EQUAL TO     FMD
*             X000 1001.                                                 FMD
*         7.  ISSUE A 8D COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND   FMD
*             SAFE IS ACTIVE, AND THAT BUS IN STATUS EQUALS 0000 0001.   FMD
*         8.  ISSUE A 48 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             TWO. VERIFY THAT ON CYLINDER IS NOT ACTIVE. DELAY 10       FMD
*             DECIMAL MILLISECONDS. THEN VERIFY THAT STATUS VALID IS     FMD
*             ACTIVE, READY AND SAFE IS ACTIVE, ON CYLINDER IS ACTIVE,   FMD
*             AND THAT BUS IN STATUS EQUALS ZERO.                        FMD
*         9.  ISSUE A 8D COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND   FMD
*             SAFE IS ACTIVE, AND THAT BUS IN STATUS EQUALS ZERO.        FMD
*         10. ISSUE A 42 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             80 HEX. VERIFY THAT STATUS VALID IS ACTIVE, READY AND      FMD
*             SAFE IS ACTIVE, AND THAT BUS IN STATUS EQUALS 80 HEX.      FMD
*         11. ISSUE A 48 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ONE. DELAY 10 DECIMAL MILLISECONDS. VERIFY THAT STATUS     FMD
*             VALID IS ACTIVE, THAT READY AND SAFE IS ACTIVE, THAT ON    FMD
*             CYLINDER IS ACTIVE, AND THAT BUS IN STATUS IS EQUAL TO     FMD
*             X000 1001.                                                 FMD
*         12. ISSUE A 8D COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND   FMD
*             SAFE IS ACTIVE, AND THAT BUS IN STATUS EQUALS 0000 0010.   FMD
*         13. ISSUE A 48 COMMAND TO THE DRIVE WITH BUS OUT EQUAL         FMD
*             TO TWO. VERIFY THAT ON CYLINDER IS NOT ACTIVE. DELAY 10    FMD
*             DECIMAL MILLISECONDS. THEN VERIFY THAT STATUS VALID IS     FMD
*             ACTIVE, READY AND SAFE IS ACTIVE, ON CYLINDER IS ACTIVE,   FMD
*             AND THAT BUS IN STATUS EQUALS ZERO.                        FMD
*         14. ISSUE A 8D COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND   FMD
*             SAFE IS ACTIVE, AND THAT BUS IN STATUS EQUALS ZERO.        FMD
*         15. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98D - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD97S - PROCESS ERRORS.                                       FMD
*         FMD97T - PROCESS ERRORS.                                       FMD
*         FMD97U - PROCESS ERRORS.                                       FMD
*         FMD97V - PROCESS ERRORS.                                       FMD
*         FMD97W - PROCESS ERRORS.                                       FMD
*         FMD97X - PROCESS ERRORS.                                       FMD
*         FMD97Y - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98D - ISOLATE READY AND SAFE FAULT.
*         FHD97S - PROCESS ERRORS.
*         FHD97T - PROCESS ERRORS.
*         FHD97U - PROCESS ERRORS.
*         FHD97V - PROCESS ERRORS.
*         FHD97W - PROCESS ERRORS.
*         FHD97X - PROCESS ERRORS.
*         FHD97Y - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98D - ISOLATE READY AND SAFE FAULT.
*         FLD97S - PROCESS ERRORS.
*         FLD97T - PROCESS ERRORS.
*         FLD97U - PROCESS ERRORS.
*         FLD97V - PROCESS ERRORS.
*         FLD97W - PROCESS ERRORS.
*         FLD97X - PROCESS ERRORS.
*         FLD97Y - PROCESS ERRORS.
*         FLD97Z - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - INTERNAL PASS COUNTER.                           FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(00-17) - COMMANDS TO BE ISSUED TO THE DRIVE.                FMD
*         OB(20-37) - BUS OUT DATA FOR COMMANDS TO BE ISSUED TO THE      FMD
*                     DRIVE.                                             FMD
*         OB(40-57) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE    FMD
*                     DRIVE.                                             FMD
*         SB(00-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.         FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD43 - OFFSET TEST 1                                          FMD
2  FORMAT FMD43 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD43 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD43 - OFFSET TEST 1 
2  FORMAT FHD43 - EC *DECD, LC = *DECD
3  FORMAT FHD43 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD43 - OFFSET TEST 1 
2  FORMAT FLD43 - EC *DECD, LC = *DECD
3  FORMAT FLD43 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         COMMANDS TO BE SENT TO THE FMD DRIVE.                          FMD
*                                                                        FMD
   DATA(OB,H) 49,4248,8D48,8D00                                          FMD
*                                                                        FMD
/         BUS OUT DATA FOR THE FMD DRIVE COMMANDS.                       FMD
*                                                                        FMD
   DATA(OB(20),H) 0,1,2,0                                                FMD
*                                                                        FMD
/         EXPECTED BUS IN DATA FOR THE FMD DRIVE COMMANDS.               FMD
*                                                                        FMD
   DATA(OB(40),H) 0,9,108,0                                              FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B8=35D                    *INTERNAL SECTOR COUNTER                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
   B8=0                      *PASS COUNT NUMBER 0                        FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 60                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 17/0 GOTO 66  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)GOTO 64  *READY/SAFE ERROR                     FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
30 B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 B9=OB(B13)                 *DRIVE COMMAND TO BE ISSUED                FMD
   B10=OB(B13+20)             *BUS OUT DATA                              FMD
   B11=OB(B13+40)             *EXPECTED BUS IN DATA                      FMD
   IF(B8 NE 1)GOTO 34         *IF NOT SECOND PASS                        FMD
   IF(B13 EQ 2)B10=200        *IF CONDITION NUMBER 2                     FMD
   IF(B13 EQ 2)B11=B10        *IF CONDITION NUMBER 2                     FMD
   IF(B13 EQ 4)B11=2           *IF CONDITION NUMBER 4                    FMD
34 OUT,CH=CH8,B10,B9,ABT 66     *ISSUE COMMAND TO DRIVE                  FMD
   IF(B13 EQ 1)DELAY 300D MSEC   *DELAY IF CONDITION 1                   FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 66      *READ CHANNEL STATUSES                     FMD
   IF(B13 AND 1 EQ 0)GOTO 40  *IF NOT CONDITIONS 1, 3, 5                 FMD
   IF(B13 EQ 1) GOTO 40       *IF CONDITION NUMBER 1                     FMD
*                                                                        FMD
/         CHECK FOR ON CYLINDER STATUS NOT ACTIVE.                       FMD
*                                                                        FMD
   IF(SB(CCDS)AND COTRK EQ 0)GOTO 36  *IF OFF CYLINDER                   FMD
   IF(B13 EQ 3)ERROR 13/53 GOTO 66    *IF CONDITION 3                    FMD
   ERROR 17/127 GOTO 66               *CONDITION 5                       FMD
36 DELAY,10D MSEC                     *DELAY FOR OFFSET                  FMD
   STATUS,CHANNEL ABT 66              *READ CHANNEL STATUSES             FMD
40 B12=SB(CBIS)                       *SAVE BUS IN STATUS                FMD
   IF(B13 AND 1 NE 0)B12=B12 AND 177  *IF CONDITIONS 1, 3, 5             FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 66  *BUS VALID               FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDRS EQ 0)GOTO 64  *READY/SAFE ERROR                   FMD
   IF(B13 AND 1 EQ 0)GOTO 42       *IF NOT CONDITIONS 1,3,5              FMD
*                                                                        FMD
/         CHECK FOR ON CYLINDER ACTIVE.                                  FMD
*                                                                        FMD
   IF(SB(CCDS)AND COTRK NE 0)GOTO 42   *ON CYLINDER ACTIVE               FMD
   IF(B13 EQ 1)ERROR 6/47 GOTO 66      *IF CONDITION 1                   FMD
   IF(B13 EQ 3)ERROR 15/54 GOTO 66     *IF CONDITION 3                   FMD
   ERROR 21/130 GOTO 66                *CONDITION 5                      FMD
42 IF(B13 EQ 1)GOTO 46                 *IF CONDITION 1                   FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
   IF(B12 EQ B11) GOTO 46              *IF BUS IN CORRECT                FMD
   IF(B8 EQ 0) GOTO 44                 *IF NOT SECOND PASS               FMD
   IF(B13 EQ 2)ERROR 21/141 GOTO 66    *IF CONDITION 2                   FMD
   IF(B13 EQ 4)ERROR 23/57 GOTO 66     *IF CONDITION 4                   FMD
44 IF(B13 EQ 2)ERROR 11/52 GOTO 66     *IF CONDITION 2                   FMD
   IF(B13 EQ 3)ERROR 17/55 GOTO 66     *IF CONDITION 3                   FMD
   IF(B13 EQ 4)ERROR 21/56 GOTO 66     *IF CONDITION 4                   FMD
   IF(B13 EQ 5)ERROR 0/131 GOTO 66     *IF CONDITION 5                   FMD
   ERROR 1/132 GOTO 66                 *IF CONDITION 6                   FMD
46 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   GOTO 32 WHILE(B13+1 NE 7)       *GO TO DO NEXT CONDITION              FMD
   B13=2                           *CONDITION NUMBER 2                   FMD
   GOTO 32 WHILE(B8+1 NE 2)        *LOOP TWO TIMES                       FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=7                         *CONDITION NUMBER 7                     FMD
   REL,ABT 66                    *RELEASE CONTROLLER AND FMD             FMD
50 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
60 RES,DRIVE,FAULT,ABT 62    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
62 IF(EC AND 77 NE 25) GOTO 66         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 66                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
64 STATUS,DETAIL,ABT 66              *GET DETAILED STATUS                FMD
   IF(ES AND SL EQ 0) CALL 98D       *IF NO SCOPING LOOP                 FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
66 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=43D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 97S       *IF NO SCOPING LOOP                 FMD
   IF(B13 EQ 7) ENDSUB GOTO 50         *IF CONDITION 7                   FMD
70 IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 66  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26               *IF CONDITION 0             FMD
   ENDSUB GOTO 46                            *CONDITIONS 1-6             FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0)ENDSUB GOTO 24   *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 66       *RESERVE DRIVE                           FMD
   ENDSUB GOTO 32               *REPEAT CONDITIONS 1-6                   FMD
76 MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD44,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD44,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD44,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.44 OFFSET TEST 2                                                 FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD44 VERIFIES THAT WHEN FORWARD AND REVERSE OFFSETS ARE       FMD
*ENDIF
*IF DEF,PFMD
*         FHD44 VERIFIES THAT WHEN FORWARD AND REVERSE OFFSETS ARE
*ENDIF
*IF DEF,LSFMD 
*         FLD44 VERIFIES THAT WHEN FORWARD AND REVERSE OFFSETS ARE
*ENDIF
*         ENABLED USING THE SEEK (48) COMMAND IN THE FIXED MODULE DRIVE  FMD
*         AND DISABLED USING THE 49 (RTZ) COMMAND, THAT THE STATUSES     FMD
*         RETURNED FOR THE SEEK (48 COMMAND) AND STATUS WORD 6 (8D       FMD
*         COMMAND) ARE CORRECT.                                          FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT SELECT AND RESERVED AND THAT READY AND SAFE    FMD
*             ARE ACTIVE FROM THE DRIVE.                                 FMD
*         3.  ISSUE A 49 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. DELAY 300 DECIMAL MILLISECONDS.                      FMD
*         4.  VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE    FMD
*             IS ACTIVE, AND THAT ON CYLINDER IS ACTIVE.                 FMD
*         5.  ISSUE A 42 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE, READY AND SAFE   FMD
*             IS ACTIVE, AND THAT BUS IN STATUS EQUALS ZERO.             FMD
*         6.  ISSUE A 48 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ONE. DELAY 10 DECIMAL MILLISECONDS. VERIFY THAT STATUS     FMD
*             VALID IS ACTIVE, THAT READY AND SAFE IS ACTIVE, THAT ON    FMD
*             CYLINDER IS ACTIVE, AND THAT BUS IN STATUS IS EQUAL TO     FMD
*             X000 1001.                                                 FMD
*         7.  ISSUE A 8D COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND   FMD
*             SAFE IS ACTIVE, AND THAT BUS IN STATUS EQUALS 0000 0001.   FMD
*         8.  ISSUE A 49 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. DELAY 300 DECIMAL MILLISECONDS. VERIFY THAT STATUS   FMD
*             VALID IS ACTIVE, READY AND SAFE IS ACTIVE, ON CYLINDER IS  FMD
*             ACTIVE, AND THAT BUS IN STATUS EQUALS X000 1000.           FMD
*         9.  ISSUE A 8D COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND   FMD
*             SAFE IS ACTIVE, AND THAT BUS IN STATUS EQUALS ZERO.        FMD
*         10. ISSUE A 42 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             80 HEX. VERIFY THAT STATUS VALID IS ACTIVE, READY AND      FMD
*             SAFE IS ACTIVE, AND THAT BUS IN STATUS EQUALS 80 HEX.      FMD
*         11. ISSUE A 48 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ONE. DELAY 10 DECIMAL MILLISECONDS. VERIFY THAT STATUS     FMD
*             VALID IS ACTIVE, THAT READY AND SAFE IS ACTIVE, THAT ON    FMD
*             CYLINDER IS ACTIVE, AND THAT BUS IN STATUS IS EQUAL TO     FMD
*             X000 1001.                                                 FMD
*         12. ISSUE A 8D COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND   FMD
*             SAFE IS ACTIVE, AND THAT BUS IN STATUS EQUALS 0000 0010.   FMD
*         13. ISSUE A 49 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. DELAY 300 DECIMAL MILLISECONDS. VERIFY THAT STATUS   FMD
*             VALID IS ACTIVE, READY AND SAFE IS ACTIVE, ON CYLINDER IS  FMD
*             ACTIVE, AND THAT BUS IN STATUS EQUALS X000 1000.           FMD
*         14. ISSUE A 8D COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND   FMD
*             SAFE IS ACTIVE, AND THAT BUS IN STATUS EQUALS ZERO.        FMD
*         15. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98D - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD97S - PROCESS ERRORS.                                       FMD
*         FMD97T - PROCESS ERRORS.                                       FMD
*         FMD97U - PROCESS ERRORS.                                       FMD
*         FMD97V - PROCESS ERRORS.                                       FMD
*         FMD97W - PROCESS ERRORS.                                       FMD
*         FMD97X - PROCESS ERRORS.                                       FMD
*         FMD97Y - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98D - ISOLATE READY AND SAFE FAULT.
*         FHD97S - PROCESS ERRORS.
*         FHD97T - PROCESS ERRORS.
*         FHD97U - PROCESS ERRORS.
*         FHD97V - PROCESS ERRORS.
*         FHD97W - PROCESS ERRORS.
*         FHD97X - PROCESS ERRORS.
*         FHD97Y - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98D - ISOLATE READY AND SAFE FAULT.
*         FLD97S - PROCESS ERRORS.
*         FLD97T - PROCESS ERRORS.
*         FLD97U - PROCESS ERRORS.
*         FLD97V - PROCESS ERRORS.
*         FLD97W - PROCESS ERRORS.
*         FLD97X - PROCESS ERRORS.
*         FLD97Y - PROCESS ERRORS.
*         FLD97Z - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - INTERNAL PASS COUNTER.                           FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-61) - CONTROL SEQUENCE TO BE SENT TO THE 7155 CONTROLLER. FMD
*         OB(100-117) - COMMANDS TO BE SENT TO THE DRIVE.                FMD
*         OB(120-137) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE  FMD
*                       DRIVE.                                           FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD44 - OFFSET TEST 2                                          FMD
2  FORMAT FMD44 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD44 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD44 - OFFSET TEST 2 
2  FORMAT FHD44 - EC *DECD, LC = *DECD
3  FORMAT FHD44 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD44 - OFFSET TEST 2 
2  FORMAT FLD44 - EC *DECD, LC = *DECD
3  FORMAT FLD44 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         COMMANDS TO BE SENT TO THE FMD DRIVE.                          FMD
*                                                                        FMD
   DATA(OB,H) 49,4248,8D49,8D00                                          FMD
*                                                                        FMD
/         BUS OUT DATA FOR THE FMD DRIVE COMMANDS.                       FMD
*                                                                        FMD
   DATA(OB(20),H) 0,1,0,0                                                FMD
*                                                                        FMD
/         EXPECTED BUS IN DATA FOR THE FMD DRIVE COMMANDS.               FMD
*                                                                        FMD
   DATA(OB(40),H) 0,9,108,0                                              FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B8=35D                    *INTERNAL SECTOR COUNTER                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
   B8=0                      *PASS COUNT NUMBER 0                        FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 50                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS) AND DSR EQ 0) ERROR 17/0 GOTO 66  *NO SELECT               FMD
   IF(SB(CDS) AND DRS EQ 0) GOTO 64  *READY/SAFE ERROR                   FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
30 B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
32 B9=OB(B13)                    *DRIVE COMMAND TO BE ISSUED             FMD
   B10=OB(B13+20)                *BUS OUT DATA                           FMD
   B11=OB(B13+40)                *EXPECTED BUS IN DATA                   FMD
   IF(B8 NE 1)GOTO 34            *IF NOT SECOND PASS                     FMD
   IF(B13 EQ 2)B10=200           *IF CONDITION NUMBER 2                  FMD
   IF(B13 EQ 2)B11=B10           *IF CONDITION NUMBER 2                  FMD
   IF(B13 EQ 4)B11=2             *IF CONDITION NUMBER 4                  FMD
34 OUT,CH=CH8,B10,B9,ABT 66      *ISSUE COMMAND TO DRIVE                 FMD
   IF(B13 EQ 1)DELAY 300D MSEC   *DELAY IF CONDITION 1                   FMD
   IF(B13 EQ 5)DELAY 300D MSEC   *DELAY IF CONDITION 5                   FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 66         *READ CHANNEL STATUSES                  FMD
   IF(B13 NE 3)GOTO 36           *IF NOT CONDITION 3                     FMD
   IF(SB(CCDS)AND COTRK NE 0)ERROR 13/53 GOTO 66  *ON TRACK              FMD
   DELAY,10D MSEC                *DELAY FOR SEEK TO COMPLETE             FMD
   STATUS,CHANNEL ABT 66         *READ CHANNEL STATUSES                  FMD
36 B12=SB(CBIS)                  *SAVE BUS IN STATUS                     FMD
   IF(B13 EQ 3)B12=B12 AND 177   *IF CONDITION NUMBER 3                  FMD
   IF(B13 EQ 5)B12=B12 AND 177   *IF CONDITION NUMBER 5                  FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 66  *BUS VALID               FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDRS EQ 0)GOTO 64  *READY/SAFE ERROR                   FMD
   IF(B13 AND 1 EQ 0)GOTO 40        *IF NOT CONDITIONS 1,3,5             FMD
*                                                                        FMD
/         CHECK FOR ON CYLINDER ACTIVE.                                  FMD
*                                                                        FMD
   IF(SB(CCDS)AND COTRK NE 0)GOTO 40   *ON CYLINDER ACTIVE               FMD
   IF(B13 EQ 1)ERROR 6/47 GOTO 66      *IF CONDITION 1                   FMD
   IF(B13 EQ 3)ERROR 15/54 GOTO 66     *IF CONDITION 3                   FMD
   ERROR 3/133 GOTO 66                 *CONDITION 5                      FMD
40 IF(B13 EQ 1)GOTO 44                 *IF CONDITION 1                   FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
   IF(B12 EQ B11) GOTO 44            *IF BUS IN CORRECT                  FMD
   IF(B8 EQ 0) GOTO 42               *IF NOT SECOND PASS                 FMD
   IF(B13 EQ 2)ERROR 21/141 GOTO 66  *IF CONDITION 2                     FMD
   IF(B13 EQ 4)ERROR 23/57 GOTO 66   *IF CONDITION 4                     FMD
42 IF(B13 EQ 2)ERROR 11/52 GOTO 66   *IF CONDITION 2                     FMD
   IF(B13 EQ 3)ERROR 17/55 GOTO 66   *IF CONDITION 3                     FMD
   IF(B13 EQ 4)ERROR 21/56 GOTO 66   *IF CONDITION 4                     FMD
   IF(B13 EQ 5)ERROR 5/134 GOTO 66   *IF CONDITION 5                     FMD
   ERROR 7/135 GOTO 66              *IF CONDITION 6                      FMD
44 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   GOTO 32 WHILE(B13+1 NE 7)       *GO TO DO NEXT CONDITION              FMD
   B13=2                           *CONDITION NUMBER 2                   FMD
   GOTO 32 WHILE(B8+1 NE 2)        *LOOP TWO TIMES                       FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=7                         *CONDITION NUMBER 7                     FMD
   REL,ABT 66                    *RELEASE CONTROLLER AND FMD             FMD
46 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
50 RES,DRIVE,FAULT,ABT 52    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
52 IF(EC AND 77 NE 25) GOTO 66         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 66                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
64 STATUS,DETAIL,ABT 66              *GET DETAILED STATUS                FMD
   IF(ES AND SL EQ 0) CALL 98D       *IF NO SCOPING LOOP                 FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
66 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=44D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 97S       *IF NO SCOPING LOOP                 FMD
   IF(B13 EQ 7) ENDSUB GOTO 46         *IF CONDITION 7                   FMD
70 IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 66  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26               *IF CONDITION 0             FMD
   ENDSUB GOTO 44                            *CONDITIONS 1-6             FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0)ENDSUB GOTO 24   *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 66       *RESERVE DRIVE                           FMD
   ENDSUB GOTO 32               *REPEAT CONDITIONS 1-6                   FMD
76 MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD45,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD45,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD45,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.45 OFFSET TEST 3                                                 FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD45 VERIFIES THAT WHEN FORWARD AND REVERSE OFFSETS ARE       FMD
*ENDIF
*IF DEF,PFMD
*         FHD45 VERIFIES THAT WHEN FORWARD AND REVERSE OFFSETS ARE
*ENDIF
*IF DEF,LSFMD 
*         FLD45 VERIFIES THAT WHEN FORWARD AND REVERSE OFFSETS ARE
*ENDIF
*         ENABLED USING THE SEEK (48) COMMAND IN THE FIXED MODULE DRIVE  FMD
*         AND DISABLED WHEN SELECT IS DROPPED AND RAISED, AND THAT THE   FMD
*         STATUSES RETURNED FOR THE SEEK (48 COMMAND) AND STATUS WORD    FMD
*         6 (8D COMMAND) ARE CORRECT.                                    FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT SELECT AND RESERVED AND THAT READY AND SAFE    FMD
*             ARE ACTIVE FROM THE DRIVE.                                 FMD
*         3.  ISSUE A 49 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. DELAY 300 DECIMAL MILLISECONDS.                      FMD
*         4.  VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND SAFE    FMD
*             IS ACTIVE, AND THAT ON CYLINDER IS ACTIVE.                 FMD
*         5.  ISSUE A 42 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE, READY AND SAFE   FMD
*             IS ACTIVE, AND THAT BUS IN STATUS EQUALS ZERO.             FMD
*         6.  ISSUE A 48 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ONE. DELAY 10 DECIMAL MILLISECONDS. VERIFY THAT STATUS     FMD
*             VALID IS ACTIVE, THAT READY AND SAFE IS ACTIVE, THAT ON    FMD
*             CYLINDER IS ACTIVE, AND THAT BUS IN STATUS IS EQUAL TO     FMD
*             X000 1001.                                                 FMD
*         7.  ISSUE A 8D COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND   FMD
*             SAFE IS ACTIVE, AND THAT BUS IN STATUS EQUALS 0000 0001.   FMD
*         8.  DROP THE SELECT LINE TO THE FIXED MODULE DRIVE. VERIFY THE FMD
*             ON CYLINDER STATUS IS ACTIVE. DELAY 10 DECIMAL             FMD
*             MILLISECONDS. THEN VERIFY THAT ON CYLINDER STATUS IS       FMD
*             ACTIVE, AND READY AND SAFE IS ACTIVE.                      FMD
*         9.  RAISE THE SELECT LINE TO THE FIXED MODULE DRIVE. VERIFY    FMD
*             THAT SELECT AND RESERVED IS ACTIVE.                        FMD
*         10. ISSUE A 8D COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND   FMD
*             SAFE IS ACTIVE, AND THAT BUS IN STATUS EQUALS ZERO.        FMD
*         11. ISSUE A 42 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             80 HEX. VERIFY THAT STATUS VALID IS ACTIVE, READY AND      FMD
*             SAFE IS ACTIVE, AND THAT BUS IN STATUS EQUALS 80 HEX.      FMD
*         12. ISSUE A 48 COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ONE. DELAY 10 DECIMAL MILLISECONDS. VERIFY THAT STATUS     FMD
*             VALID IS ACTIVE, THAT READY AND SAFE IS ACTIVE, THAT ON    FMD
*             CYLINDER IS ACTIVE, AND THAT BUS IN STATUS IS EQUAL TO     FMD
*             X000 1001.                                                 FMD
*         13. ISSUE A 8D COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND   FMD
*             SAFE IS ACTIVE, AND THAT BUS IN STATUS EQUALS 0000 0010.   FMD
*         14. DROP THE SELECT LINE TO THE FIXED MODULE DRIVE. VERIFY THE FMD
*             ON CYLINDER STATUS IS NOT ACTIVE. DELAY 10 DECIMAL         FMD17
*             MILLISECONDS. THEN VERIFY THAT ON CYLINDER STATUS IS       FMD
*             ACTIVE, AND READY AND SAFE IS ACTIVE.                      FMD
*         15. RAISE THE SELECT LINE TO THE FIXED MODULE DRIVE. VERIFY    FMD
*             THAT SELECT AND RESERVED IS ACTIVE.                        FMD
*         16. ISSUE A 8D COMMAND TO THE DRIVE WITH BUS OUT EQUAL TO      FMD
*             ZERO. VERIFY THAT STATUS VALID IS ACTIVE, THAT READY AND   FMD
*             SAFE IS ACTIVE, AND THAT BUS IN STATUS EQUALS ZERO.        FMD
*         17. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98D - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD97S - PROCESS ERRORS.                                       FMD
*         FMD97T - PROCESS ERRORS.                                       FMD
*         FMD97U - PROCESS ERRORS.                                       FMD
*         FMD97V - PROCESS ERRORS.                                       FMD
*         FMD97W - PROCESS ERRORS.                                       FMD
*         FMD97X - PROCESS ERRORS.                                       FMD
*         FMD97Y - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98D - ISOLATE READY AND SAFE FAULT.
*         FHD97S - PROCESS ERRORS.
*         FHD97T - PROCESS ERRORS.
*         FHD97U - PROCESS ERRORS.
*         FHD97V - PROCESS ERRORS.
*         FHD97W - PROCESS ERRORS.
*         FHD97X - PROCESS ERRORS.
*         FHD97Y - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98D - ISOLATE READY AND SAFE FAULT.
*         FLD97S - PROCESS ERRORS.
*         FLD97T - PROCESS ERRORS.
*         FLD97U - PROCESS ERRORS.
*         FLD97V - PROCESS ERRORS.
*         FLD97W - PROCESS ERRORS.
*         FLD97X - PROCESS ERRORS.
*         FLD97Y - PROCESS ERRORS.
*         FLD97Z - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - INTERNAL PASS COUNTER.                           FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(0-61) - CONTROL SEQUENCE TO BE SENT TO THE 7155 CONTROLLER. FMD
*         OB(100-117) - COMMANDS TO BE SENT TO THE DRIVE.                FMD
*         OB(120-137) - EXPECTED BUS IN STATUS FOR COMMANDS SENT TO THE  FMD
*                       DRIVE.                                           FMD
*         SB(0-32) - CHANNEL STATUSES FROM THE 7155 CONTROLLER.          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD45 - OFFSET TEST 3                                          FMD
2  FORMAT FMD45 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD45 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD45 - OFFSET TEST 3 
2  FORMAT FHD45 - EC *DECD, LC = *DECD
3  FORMAT FHD45 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD45 - OFFSET TEST 3 
2  FORMAT FLD45 - EC *DECD, LC = *DECD
3  FORMAT FLD45 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22, CCDS=21, CDRS=10, CDS=11, CDSR=20                     FMD
   EQUATE CDSV=2, CH8=10, DRS=200, DSR=400, COTRK=40                     FMD
   EQUATE DSRRS=600                                                      FMD18
*                                                                        FMD
/         COMMANDS TO BE SENT TO THE FMD DRIVE.                          FMD
*                                                                        FMD
   DATA(OB,H) 49,4248,8D00,8D00                                          FMD
*                                                                        FMD
/         BUS OUT DATA FOR THE FMD DRIVE COMMANDS.                       FMD
*                                                                        FMD
   DATA(OB(20),H) 0,1,0,0                                                FMD
*                                                                        FMD
/         EXPECTED BUS IN DATA FOR THE FMD DRIVE COMMANDS.               FMD
*                                                                        FMD
   DATA(OB(40),H) 0,9,100,0                                              FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B8=35D                    *INTERNAL SECTOR COUNTER                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
   B8=0                      *PASS COUNT NUMBER 0                        FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
24 GOSUB 60                   *CONNECT TO FIXED MODULE DRIVE             FMD18
   IF(SB(CDS)AND DSR EQ 0)ERROR 17/0 GOTO 66  *NO SELECT                 FMD
   IF(SB(CDS)AND DRS EQ 0)GOTO 64  *READY/SAFE ERROR                     FMD
26 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
30 B13=1                           *CONDITION NUMBER 1                   FMD
*                                                                        FMD
/         DROP AND RAISE THE SELECT LINE.                                FMD
*                                                                        FMD
32 IF(B13 NE 5) GOTO 34           *IF NOT CONDITION 5                    FMD
   B0=SB(63)                      *FIXED MODULE DRIVE NUMBER             FMD
   OUT,CH=1,0,B0, ABT 66          *DROP SELECT LINE TO DRIVE             FMD
   STATUS,CHANNEL ABT 66          *READ CHANNEL STATUSES                 FMD
   IF(SB(CCDS)AND COTRK NE 0)ERROR 12/136 GOTO 66  *ON TRACK             FMD17
   DELAY 10D MSEC                 *DELAY FOR ON CYLINDER                 FMD
   STATUS,CHANNEL ABT 66          *READ CHANNEL STATUSES                 FMD
   IF(SB(CCDS)AND COTRK EQ 0)ERROR 14/137 GOTO 66  *ON TRACK             FMD
   IF(SB(CCDS)AND CDRS EQ 0)GOTO 64  *READY/SAFE ERROR                   FMD
   GOSUB 60                       *RAISE SELECT LINE                     FMD18
   STATUS,CHANNEL ABT 66          *READ CHANNEL STATUSES                 FMD
   IF(SB(CCDS)AND CDSR EQ 0)ERROR 17/0 GOTO 66  *NO SELECT               FMD
   GOTO 46                        *CHECK REPEAT CONDITION                FMD
*                                                                        FMD
/         ISSUE COMMANDS TO THE 885 DRIVE.                               FMD
*                                                                        FMD
34 B9=OB(B13)                    *DRIVE COMMAND TO BE ISSUED             FMD
   B10=OB(B13+20)                *BUS OUT DATA                           FMD
   B11=OB(B13+40)                *EXPECTED BUS IN DATA                   FMD
   IF(B8 NE 1)GOTO 36            *IF NOT SECOND PASS                     FMD
   IF(B13 EQ 2)B10=200           *IF CONDITION NUMBER 2                  FMD
   IF(B13 EQ 2)B11=B10           *IF CONDITION NUMBER 2                  FMD
   IF(B13 EQ 4)B11=2             *IF CONDITION NUMBER 4                  FMD
36 OUT,CH=CH8,B10,B9,ABT 66      *ISSUE COMMAND TO DRIVE                 FMD
   IF(B13 EQ 1)DELAY 300D MSEC   *DELAY IF CONDITION 1                   FMD
*                                                                        FMD
/        READ 7155 CONTROLLER CHANNEL STATUSES.                          FMD
*                                                                        FMD
   STATUS,CHANNEL ABT 66         *READ CHANNEL STATUSES                  FMD
   IF(B13 NE 3)GOTO 40           *IF NOT CONDITION 3                     FMD
   IF(SB(CCDS)AND COTRK NE 0)ERROR 13/53 GOTO 66  *ON CYL                FMD
   DELAY,10D MSEC                *WAIT FOR SEEK TO COMPLETE              FMD
   STATUS,CHANNEL ABT 66         *READ CHANNEL STATUSES                  FMD
40 B12=SB(CBIS)                  *SAVE BUS IN STATUS                     FMD
   IF(B13 EQ 3)B12=B12 AND 177   *IF CONDITION NUMBER 3                  FMD
*                                                                        FMD
/         CHECK STATUS VALID DRIVE STATUS.                               FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDSV EQ 0)ERROR 21/1 GOTO 66  *BUS VALID               FMD
*                                                                        FMD
/         CHECK READY AND SAFE DRIVE STATUS.                             FMD
*                                                                        FMD
   IF(SB(CCDS)AND CDRS EQ 0)GOTO 64  *READY/SAFE ERROR                   FMD
   IF(B13 AND 1 EQ 0)GOTO 42       *IF NOT CONDITIONS 1 OR 3             FMD
*                                                                        FMD
/         CHECK FOR ON CYLINDER ACTIVE.                                  FMD
*                                                                        FMD
   IF(SB(CCDS)AND COTRK NE 0)GOTO 42   *ON CYLINDER ACTIVE               FMD
   IF(B13 EQ 1)ERROR 6/47 GOTO 66      *IF CONDITION 1                   FMD
   IF(B13 EQ 3)ERROR 15/54 GOTO 66     *IF CONDITION 3                   FMD
42 IF(B13 EQ 1)GOTO 46                 *IF CONDITION 1                   FMD
*                                                                        FMD
/         CHECK BUS IN STATUS FROM THE DRIVE.                            FMD
*                                                                        FMD
   IF(B12 EQ B11) GOTO 46              *IF BUS IN CORRECT                FMD
   IF(B8 EQ 0) GOTO 44                 *IF NOT SECOND PASS               FMD
   IF(B13 EQ 2)ERROR 21/141 GOTO 66    *IF CONDITION 2                   FMD
   IF(B13 EQ 4)ERROR 23/57 GOTO 66     *IF CONDITION 4                   FMD
44 IF(B13 EQ 2)ERROR 11/52 GOTO 66     *IF CONDITION 2                   FMD
   IF(B13 EQ 3)ERROR 17/55 GOTO 66     *IF CONDITION 3                   FMD
   IF(B13 EQ 4)ERROR 21/56 GOTO 66     *IF CONDITION 4                   FMD
   ERROR 17/140 GOTO 66                *IF CONDITION 6                   FMD
46 GOSUB 74                        *PROCESS REPEAT CONDITION             FMD
   GOTO 32 WHILE(B13+1 NE 7)       *GO TO DO NEXT CONDITION              FMD
   B13=2                           *CONDITION NUMBER 2                   FMD
   GOTO 32 WHILE(B8+1 NE 2)        *LOOP TWO TIMES                       FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=7                         *CONDITION NUMBER 7                     FMD
   REL,ABT 66                    *RELEASE CONTROLLER AND FMD             FMD
50 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD18
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
60 RES,DRIVE,FAULT,ABT 62    *CONNECT TO FIXED MODULE DRIVE              FMD18
   RETURN                              *EXIT THE SUBROUTINE              FMD18
62 IF(EC AND 77 NE 25) GOTO 66         *NOT ABNORMAL G.S.                FMD18
   IF(SB(9)AND DSRRS NE DSRRS)RETURN   *DRIVE STATUS ERROR               FMD18
   GOTO 66                             *REPORT THE ERROR                 FMD18
*                                                                        FMD
/         PROCESS DRIVE READY AND SAFE ERRORS.                           FMD
*                                                                        FMD
64 STATUS,DETAIL,ABT 66              *GET DETAILED STATUS                FMD
   IF(ES AND SL EQ 0) CALL 98D       *IF NO SCOPING LOOP                 FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
66 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=45D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 97S       *IF NO SCOPING LOOP                 FMD
   IF(B13 EQ 7) ENDSUB GOTO 50         *IF CONDITION 7                   FMD
70 IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 66  *RESERVE DRIVE              FMD
   IF(B13 EQ 0) ENDSUB GOTO 26         *IF CONDITION 0                   FMD
   ENDSUB GOTO 46                       *CONDITIONS 1-6                  FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0)ENDSUB GOTO 24   *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 66       *RESERVE DRIVE                           FMD
   ENDSUB GOTO 32               *REPEAT CONDITIONS 1-6                   FMD
76 MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD46,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD46,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD46,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.46 READ ADDRESS FIELD                                            FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD46 VERIFIES THAT THE ADDRESS FIELD OF THE FIRST CYLINDER    FMD
*ENDIF
*IF DEF,PFMD
*         FHD46 VERIFIES THAT THE ADDRESS FIELD OF THE FIRST CYLINDER 
*ENDIF
*IF DEF,LSFMD 
*         FLD46 VERIFIES THAT THE ADDRESS FIELD OF THE FIRST CYLINDER 
*ENDIF
*         SELECTED CAN BE READ WITHOUT ANY ERRORS. THE ADDRESS FIELDS    FMD
*         OF ALL SELECTED SECTORS AND TRACKS WILL BE READ IN FROM THE    FMD
*         FIRST CYLINDER SELECTED.                                       FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT THAT SELECT AND RESERVED, READY AND SAFE, AND  FMD
*             ON CYLINDER STATUSES ARE ACTIVE.                           FMD
*         3.  ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS. VERIFY THAT STATUS VALID READY AND   FMD
*             SAFE, AND ON CYLINDER STATUSES ARE ACTIVE.                 FMD
*         4.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT THAT SELECT AND RESERVED, READY AND SAFE, AND  FMD
*             ON CYLINDER STATUSES ARE ACTIVE.                           FMD
*         5.  READ THE ADDRESS FIELD OF ALL THE SECTORS ON THE FIRST     FMD
*             TRACK SELECTED FROM THE FIRST CYLINDER SELECTED.           FMD
*         6.  REPEAT STEPS 4 AND 5 FOR ALL TRACKS SELECTED IN PARAMETER  FMD
*             WORD 2.                                                    FMD
*         7.  RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         PARAMETER WORD P0 CONTAINS THE LOWER CYLINDER NUMBER.          FMD
*         PARAMETER WORD P2 CONTAINS THE UPPER AND LOWER TRACK NUMBERS.  FMD
*         PARAMETER WORD P3 CONTAINS THE UPPER AND LOWER SECTOR NUMBERS. FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98E - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD973 - PROCESS RETRY COUNT.                                  FMD
*         FMD974 - PROCESS ERRORS.                                       FMD
*         FMD975 - PROCESS ERRORS.                                       FMD
*         FMD976 - PROCESS ERRORS.                                       FMD
*         FMD977 - PROCESS ERRORS.                                       FMD
*         FMD978 - PROCESS ERRORS.                                       FMD
*         FMD979 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96A - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98E - ISOLATE READY AND SAFE FAULT.
*         FHD973 - PROCESS RETRY COUNT. 
*         FHD974 - PROCESS ERRORS.
*         FHD975 - PROCESS ERRORS.
*         FHD976 - PROCESS ERRORS.
*         FHD977 - PROCESS ERRORS.
*         FHD978 - PROCESS ERRORS.
*         FHD979 - PROCESS ISOLATION INFORMATION. 
*         FHD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98E - ISOLATE READY AND SAFE FAULT.
*         FLD973 - PROCESS RETRY COUNT
*         FLD974 - PROCESS ERRORS.
*         FLD975 - PROCESS ERRORS.
*         FLD976 - PROCESS ERRORS.
*         FLD977 - PROCESS ERRORS.
*         FLD978 - PROCESS ERRORS.
*         FLD979 - PROCESS ISOLATION INFORMATION. 
*         FLD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*IF DEF,LSFMD,2 
*         B5 REGISTER - SECTOR SIZE INDEX 
*         B6 REGISTER - ABORT INDEX 
*IF -DEF,LSFMD,2
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - LOWER CYLINDER NUMBER.                           FMD
*         B8 REGISTER - LOWER TRACK NUMBER.                              FMD
*         B9 REGISTER - LOWER SECTOR NUMBER.                             FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - UPPER TRACK NUMBER PLUS ONE.                    FMD
*         B12 REGISTER - UPPER SECTOR NUMBER PLUS ONE.                   FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*         SB(32-64) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD46 - READ ADDRESS FIELD                                     FMD
2  FORMAT FMD46 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD46 - *DECD ERRORS                                           FMD
4  FORMAT FMD46 - C=*OCT H=*OCT S=*OCT                                   FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD46 - READ ADDRESS FIELD
2  FORMAT FHD46 - EC *DECD, LC = *DECD
3  FORMAT FHD46 - *DECD ERRORS
4  FORMAT FHD46 - C=*OCT H=*OCT S=*OCT
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD46 - READ ADDRESS FIELD
2  FORMAT FLD46 - EC *DECD, LC = *DECD
3  FORMAT FLD46 - *DECD ERRORS
4  FORMAT FLD46 - C=*OCT H=*OCT S=*OCT
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSROT=1600               FMD
   EQUATE DSV=40, OTRK=1000, RTZ=111                                     FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*IF DEF,LSFMD,1 
   B5 = 0                         *LARGE SEC
*                                                                        FMD
/         CONNECT TO CONTROLLER.                                         FMD
*                                                                        FMD
24 GOSUB 52                  *CONNECT TO CONTROLLER/DRIVE                FMD18
*                                                                        FMD
/         ISSUE A RTZ COMMAND TO THE DRIVE.                              FMD
*                                                                        FMD
   OUT CHANNEL=CH8,0,RTZ,ABT 70         *ISSUE RTZ COMMAND               FMD
   DELAY,300 MSEC                       *DELAY FOR ON TRACK              FMD
   STATUS,DETAIL,ABT 70                 *GET DETAILED STATUS             FMD
   IF(SB(9) AND DSV EQ 0)ERROR 13/2 GOTO 70  *STATUS VALID               FMD
   IF(SB(9) AND DRS EQ 0) GOTO 66       *READY SAFE ERROR                FMD
   IF(SB(9) AND OTRK NE 0)GOTO 32       *IF ON CYLINDER                  FMD
   OUT CHANNEL=CH8,0,RTZ,ABT 30         *ISSUE RTZ COMMAND               FMD
30 DELAY,300 MSEC                       *DELAY FOR ON TRACK              FMD
   ERROR 15/3 GOTO 70                   *ON CYLINDER ERROR               FMD
32 GOSUB 74                          *CHECK REPEAT CONDITION             FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B13=1                             *CONDITION NUMBER 1                 FMD
   B11=P2+1 AND 77                   *UPPER TRACK NUMBER                 FMD
   B12=P3+1 AND 77                   *UPPER SECTOR NUMBER                FMD
   B7=P0                             *LOWER CYLINDER NUMBER              FMD
   B8=P2 RS 6                        *LOWER TRACK NUMBER                 FMD
34 B9=P3 RS 6                        *LOWER SECTOR NUMBER                FMD
*                                                                        FMD
/         CONNECT TO CONTROLLER AND READ A SECTOR.                       FMD
*                                                                        FMD
36 GOSUB 52                  *CONNECT TO CONTROLLER/DRIVE                FMD18
42 B4=1                                      *SECTOR COUNT               FMD
*IF DEF,LSFMD 
   CALL 46A 
   IF(B6.EQ.1) GOTO 56
   IF(B6.EQ.2) GOTO 54
*ENDIF
*IF -DEF,LSFMD,2
   MSG 4 (B7,B8,B9) TO DISPLAY      *DISPLAY RUNNING MESSAGE             FMD
   READCW B4 SEC AT CYL B7, TRK B8, SEC B9,ABT 56  *READ                 FMD02
44 GOTO 42 WHILE(B9+1 NE B12)       *LOOP TO DO ALL SECTORS              FMD
46 GOSUB 74                         *CHECK REPEAT CONDITION              FMD
   GOTO 34 WHILE(B8+1 NE B11)       *LOOP TO DO ALL TRACKS               FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 70                    *RELEASE CONTROLLER AND FMD             FMD
50 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
*IF DEF,LSFMD,1 
   EXIT 
*IF -DEF,LSFMD,1
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         RESERVE THE CONTROLLER AND 885 DRIVE.                          FMD18
*                                                                        FMD18
52 RES,DRIVE,ABT 54          *CONNECT TO CONTROLLER/DRIVE                FMD18
   IF(SB NE 2)GOTO 53          *IF DRIVE NOT OFF CYLINDER                FMD18
   DELAY,8D MSEC                 *DELAY FOR ON CYLINDER                  FMD18
   STATUS,DETAIL,ABT 70              *GET DETAILED STATUS                FMD18
53 IF(SB(9)AND DSR EQ 0)ERROR 10/0 GOTO 70  *SELECT ERROR                FMD18
   IF(SB(9)AND DRS EQ 0)GOTO 66            *READY/SAFE ERROR             FMD18
   IF(SB(9)AND OTRK EQ 0)ERROR 12/1 GOTO 70  *OFF TRACK                  FMD18
   RETURN                                                                FMD18
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
54 IF(EC AND 77 NE 25) GOTO 70     *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DSROT NE DSROT)GOTO 53  *STATUS ERROR                     FMD18
   GOTO 70                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON READ COMMAND.                                 FMD
*                                                                        FMD
56 IF(EC AND 77 EQ 25) GOTO 60      *IF GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 70      *IF NOT SUCCESSFUL RETRY             FMD
60 B4=0                             *SET STATUS POINTER                  FMD
   IF(SB(25) NE 0) B4=25            *IF RETRY ATTEMPTED                  FMD
   IF(SB(B4+21) AND 1 EQ 0)GOTO 64  *NOT ADDRESS FIELD ERROR             FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 66    *READ/SAFE ERROR                   FMD
   IF(SB(B4+5) AND 6000 NE 0) GOTO 46       *IF FLAWED TRACK
   IF(SB(B4+21)AND 4400 NE 0)ERROR 16/4 GOTO 62  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 20/5 GOTO 62  *COMPARE ERROR             FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 22/6  *ADDRESS CHECKWORD               FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED WHILE READING THE SECTOR.              FMD
*                                                                        FMD
62 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=46D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 974    *IF NO SCOPING LOOP                    FMD
   IF(ES AND SL EQ 0) CALL 973    *IF NO SCOPING LOOP                    FMD
   GOTO 70                        *GO TO REPORT NEXT ERROR               FMD
64 IF(SB(B4+21) AND 2 NE 0)GOTO 46  *IGNORE DATA FIELD ERR.              FMD
   GOTO 70                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
66 STATUS,DETAIL,ABT 70             *GET DETAILED STATUS                 FMD
   IF(ES AND SL EQ 0) CALL 98E      *IF NO SCOPING LOOP                  FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
70 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=46D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 974       *IF NO SCOPING LOOP                 FMD
   IF(B13 EQ 0) ENDSUB GOTO 32         *IF CONDITION 0                   FMD
*IF DEF,SFMD
   IF(B13.EQ.1) ENDSUB GOTO 46         *IF CONDITION 1
*ENDIF
*IF DEF,PFMD
   IF(B13 EQ 1) ENDSUB GOTO 46        *IF CONDITION 1 
*ENDIF
*IF DEF,LSFMD 
   IF(B13 EQ 1) ENDSUB GOTO 46          *IF CONDITION 1 
*ENDIF
   ENDSUB GOTO 50                      *CONDITION 2                      FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0)ENDSUB GOTO 24   *REPEAT CONDITION 0                      FMD
   ENDSUB GOTO 34               *REPEAT CONDITION 1 
76 IF(B13 EQ 1)RETURN           *IF CONDITION 1                          FMD
   MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,LSFMD 
   MODULE FLD46A,LSFMD1,(16),LOCK 
**
* 
*         PURPOSE-
* 
*         FLD46A WILL CHECK THE SECTOR SIZE INDEX, THEN IT TRIES TO 
*         DO A LARGE SECTOR READ CHECKWORD, IF SUCCESSFULL IT WILL
*         EXIT TO PRIMARY MODULE AND CONTINUE NORMALLY IN THE 
*         PRIMARY;  IF NOT SUCCESSFULL IT WILL TRY TO DO A SMALL
*         SECTOR READ CHECWORD, THEN IT WILL EXIT TO PRIMARY MODULE.
* 
* 
*         METHOD- 
* 
*         1.  TEST FOR LARGE SECTOR INDEX;  IF NOT LARGE SECTOR, RESET
*             EVERY THING TO LARGE SECTOR.
*         2.  ATTEMPT A LARGE SECTOR READ CHECKWORD IF SUCCESSFULL
*             EXIT TO PRIMARY MODULE. 
*         3.  IF STEP 2 WAS NOT SUCCESSFUL, RESET SECTOR ADDRESS TO 
*             SMALL AND DO A SMALL SECTOR READ CHECKWORD. 
*         4.  EXIT TO PRIMARY MODULE AND CONTINUE NORMALLY. 
/ 
* 
* 
*         SUBMODULES REFERENCED-
* 
*         NONE
* 
* 
*         REGISTERS USED- 
* 
*         B1 = TEMPORARY STORAGE
*         B5 = SECTOR SIZE INDEX
*         B6 = ABORT INDEX
* 
1  FORMAT FLD46 - C=*OCT H=*OCT S=*OCT
2  FORMAT LARGE SECTOR READ CHECKWORD ATTEMPTED 
3  FORMAT SMALL SECTOR READ CHECKWORD ATTEMPTED 
* 
/                  MODULE INITILIZATION 
* 
20 B6 = 0                    INITILIZE THE ABORT INDEX
* 
/                  MODULE TEST
* 
   RES,DRIVE,ABT 35 
   IF(B5.EQ.0) GOTO 25               *IF LARGE SEC. 
   B5 = 0                           *RESET TO LARGE SEC. INDEX
   B4 = 1                           *NUMBER OF LARGE SEC. 
25 MSG 2 TO LINE 45 
   MSG 1(B7,B8,B9) TO DISPLAY 
   READCW B4 SEC AT CYL B7,TRK B8,SEC B9, ABT 27
   EXIT                      *EXIT TO PRIMARY MODULE
27 B5 = 1                    *SMALL SEC. INDEX
   B1=B9
   B4=4                      *NUMBER OF SMALL SEC 
   B9=B9.LS.2                *ADD. OF SMALL SEC.
   MSG 3 TO LINE 45 
   MSG 1 (B7,B8,B9) TO DISPLAY       *DISPLAY RUNNING MSG 
   READCW B4 SM SEC AT CYL B7 TRK B8 SEC B9, ABT 31 
   B9=B1
   GOTO 33
31 B6 = 1 
   B9=B1
33 EXIT 
35 B6=2 
   EXIT 
   END 20 
COMPILE 
*ENDIF
*IF DEF,SFMD
   MODULE FMD47,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD47,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD47,LSFMD1(16),LOCK 
*ENDIF
**                                                                       FMD
*   5.2.47 READ DATA FIELD                                               FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD47 VERIFIES THAT THE ADDRESS AND DATA FIELDS OF CYLINDER    FMD
*ENDIF
*IF DEF,PFMD
*         FHD47 VERIFIES THAT THE ADDRESS AND DATA FIELDS OF CYLINDER 
*ENDIF
*IF DEF,LSFMD 
*         FLD47 VERIFIES THAT THE ADDRESS AND DATA FIELDS OF CYLINDER 
*ENDIF
*         841 DECIMAL CAN BE READ WITHOUT ANY ERRORS. THE ADDRESS AND    FMD
*         DATA FIELDS OF ALL SELECTED SECTORS AND TRACKS WILL BE READ    FMD
*         ON CYLINDER 841 DECIMAL. TRACKS 0, 1 AND 2 WILL NOT BE USED.   FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT THAT SELECT AND RESERVED, READY AND SAFE, AND  FMD
*             ON CYLINDER STATUSES ARE ACTIVE.                           FMD
*         3.  ISSUE A SEEK (48) COMMAND TO THE DRIVE AND WAIT FOR THE    FMD
*             SEEK TO COMPLETE. VERIFY THAT STATUS VALID, READY AND      FMD
*             SAFE, AND ON CYLINDER STATUSES ARE ACTIVE.                 FMD
*         4.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT THAT SELECT AND RESERVED, READY AND SAFE, AND  FMD
*             ON CYLINDER STATUSES ARE ACTIVE.                           FMD
*         5.  READ THE ADDRESS AND DATA FIELDS OF ALL THE SECTORS        FMD
*             SELECTED ON TRACK 3.THE LOWER TRACK PARAMETER IS NOT USED.
*         6.  REPEAT STEPS 4 AND 5 FOR ALL TRACKS SELECTED IN PARAMETER  FMD
*             WORD 2.                                                    FMD
*         7.  REPEAT STEPS 4, 5, AND 6 FOR ALL COMBINATIONS OF STROBE    FMD
*             AND OFFSET MARGINS.                                        FMD
*         8.  RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         PARAMETER WORD P2 CONTAINS THE UPPER TRACK NUMBERS. 
*         PARAMETER WORD P3 CONTAINS THE UPPER AND LOWER SECTOR NUMBERS. FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98E - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD973 - PROCESS RETRY COUNT.                                  FMD
*         FMD974 - PROCESS ERRORS.                                       FMD
*         FMD975 - PROCESS ERRORS.                                       FMD
*         FMD976 - PROCESS ERRORS.                                       FMD
*         FMD977 - PROCESS ERRORS.                                       FMD
*         FMD978 - PROCESS ERRORS.                                       FMD
*         FMD979 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96A - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98E - ISOLATE READY AND SAFE FAULT.
*         FHD973 - PROCESS RETRY COUNT. 
*         FHD974 - PROCESS ERRORS.
*         FHD975 - PROCESS ERRORS.
*         FHD976 - PROCESS ERRORS.
*         FHD977 - PROCESS ERRORS.
*         FHD978 - PROCESS ERRORS.
*         FHD979 - PROCESS ISOLATION INFORMATION. 
*         FHD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*          FLD98B - PROCESS PRODUCT OVERLAY ERRORS. 
*          FLD98E - ISOLATE READY AND SAFE FAULT. 
*          FLD973 - PROCESS RETRY COUNT.
*          FLD974 - PROCESS ERRORS. 
*          FLD975 - PROCESS ERRORS. 
*          FLD976 - PROCESS ERRORS. 
*          FLD977 - PROCESS ERRORS. 
*          FLD978 - PROCESS ERRORS. 
*          FLD979 - PROCESS ISOLATION INFORMATION.
*          FLD96A - PROCESS ISOLATION INFORMATION.
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*IF DEF,LSFMD,2 
*         B5 REGISTER - SECTOR SIZE INDEX 
*         B6 REGISTER - ABORT INDEX 
*IF -DEF,LSFMD,2
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER.                                 FMD
*         B8 REGISTER - LOWER TRACK NUMBER.                              FMD
*         B9 REGISTER - LOWER SECTOR NUMBER.                             FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - UPPER TRACK NUMBER PLUS ONE.                    FMD
*         B12 REGISTER - UPPER SECTOR NUMBER PLUS ONE.                   FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - MARGIN INDEX.                                    FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(00-10) - MARGINS COMBINATIONS.                              FMD
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*         SB(32-64) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD47 - READ DATA FIELD                                        FMD
2  FORMAT FMD47 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD47 - *DECD ERRORS                                           FMD
4  FORMAT FMD47 - C=*OCT H=*OCT S=*OCT                                   FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD47 - READ DATA FIELD 
2  FORMAT FHD47 - EC *DECD, LC = *DECD
3  FORMAT FHD47 - *DECD ERRORS
4  FORMAT FHD47 - C=*OCT H=*OCT S=*OCT
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD47 - READ DATA FIELD 
2  FORMAT FLD47 - EC *DECD, LC = *DECD
3  FORMAT FLD47 - *DECD ERRORS
4  FORMAT FLD47 - C=*OCT H=*OCT S=*OCT
*ENDIF
*                                                                        FMD
*         EQUATES FOR THE MODULE. 
*                                                                        FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSROT=1600               FMD
   EQUATE DSV=40, OTRK=1000, RTZ=111                                     FMD
*                                                                        FMD
*         STROBE AND OFFSET MARGINS.
*                                                                        FMD
   DATA (OB,CON) 0,10,20,21,11,12,22,2,1                                 FMD
*                                                                        FMD
*         DISPLAY THE RUNNING MESSAGE FOR THE MODULE. 
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
*IF DEF,LSFMD,1 
   B5 = 0                         *LARGE SEC
   B13=0                     *CONDITION NUMBER 0                         FMD
   WC=0                      *CLEAR STROBE/OFFEST POINTER                FMD
*                                                                        FMD
*         INITIALIZE THE B REGISTERS FOR THE TEST.
*                                                                        FMD
   B11=P2+1 AND 77           *UPPER TRACK NUMBER                         FMD
   B12=P3+1 AND 77           *UPPER SECTOR NUMBER                        FMD
   B7=1511                   *CYLINDER NUMBER                            FMD
   B8 = 3                    *SET LOWER TRACK 
   IF(B8 GE B11)B11=B8+1     *RESET UPPER TRACK NUMBER                   FMD
   B9=P3 RS 6                *LOWER SECTOR NUMBER                        FMD
*                                                                        FMD
*         CONNECT TO 7155 CONTROLLER AND FMD. 
*                                                                        FMD
24 GOSUB 46                  *CONNECT TO CONTROLLER/DRIVE                FMD
*                                                                        FMD
*         SEEK TO DRIVE CYLINDER 841D.
*                                                                        FMD
   SEEK,CYL B7,TRK B8,SEC B9,ABT 54  *SEEK TO TRACK 841D                 FMD
   STATUS,DETAIL,ABT 72                 *GET DETAILED STATUS             FMD
26 IF(SB(9)AND DSV EQ 0)ERROR 13/2 GOTO 72  *STATUS VALID                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70            *READY/SAFE ERROR             FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 24/7 GOTO 72  *OFF CYLINDER               FMD
30 GOSUB 74                          *CHECK REPEAT CONDITION             FMD
   B13=1                             *CONDITION NUMBER 1                 FMD
*                                                                        FMD
*         CONNECT TO CONTROLLER AND READ A SECTOR.
*                                                                        FMD
34 GOSUB 46                     *CONNECT TO CONTROLLER/DRIVE             FMD
   B4=OB(WC)                    *FETCH STROBE/OFFSET MARGIN              FMD
   MARGINS B4,ABT 72            *SET STROBE/OFFSET MARGINS               FMD
35 B9=P3.RS.6                   *LOWER SECTOR NUMBER
36 B4=1                         *SECTOR COUNT                            FMD
*IF DEF,LSFMD 
   CALL 47A 
   IF(B6.EQ.1) GOTO 56
   IF(B6.EQ.2) GOTO 52
*ENDIF
*IF -DEF,LSFMD,2
   MSG 4 (B7,B8,B9) TO DISPLAY  *DISPLAY RUNNING MESSAGE                 FMD
   READCW B4 SECTORS AT CYL B7,TRK B8,SEC B9,ABT 56  *READ               FMD
   GOTO 36 WHILE(B9+1 NE B12)   *LOOP TO DO ALL SECTORS                  FMD
40 GOSUB 74                     *CHECK FOR REPEAT CONDITION              FMD
   GOTO 34 WHILE(B8+1 NE B11)   *LOOP TO DO ALL TRACKS                   FMD
   B8 = 3                       *SET LOWER TRACK
   GOTO 34 WHILE(WC+1 NE 9)     *LOOP TO DO ALL MARGINS                  FMD
*                                                                        FMD
*         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
*IF DEF,LSFMD,1 
   EXIT 
*IF -DEF,LSFMD,1
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
*         CONNECT TO THE 7155 CONTROLLER AND FMD. 
*                                                                        FMD
46 RES,DRIVE,ABT 52             *CONNECT TO CONTROLLER/DRIVE             FMD
   IF(SB NE 2)GOTO 50            *IF DRIVE NOT OFF CYLINDER              FMD18
   DELAY,8D MSEC                   *DELAY FOR ON CYLINDER                FMD18
   STATUS,DETAIL,ABT 72              *GET DETAILED STATUS                FMD18
50 IF(SB(9)AND DSR EQ 0)ERROR 10/0 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70            *READY/SAFE ERROR             FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 12/1 GOTO 72  *ON TRACK ERROR             FMD
   RETURN                               *EXIT THE SUBROUTINE             FMD
*                                                                        FMD
*         PROCESS ABORT ON RESERVE COMMAND. 
*                                                                        FMD
52 IF(EC AND 77 NE 25) GOTO 72     *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DSROT NE DSROT)GOTO 50  *STATUS ERROR                     FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
*         PROCESS ABORT ON SEEK COMMAND.
*                                                                        FMD
54 IF(EC AND 77 LT 25) GOTO 72     *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DRSVOT NE DRSVOT)GOTO 26  *STATUS ERROR                   FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
*         PROCESS ABORT ON READ COMMAND.
*                                                                        FMD
56 IF(EC AND 77 EQ 25) GOTO 60      *IF GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72      *IF NOT SUCCESSFUL RETRY             FMD
60 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25            *IF RETRY ATTEMPTED                  FMD
   IF(SB(B4+21) AND 1 EQ 0)GOTO 62  *NOT ADDRESS FIELD ERROR             FMD
   IF(SB(B4+9) AND DRS EQ 0)GOTO 70         *READ/SAFE ERROR             FMD
   IF(SB(B4+5).AND.6000.NE.0) GOTO 40   *TRACK FLAW OR FACTORY MAP
   IF(SB(B4+21)AND 4400 NE 0)ERROR 16/4 GOTO 64  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 20/5 GOTO 64  *COMPARE ERROR             FMD
   IF(SB(B4+2)AND 4000 EQ 0)GOTO 72       *NOT CHECKWORD                 FMD
   ERROR 22/6 GOTO 64                     *ADDRESS CHECKWORD             FMD
62 IF(SB(B4+21) AND 2 EQ 0) GOTO 64  *NOT DATA FIELD ERROR               FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 0/9 GOTO 64  *SYNC BYTE
   IF(SB(B4+2)AND 1000 EQ 0)GOTO 72      *NOT DATA CHECKWORD             FMD
   ERROR 3/12                                *DATA CHECKWORD             FMD
*                                                                        FMD
*         PROCESS ERRORS DETECTED WHILE READING THE SECTOR. 
*                                                                        FMD
64 B5 = 1                    *SET FOR READ ERROR
   GOTO 72                       *GO TO REPORT NEXT ERROR                FMD
*                                                                        FMD
*         PROCESS READY AND SAFE ERRORS DETECTED. 
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98E   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
*         PROCESS ERRORS DETECTED IN THE MODULE.
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=47D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 974       *IF NO SCOPING LOOP                 FMD
   IF(B5.EQ.0) GOTO 73       *READ ERROR
   IF(ES.AND.SL.EQ.0)CALL 973   *IF NO SCOPING LOOP 
73 B5 = 0                    *RESET B5 FOR NEXT ERROR 
   IF(B13 EQ 0) ENDSUB GOTO 30         *IF CONDITION 0                   FMD
   IF(B13 EQ 2) ENDSUB GOTO 42            *IF CONDITION 2                FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   ENDSUB GOTO 40                            *CONDITION 1                FMD
*                                                                        FMD
*         PROCESS REPEAT CONDITION. 
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0)ENDSUB GOTO 24   *REPEAT CONDITION 0                      FMD
   RES,DRIVE,FAULT,ABT 72       *RESERVE THE DRIVE                       FMD
   ENDSUB GOTO 35               *REPEAT CONDITION 1 
76 IF(B13 EQ 1)RETURN           *IF CONDITION 1                          FMD
   MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,LSFMD 
   MODULE FLD47A,LSFMD1,(16),LOCK 
**
* 
*         PURPOSE-
* 
*         FLD47A WILL CHECK THE SECTOR SIZE INDEX, THEN IT TRIES TO 
*         DO A LARGE SECTOR READ CHECKWORD, IF SUCCESSFULL IT WILL
*         EXIT TO PRIMARY MODULE AND CONTINUE NORMALLY IN THE 
*         PRIMARY;  IF NOT SUCCESSFULL IT WILL TRY TO DO A SMALL
*         SECTOR READ CHECWORD, THEN IT WILL EXIT TO PRIMARY MODULE.
* 
* 
*         METHOD- 
* 
*         1.  TEST FOR LARGE SECTOR INDEX;  IF NOT LARGE SECTOR, RESET
*             EVERY THING TO LARGE SECTOR.
*         2.  ATTEMPT A LARGE SECTOR READ CHECKWORD IF SUCCESSFULL
*             EXIT TO PRIMARY MODULE. 
*         3.  IF STEP 2 WAS NOT SUCCESSFUL, RESET SECTOR ADDRESS TO 
*             SMALL AND DO A SMALL SECTOR READ CHECKWORD. 
*         4.  EXIT TO PRIMARY MODULE AND CONTINUE NORMALLY. 
/ 
* 
* 
*         SUBMODULES REFERENCED-
* 
*         NONE
* 
* 
*         REGISTERS USED- 
* 
*         B1 = TEMPORARY STORAGE
*         B5 = SECTOR SIZE INDEX
*         B6 = ABORT INDEX
* 
1  FORMAT FLD47 - C=*OCT H=*OCT S=*OCT
2  FORMAT LARGE SECTOR READ CHECKWORD ATTEMPTED 
3  FORMAT SMALL SECTOR READ CHECKWORD ATTEMPTED 
* 
/                  MODULE INITILIZATION 
* 
20 B6 = 0                    INITILIZE THE ABORT INDEX
* 
/                  MODULE TEST
* 
   RES,DRIVE,ABT 35 
   IF(B5.EQ.0) GOTO 25               *IF LARGE SEC. 
   B5 = 0                           *RESET TO LARGE SEC. INDEX
   B4 = 1                           *NUMBER OF LARGE SEC. 
25 MSG 2 TO LINE 45 
   MSG 1(B7,B8,B9) TO DISPLAY 
   READCW B4 SEC AT CYL B7,TRK B8,SEC B9, ABT 27
   EXIT                      *EXIT TO PRIMARY MODULE
27 B5 = 1                    *SMALL SEC. INDEX
   B1=B9
   B4=4                      *NUMBER OF SMALL SEC 
   B9=B9.LS.2                *ADD. OF SMALL SEC.
   MSG 3 TO LINE 45 
   MSG 1 (B7,B8,B9) TO DISPLAY      *DISPLAY RUNNING MSG
   READCW B4 SM SEC AT CYL B7 TRK B8 SEC B9, ABT 31 
   B9=B1
   GOTO 33
31 B6 = 1 
   B9=B1
33 EXIT 
35 B6=2 
   EXIT 
   END 20 
COMPILE 
*ENDIF
*IF DEF,SFMD
   MODULE FMD48,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD48,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD48,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.48 READ ADDRESS FORWARD                                          FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD48 VERIFIES THAT THE ADDRESS FIELD OF ALL CYLINDERS         FMD
*ENDIF
*IF DEF,PFMD
*         FHD48 VERIFIES THAT THE ADDRESS FIELD OF ALL CYLINDERS
*ENDIF
*IF DEF,LSFMD 
*         FLD48 VERIFIES THAT THE ADDRESS FIELD OF ALL CYLINDERS
*ENDIF
*         SELECTED CAN BE READ WITHOUT ANY ERRORS WHILE SEEKING FORWARD  FMD
*         ON CYLINDER AT A TIME. THE ADDRESS FIELDS OF THE FIRST         FMD
*         SELECTED SECTOR WILL BE READ IN ALL TRACKS SELECTED.           FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT SELECT AND RESERVED, READY AND SAFE, AND       FMD06
*             ON CYLINDER STATUSES ARE ACTIVE.                           FMD
*         3.  ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS. VERIFY THAT STATUS VALID, READY AND  FMD
*             SAFE, AND ON CYLINDER STATUSES ARE ACTIVE.                 FMD
*         4.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED, READY AND SAFE, AND       FMD06
*             ON CYLINDER STATUSES ARE ACTIVE.                           FMD
*         5.  SEEK TO THE FIRST (NEXT) CYLINDER SELECTED. VERIFY THAT    FMD
*             STATUS VALID, READY AND SAFE, AND ON CYLINDER STATUSES     FMD
*             ARE ACTIVE.                                                FMD
*         6.  READ THE ADDRESS FIELD OF THE FIRST SECTOR SELECTED FOR    FMD
*             ALL SELECTED TRACKS.                                       FMD
*         7.  REPEAT STEPS 4, 5, AND 6 FOR ALL CYLINDERS SELECTED IN     FMD
*             PARAMETER WORDS 0 AND 1.                                   FMD
*         7.  RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         PARAMETER WORD P0 CONTAINS THE LOWER CYLINDER NUMBER.          FMD
*         PARAMETER WORD P1 CONTAINS THE UPPER CYLINDER NUMBER.          FMD
*         PARAMETER WORD P2 CONTAINS THE UPPER AND LOWER TRACK NUMBERS.  FMD
*         PARAMETER WORD P3 CONTAINS THE UPPER AND LOWER SECTOR NUMBERS. FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98E - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD973 - PROCESS RETRY COUNT.                                  FMD
*         FMD974 - PROCESS ERRORS.                                       FMD
*         FMD975 - PROCESS ERRORS.                                       FMD
*         FMD976 - PROCESS ERRORS.                                       FMD
*         FMD977 - PROCESS ERRORS.                                       FMD
*         FMD978 - PROCESS ERRORS.                                       FMD
*         FMD979 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96A - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98E - ISOLATE READY AND SAFE FAULT.
*         FHD973 - PROCESS RETRY COUNT. 
*         FHD974 - PROCESS ERRORS.
*         FHD975 - PROCESS ERRORS.
*         FHD976 - PROCESS ERRORS.
*         FHD977 - PROCESS ERRORS.
*         FHD978 - PROCESS ERRORS.
*         FHD979 - PROCESS ISOLATION INFORMATION. 
*         FHD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*          FLD98B - PROCESS PRODUCT OVERLAY ERRORS. 
*          FLD98E - ISOLATE READY AND SAFE FAULT. 
*          FLD973 - PROCESS RETRY COUNT.
*          FLD974 - PROCESS ERRORS. 
*          FLD975 - PROCESS ERRORS. 
*          FLD976 - PROCESS ERRORS. 
*          FLD977 - PROCESS ERRORS. 
*          FLD978 - PROCESS ERRORS. 
*          FLD979 - PROCESS ISOLATION INFORMATION.
*          FLD96A - PROCESS ISOLATION INFORMATION.
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*IF DEF,LSFMD,2 
*         B5 REGISTER - SECTOR SIZE INDEX 
*         B6 REGISTER - ABORT INDEX 
*IF -DEF,LSFMD,2
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - LOWER CYLINDER NUMBER.                           FMD
*         B8 REGISTER - LOWER TRACK NUMBER.                              FMD
*         B9 REGISTER - LOWER SECTOR NUMBER.                             FMD
*         B10 REGISTER - UPPER CYLINDER NUMBER PLUS ONE.                 FMD
*         B11 REGISTER - UPPER TRACK NUMBER PLUS ONE.                    FMD
*         B12 REGISTER - UPPER SECTOR NUMBER PLUS ONE.                   FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*         SB(32-64) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD48 - READ ADDRESS FORWARD                                   FMD
2  FORMAT FMD48 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD48 - *DECD ERRORS                                           FMD
4  FORMAT FMD48 - C=*OCT H=*OCT S=*OCT                                   FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD48 - READ ADDRESS FORWARD
2  FORMAT FHD48 - EC *DECD, LC = *DECD
3  FORMAT FHD48 - *DECD ERRORS
4  FORMAT FHD48 - C=*OCT H=*OCT S=*OCT
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD48 - READ ADDRESS FORWARD
2  FORMAT FLD48 - EC *DECD, LC = *DECD
3  FORMAT FLD48 - *DECD ERRORS
4  FORMAT FLD48 - C=*OCT H=*OCT S=*OCT
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSROT=1600               FMD
   EQUATE DSV=40, OTRK=1000, RTZ=111                                     FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
*IF DEF,LSFMD,1 
   B5 = 0                         *LARGE SEC
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FMD.                            FMD
*                                                                        FMD
24 GOSUB 46                  *CONNECT TO CONTROLLER/DRIVE                FMD
*                                                                        FMD
/         ISSUE A RTZ COMMAND TO THE DRIVE.                              FMD
*                                                                        FMD
   OUT CHANNEL=CH8,0,RTZ,ABT 72         *ISSUE RTZ COMMAND               FMD
   DELAY,300 MSEC                       *DELAY FOR ON TRACK              FMD
   STATUS,DETAIL,ABT 72                 *GET DETAILED STATUS             FMD
   IF(SB(9)AND DSV EQ 0)ERROR 13/2 GOTO 72  *STATUS VALID                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70            *READY SAFE ERROR             FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 15/3 GOTO 72  *OFF CYLINDER               FMD
26 GOSUB 74                          *CHECK REPEAT CONDITION             FMD
   B13=1                             *CONDITION NUMBER 1                 FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B7=P0                          *LOWER CYLINDER NUMBER                 FMD
   B9=P3 RS 6                     *LOWER SECTOR NUMBER                   FMD
   B10=P1+1                       *UPPER CYLINDER NUMBER                 FMD
   B11=P2 AND 77 +1               *UPPER TRACK NUMBER PLUS 1             FMD
30 B8=P2 RS 6                     *LOWER TRACK NUMBER                    FMD
*                                                                        FMD
/         CONNECT TO DRIVE, SEEK, AND READ TRACKS SELECTED.              FMD
*                                                                        FMD
32 GOSUB 46                     *CONNECT TO CONTROLLER/DRIVE             FMD
   SEEK CYL B7,TRK B8,SEC,B9,ABT 56  *SEEK TO NEXT CYLINDER              FMD
   STATUS,DETAIL,ABT 72                 *GET DETAILED STATUS             FMD
34 IF(SB(9)AND DSR EQ 0)ERROR 10/0 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70            *READY SAFE ERROR             FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 24/7 GOTO 72  *OFF CYLINDER               FMD
36 B4=1                                     *SECTOR COUNT                FMD
*IF DEF,LSFMD 
   CALL 48A 
   IF(B6.EQ.1) GOTO 60
   IF(B6.EQ.2) GOTO 52
*ENDIF
*IF -DEF,LSFMD,2
   MSG 4 (B7,B8,B9) TO DISPLAY      *DISPLAY RUNNING MESSAGE             FMD
   READCW B4 SECTORS AT CYL B7,TRK B8,SEC B9,ABT 60  *READ               FMD
40 GOSUB 74                        *CHECK REPEAT CONDITION               FMD
   GOTO 36 WHILE(B8+1 NE B11)      *LOOP TO DO ALL TRACKS                FMD
   GOTO 30 WHILE(B7+1 NE B10)      *LOOP TO DO ALL CYLINDERS             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
*IF DEF,LSFMD,1 
   EXIT 
*IF -DEF,LSFMD,1
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         CONNECT TO THE 7155 CONTROLLER AND FMD.                        FMD
*                                                                        FMD
46 RES,DRIVE,ABT 52             *CONNECT TO CONTROLLER/DRIVE             FMD
   IF(SB NE 2)GOTO 50            *IF DRIVE NOT OFF CYLINDER              FMD18
   DELAY,8D MSEC                   *DELAY FOR ON CYLINDER                FMD18
   STATUS,DETAIL,ABT 72              *GET DETAILED STATUS                FMD18
50 IF(SB(9)AND DSR EQ 0)ERROR 10/0 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70            *READY/SAFE ERROR             FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 12/1 GOTO 72  *ON TRACK ERROR             FMD
   RETURN                               *EXIT THE SUBROUTINE             FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
52 IF(EC AND 77 NE 25) GOTO 72     *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DSROT NE DSROT)GOTO 50  *STATUS ERROR                     FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON SEEK COMMAND.                                 FMD
*                                                                        FMD
56 IF(EC AND 77 LT 25) GOTO 72     *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DRSVOT NE DRSVOT)GOTO 34  *STATUS ERROR                   FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON READ COMMAND.                                 FMD
*                                                                        FMD
60 IF(EC AND 77 EQ 25) GOTO 62      *IF GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72      *IF NOT SUCCESSFUL RETRY             FMD
62 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25            *IF RETRY ATTEMPTED                  FMD
   IF(SB(B4+21) AND 1 EQ 0)GOTO 66    *IF NOT ADDRESS FIELD              FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70       *READY/SAFE ERROR               FMD
   IF(SB(B4+5) AND 6000 NE 0) GOTO 40       *IF FLAWED TRACK             FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 16/4 GOTO 64  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 20/5 GOTO 64    *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 EQ 0)GOTO 72           *NOT CHECKWORD             FMD
   ERROR 22/6                             *ADDRESS CHECKWORD             FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED WHILE READING THE SECTOR.              FMD
*                                                                        FMD
64 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=48D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 974    *IF NO SCOPING LOOP                    FMD
   IF(ES AND SL EQ 0) CALL 973    *IF NO SCOPING LOOP                    FMD
   GOTO 72                        *GO TO REPORT NEXT ERROR               FMD
66 IF(SB(B4+21)AND 2 NE 0)GOTO 40  *IF DATA FIELD ERR0R                  FMD
   GOTO 72                         *GO TO REPORT THE ERROR               FMD
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72            *GET DETAILED STATUS                  FMD
   IF(ES AND SL EQ 0) CALL 98E     *IF NO SCOPING LOOP                   FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=48D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 974       *IF NO SCOPING LOOP                 FMD
*IF DEF,SFMD
   IF(B13 EQ 0) ENDSUB GOTO 26     *IF CONDITION 0
*ENDIF
*IF DEF,PFMD
   IF(B13 EQ 0) ENDSUB GOTO 26        *IF CONDITION 0 
*ENDIF
*IF DEF,LSFMD 
   IF (B13 EQ 0) ENDSUB GOTO 30            *IF CONDITION 0
*ENDIF
   IF(B13 EQ 2) ENDSUB GOTO 42           *IF CONDITION 2                 FMD
   IF(ES AND SL EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   ENDSUB GOTO 40                            *CONDITION 1                FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0)ENDSUB GOTO 24   *REPEAT CONDITION 0                      FMD
   ENDSUB GOTO 32               *REPEAT CONDITION 1                      FMD
76 IF(B13 EQ 1)RETURN           *IF CONDITION 1                          FMD
   MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,LSFMD 
   MODULE FLD48A,LSFMD1,(16),LOCK 
**
* 
*         PURPOSE-
* 
*         FLD48A WILL CHECK THE SECTOR SIZE INDEX, THEN IT TRIES TO 
*         DO A LARGE SECTOR READ CHECKWORD, IF SUCCESSFULL IT WILL
*         EXIT TO PRIMARY MODULE AND CONTINUE NORMALLY IN THE 
*         PRIMARY;  IF NOT SUCCESSFULL IT WILL TRY TO DO A SMALL
*         SECTOR READ CHECWORD, THEN IT WILL EXIT TO PRIMARY MODULE.
* 
* 
*         METHOD- 
* 
*         1.  TEST FOR LARGE SECTOR INDEX;  IF NOT LARGE SECTOR, RESET
*             EVERY THING TO LARGE SECTOR.
*         2.  ATTEMPT A LARGE SECTOR READ CHECKWORD IF SUCCESSFULL
*             EXIT TO PRIMARY MODULE. 
*         3.  IF STEP 2 WAS NOT SUCCESSFUL, RESET SECTOR ADDRESS TO 
*             SMALL AND DO A SMALL SECTOR READ CHECKWORD. 
*         4.  EXIT TO PRIMARY MODULE AND CONTINUE NORMALLY. 
/ 
* 
* 
*         SUBMODULES REFERENCED-
* 
*         NONE
* 
* 
*         REGISTERS USED- 
* 
*         B1 = TEMPORARY STORAGE
*         B5 = SECTOR SIZE INDEX
*         B6 = ABORT INDEX
* 
1  FORMAT FLD48 - C=*OCT H=*OCT S=*OCT
2  FORMAT LARGE SECTOR READ CHECKWORD ATTEMPTED 
3  FORMAT SMALL SECTOR READ CHECKWORD ATTEMPTED 
* 
/                  MODULE INITILIZATION 
* 
20 B6 = 0                    INITILIZE THE ABORT INDEX
* 
/                  MODULE TEST
* 
   RES,DRIVE,ABT 35 
   IF(B5.EQ.0) GOTO 25               *IF LARGE SEC. 
   B5 = 0                           *RESET TO LARGE SEC. INDEX
   B4 = 1                           *NUMBER OF LARGE SEC. 
25 MSG 2 TO LINE 45 
   MSG 1(B7,B8,B9) TO DISPLAY 
   READCW B4 SEC AT CYL B7,TRK B8,SEC B9, ABT 27
   EXIT                      *EXIT TO PRIMARY MODULE
27 B5 = 1                    *SMALL SEC. INDEX
   B1=B9
   B4=4                      *NUMBER OF SMALL SEC 
   B9=B9.LS.2                *ADD OF SMALL SEC
   MSG 3 TO LINE 45 
   MSG 1 (B7,B8,B9) TO DISPLAY      *DISPLAY RUNNING MSG
   READCW B4 SM SEC AT CYL B7 TRK B8 SEC B9, ABT 31 
   B9=B1
   GOTO 33
31 B6 = 1 
   B9=B1
33 EXIT 
35 B6=2 
   EXIT 
   END 20 
COMPILE 
*ENDIF
*IF DEF,SFMD
   MODULE FMD49,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD49,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD49,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.49 READ ADDRESS REVERSE                                          FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD49 VERIFIES THAT THE ADDRESS FIELD OF ALL CYLINDERS         FMD
*ENDIF
*IF DEF,PFMD
*         FHD49 VERIFIES THAT THE ADDRESS FIELD OF ALL CYLINDERS
*ENDIF
*IF DEF,LSFMD 
*         FLD VERIFIES THAT THE ADDRESS FIELD OF ALL CYLINDERS
*ENDIF
*         SELECTED CAN BE READ WITHOUT ANY ERRORS WHILE SEEKING REVERSE  FMD
*         ONE CYLINDER AT A TIME. THE ADDRESS FIELDS OF THE FIRST        FMD06
*         SELECTED SECTOR WILL BE READ IN ALL TRACKS SELECTED.           FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT SELECT AND RESERVED, READY AND SAFE, AND       FMD06
*             ON CYLINDER STATUSES ARE ACTIVE.                           FMD
*         3.  SEEK TO THE LAST (NEXT) CYLINDER SELECTED. VERIFY THAT     FMD
*             STATUS VALID, READY AND SAFE, AND ON CYLINDER STATUSES     FMD
*             ARE ACTIVE.                                                FMD
*         4.  READ THE ADDRESS FIELD OF THE FIRST SECTOR SELECTED FOR    FMD
*             ALL SELECTED TRACKS.                                       FMD
*         5.  REPEAT STEPS 1, 2, 3, AND 4 FOR ALL CYLINDERS SELECTED IN  FMD
*             PARAMETER WORDS 0 AND 1.                                   FMD
*         6.  RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         PARAMETER WORD P0 CONTAINS THE LOWER CYLINDER NUMBER.          FMD
*         PARAMETER WORD P1 CONTAINS THE UPPER CYLINDER NUMBER.          FMD
*         PARAMETER WORD P2 CONTAINS THE UPPER AND LOWER TRACK NUMBERS.  FMD
*         PARAMETER WORD P3 CONTAINS THE UPPER AND LOWER SECTOR NUMBERS. FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98E - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD973 - PROCESS RETRY COUNT.                                  FMD
*         FMD974 - PROCESS ERRORS.                                       FMD
*         FMD975 - PROCESS ERRORS.                                       FMD
*         FMD976 - PROCESS ERRORS.                                       FMD
*         FMD977 - PROCESS ERRORS.                                       FMD
*         FMD978 - PROCESS ERRORS.                                       FMD
*         FMD979 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96A - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98E - ISOLATE READY AND SAFE FAULT.
*         FHD973 - PROCESS RETRY COUNT. 
*         FHD974 - PROCESS ERRORS.
*         FHD975 - PROCESS ERRORS.
*         FHD976 - PROCESS ERRORS.
*         FHD977 - PROCESS ERRORS.
*         FHD978 - PROCESS ERRORS.
*         FHD979 - PROCESS ISOLATION INFORMATION. 
*         FHD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*          FLD98B - PROCESS PRODUCT OVERLAY ERRORS. 
*          FLD98E - ISOLATE READY AND SAFE FAULT. 
*          FLD973 - PROCESS RETRY COUNT.
*          FLD974 - PROCESS ERRORS. 
*          FLD975 - PROCESS ERRORS. 
*          FLD976 - PROCESS ERRORS. 
*          FLD977 - PROCESS ERRORS. 
*          FLD978 - PROCESS ERRORS. 
*          FLD979 - PROCESS ISOLATION INFORMATION.
*          FLD96A - PROCESS ISOLATION INFORMATION.
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*IF DEF,LSFMD,2 
*         B5 REGISTER - SECTOR SIZE INDEX 
*         B6 REGISTER - ABORT INDEX 
*IF -DEF,LSFMD,2
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - UPPER CYLINDER NUMBER.                           FMD
*         B8 REGISTER - LOWER TRACK NUMBER.                              FMD
*         B9 REGISTER - LOWER SECTOR NUMBER.                             FMD
*         B10 REGISTER - LOWER CYLINDER NUMBER.                          FMD
*         B11 REGISTER - UPPER TRACK NUMBER PLUS ONE.                    FMD
*         B12 REGISTER - UPPER SECTOR NUMBER PLUS ONE.                   FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*         SB(32-64) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD49 - READ ADDRESS REVERSE                                   FMD
2  FORMAT FMD49 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD49 - *DECD ERRORS                                           FMD
4  FORMAT FMD49 - C=*OCT H=*OCT S=*OCT                                   FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD49 - READ ADDRESS REVERSE
2  FORMAT FHD49 - EC *DECD, LC = *DECD
3  FORMAT FHD49 - *DECD ERRORS
4  FORMAT FHD49 - C=*OCT H=*OCT S=*OCT
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD49 - READ ADDRESS REVERSE
2  FORMAT FLD49 - EC *DECD, LC = *DECD
3  FORMAT FLD49 - *DECD ERRORS
4  FORMAT FLD49 - C=*OCT H=*OCT S=*OCT
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSROT=1600               FMD
   EQUATE DSV=40, OTRK=1000, RTZ=111                                     FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
*IF DEF,LSFMD,1 
   B5 = 0                         *LARGE SEC
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B10=P0                    *LOWER CYLINDER NUMBER                      FMD
   B11=P2+1 AND 77           *UPPER TRACK NUMBER                         FMD
   B12=P3+1 AND 77           *UPPER SECTOR NUMBER                        FMD
   B7=P1                     *UPPER CYLINDER NUMBER                      FMD
   B8=P2 RS 6                *LOWER TRACK NUMBER                         FMD
   B9=P3 RS 6                *LOWER SECTOR NUMBER                        FMD
24 B8=P2 RS 6                *LOWER TRACK NUMBER                         FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FMD.                            FMD
*                                                                        FMD
26 RES,DRIVE,ABT 50             *CONNECT TO CONTROLLER/DRIVE             FMD
   IF(SB NE 2)GOTO 30            *IF DRIVE NOT OFF CYLINDER              FMD18
   DELAY,8D MSEC                   *DELAY FOR ON CYLINDER                FMD18
   STATUS,DETAIL,ABT 72              *GET DETAILED STATUS                FMD18
30 IF(SB(9)AND DSR EQ 0)ERROR 10/0 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70            *READY/SAFE ERROR             FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 12/1 GOTO 72  *OFF CYLINDER               FMD
*                                                                        FMD
/         SEEK TO THE LAST OR NEXT CYLINDER.                             FMD
*                                                                        FMD
   SEEK,CYL B7,TRK B8,SEC B9,ABT 52     *SEEK TO NEXT TRACK              FMD
   STATUS,DETAIL,ABT 72                 *GET DETAILED STATUS             FMD
32 IF(SB(9)AND DSV EQ 0)ERROR 13/2 GOTO 72  *STATUS VALID                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70            *READY/SAFE ERROR             FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 24/7 GOTO 72  *OFF CYLINDER               FMD
*                                                                        FMD
/         READ THE FIRST SECTOR SELECTED ON THE TRACK.                   FMD
*                                                                        FMD
34 B4=1                          *SECTOR COUNT                           FMD
*IF DEF,LSFMD 
   CALL 49A 
   IF(B6.EQ.1) GOTO 56
   IF(B6.EQ.2) GOTO 50
*ENDIF
*IF -DEF,LSFMD,2
   MSG 4 (B7,B8,B9) TO DISPLAY   *DISPLAY RUNNING MESSAGE                FMD
   READCW B4 SECTORS AT CYL B7,TRK B8,SEC B9,ABT 56  *READ               FMD
36 GOSUB 74                      *CHECK FOR REPEAT CONDITION             FMD
   GOTO 34 WHILE(B8+1 NE B11)    *LOOP TO DO ALL TRACKS                  FMD
   IF(B7 EQ B10) GOTO 40         *IF ALL CYLINDERS READ                  FMD
   B7=B7-1                       *DECREMENT CLYINDER NUMBER              FMD
   GOTO 24                       *LOOP TO DO ALL CYLINDERS               FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
40 B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
50 IF(EC AND 77 NE 25) GOTO 72     *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DSROT NE DSROT)GOTO 30  *STATUS ERROR                     FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON SEEK COMMAND.                                 FMD
*                                                                        FMD
52 IF(EC AND 77 LT 25) GOTO 72     *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DRSVOT NE DRSVOT)GOTO 32  *STATUS ERROR                   FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON READ COMMAND.                                 FMD
*                                                                        FMD
56 IF(EC AND 77 EQ 25) GOTO 60      *IF GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72      *IF NOT SUCCESSFUL RETRY             FMD
60 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25             *IF RETRY ATTEMPTED                 FMD
   IF(SB(B4+21) AND 1 EQ 0) GOTO 64    *IF NOT ADDRESS FIELD             FMD
   IF(SB(B4+9) AND DRS EQ 0)GOTO 70       *READ/SAFE ERROR               FMD
   IF(SB(5) AND 6000 NE 0) GOTO 36            *IF TRACK FLAW             FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 16/4 GOTO 62  *SYNC BYTE 
   IF(SB(B4+1) AND 10 NE 0) ERROR 20/5 GOTO 62    *COMPARE               FMD
   IF(SB(B4+2) AND 4000 EQ 0)GOTO 72          *NOT CHECKWORD             FMD
   ERROR 22/6                             *ADDRESS CHECKWORD             FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED WHILE READING THE SECTOR.              FMD
*                                                                        FMD
62 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=49D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 974     *IF NO SCOPING LOOP                   FMD
   IF(ES AND SL EQ 0) CALL 973      *IF NO SCOPING LOOP                  FMD
   GOTO 72                          *GO TO REPORT NEXT ERROR             FMD
64 IF(SB(B4+21) AND 2 NE 0)GOTO 36  *IF DATA FIELD ERROR                 FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72             *GET DETAILED STATUS                 FMD
   IF(ES AND SL EQ 0) CALL 98E      *IF NO SCOPING LOOP                  FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNT BY ONE             FMD
   B0=49D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 974       *IF NO SCOPING LOOP                 FMD
   IF(B13 EQ 1) ENDSUB GOTO 42            *IF CONDITION 1                FMD
   IF(ES AND RC EQ 0)RES,DRIVE,FAULT,ABT 72  *RESERVE DRIVE              FMD
   ENDSUB GOTO 36                            *CONDITION 0                FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2(B14,B15)TO DISPLAY     *DISPLAY RC MESSAGE                      FMD
   ENDSUB GOTO 26               *REPEAT CONDITION                        FMD
76 IF(B13 EQ 0)RETURN           *IF CONDITION 1                          FMD
   MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,LSFMD 
   MODULE FLD49A,LSFMD1,(16),LOCK 
**
* 
*         PURPOSE-
* 
*         FLD49A WILL CHECK THE SECTOR SIZE INDEX, THEN IT TRIES TO 
*         DO A LARGE SECTOR READ CHECKWORD, IF SUCCESSFULL IT WILL
*         EXIT TO PRIMARY MODULE AND CONTINUE NORMALLY IN THE 
*         PRIMARY;  IF NOT SUCCESSFULL IT WILL TRY TO DO A SMALL
*         SECTOR READ CHECWORD, THEN IT WILL EXIT TO PRIMARY MODULE.
* 
* 
*         METHOD- 
* 
*         1.  TEST FOR LARGE SECTOR INDEX;  IF NOT LARGE SECTOR, RESET
*             EVERY THING TO LARGE SECTOR.
*         2.  ATTEMPT A LARGE SECTOR READ CHECKWORD IF SUCCESSFULL
*             EXIT TO PRIMARY MODULE. 
*         3.  IF STEP 2 WAS NOT SUCCESSFUL, RESET SECTOR ADDRESS TO 
*             SMALL AND DO A SMALL SECTOR READ CHECKWORD. 
*         4.  EXIT TO PRIMARY MODULE AND CONTINUE NORMALLY. 
/ 
* 
* 
*         SUBMODULES REFERENCED-
* 
*         NONE
* 
* 
*         REGISTERS USED- 
* 
*         B5 = SECTOR SIZE INDEX
*         B6 = ABORT INDEX
* 
1  FORMAT FLD49 - C=*OCT H=*OCT S=*OCT
2  FORMAT LARGE SECTOR READ CHECKWORD ATTEMPTED 
3  FORMAT SMALL SECTOR READ CHECKWORD ATTEMPTED 
* 
/                  MODULE INITILIZATION 
* 
20 B6 = 0                    INITILIZE THE ABORT INDEX
* 
/                  MODULE TEST
* 
   RES,DRIVE,ABT 35 
   IF(B5.EQ.0) GOTO 25               *IF LARGE SEC. 
   B5 = 0                           *RESET TO LARGE SEC. INDEX
25 MSG 2 TO LINE 45 
   MSG 1(B7,B8,B9) TO DISPLAY 
   READCW B4 SEC AT CYL B7,TRK B8,SEC B9, ABT 27
   EXIT                      *EXIT TO PRIMARY MODULE
27 B5 = 1                    *SMALL SEC. INDEX
   B1=B9
   MSG 3 TO LINE 45 
   MSG 1 (B7,B8,B9) TO DISPLAY     *DISPLAY RUNNING MSG 
   READCW B4 SM SEC AT CYL B7 TRK B8 SEC B9, ABT 31 
   B9=B1
   GOTO 33
31 B6 = 1 
   B9=B1
33 EXIT 
35 B6=2 
   EXIT 
   END 20 
COMPILE 
*ENDIF
*IF DEF,SFMD
   MODULE FMD50,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD50,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD50,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.50 RANDOM READ TEST                                              FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD50 VERIFIES THAT THE ADDRESS FIELD OF A RANDOM SECTOR OF A  FMD
*ENDIF
*IF DEF,PFMD
*         FHD50 VERIFIES THAT THE ADDRESS FIELD OF A RANDOM SECTOR OF A 
*ENDIF
*IF DEF,LSFMD 
*         FLD50 VERIFIES THAT THE ADDRESS FIELD OF A RANDOM SECTOR OF A 
*ENDIF
*         RANDOM TRACK ON A RANDOM CYLINDER CAN BE READ WITHOUT ANY      FMD06
*         ERRORS.                                                        FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  GENERATE A RANDOM CYLINDER NUMBER.                         FMD
*         2.  GENERATE A RANDOM TRACK NUMBER.                            FMD
*         3.  GENERATE A RANDOM SECTOR NUMBER.                           FMD
*         4.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         5.  VERIFY THAT SELECT AND RESERVED, READY AND SAFE, AND       FMD06
*             ON CYLINDER STATUSES ARE ACTIVE.                           FMD
*         6.  ISSUE A SEEK (48) COMMAND TO THE DRIVE AND WAIT FOR THE    FMD
*             SEEK TO COMPLETE. VERIFY THAT STATUS VALID, READY          FMD06
*             AND SAFE, AND ON CYLINDER STATUSES ARE ACTIVE.             FMD
*         7.  READ THE ADDRESS FIELD OF THE RANDOM SECTOR OF THE RANDOM  FMD
*             TRACK ON THE RANDOM CYLINDER.                              FMD
*         8.  REPEAT STEPS 1, 2, 3, 4, 5, 6, AND 7 200 DECIMAL TIMES IF  FMD
*             P9 IS ZERO OR IF P9 IS NONZERO THE NUMBER IN P9 TIMES TEN. FMD
*         9.  RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         P6 CONTAINS THE SEED FOR THE RANDOM NUMBER GENERATOR IF IT IS  FMD
*            NONZERO.                                                    FMD
*         P9 CONTAINS THE NUMBER OF SEEKS TIMES TEN OCTAL TO DO IF IT    FMD
*            IS NONZERO.                                                 FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98E - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD973 - PROCESS RETRY COUNT.                                  FMD
*         FMD974 - PROCESS ERRORS.                                       FMD
*         FMD975 - PROCESS ERRORS.                                       FMD
*         FMD976 - PROCESS ERRORS.                                       FMD
*         FMD977 - PROCESS ERRORS.                                       FMD
*         FMD978 - PROCESS ERRORS.                                       FMD
*         FMD979 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96A - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98E - ISOLATE READY AND SAFE FAULT.
*         FHD973 - PROCESS RETRY COUNT. 
*         FHD974 - PROCESS ERRORS.
*         FHD975 - PROCESS ERRORS.
*         FHD976 - PROCESS ERRORS.
*         FHD977 - PROCESS ERRORS.
*         FHD978 - PROCESS ERRORS.
*         FHD979 - PROCESS ISOLATION INFORMATION. 
*         FHD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*          FLD98B - PROCESS PRODUCT OVERLAY ERRORS. 
*          FLD98E - ISOLATE READY AND SAFE FAULT. 
*          FLD973 - PROCESS RETRY COUNT.
*          FLD974 - PROCESS ERRORS. 
*          FLD975 - PROCESS ERRORS. 
*          FLD976 - PROCESS ERRORS. 
*          FLD977 - PROCESS ERRORS. 
*          FLD978 - PROCESS ERRORS. 
*          FLD979 - PROCESS ISOLATION INFORMATION.
*          FLD96A - PROCESS ISOLATION INFORMATION.
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - LOWER BITS OF NUMBER OF RANDOM SEEKS.            FMD
*         B6 REGISTER - UPPER BITS OF NUMBER OF RANDOM SEEKS.            FMD
*         B7 REGISTER - RANDOM CYLINDER NUMBER.                          FMD
*         B8 REGISTER - RANDOM TRACK NUMBER.                             FMD
*         B9 REGISTER - RANDOM SECTOR NUMBER.                            FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(00-34) - RANDOM NUMBERS FOR SEEKS.                          FMD
*IF DEF,LSFMD,1 
*         OB(35-36) - SECTOR SIZE AND ABORT INDEX 
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*         SB(32-64) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD50 - RANDOM READ TEST                                       FMD
2  FORMAT FMD50 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD50 - *DECD ERRORS                                           FMD
4  FORMAT FMD50 - C=*OCT H=*OCT S=*OCT                                   FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD50 - RANDOM READ TEST
2  FORMAT FHD50 - EC *DECD, LC = *DECD
3  FORMAT FHD50 - *DECD ERRORS
4  FORMAT FHD50 - C=*OCT H=*OCT S=*OCT
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD50 - RANDOM READ TEST
2  FORMAT FLD50 - EC *DECD, LC = *DECD
3  FORMAT FLD50 - *DECD ERRORS
4  FORMAT FLD50 - C=*OCT H=*OCT S=*OCT
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSROT=1600               FMD
   EQUATE DSV=40, OTRK=1000, RTZ=111                                     FMD
*                                                                        FMD
/         RANDOM NUMBER GENERATOR CONSTANTS.                             FMD
*                                                                        FMD
   DATA (OB,CON) 2075,3415,5730,6143                                     FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
*IF DEF,LSFMD,1 
   OB(35) = 0                     *LARGE SEC
   IF(P6 EQ 0) OB=RT         *IF NO SEED VALUE                           FMD
   IF(P6 NE 0) OB=P6         *SEED VALUE EQUALS P6                       FMD
*                                                                        FMD
/         SET COUNTERS B5 AND B6 FOR NUMBER OF SEEKS TO DO.              FMD
*                                                                        FMD
   B5=200D                   *SET B5 FOR 200D SEEKS                      FMD
   B6=0                      *SET B6 FOR 200D SEEKS                      FMD
   IF(P9 NE 0)B5=P9 LS 3     *IF P9 CONTAINS THE SEEK NUMBER             FMD
   IF(P9 NE 0)B6=P9 RS 11                                                FMD
*                                                                        FMD
/         CONNECT TO CONTROLLER AND SEEK 25D TIMES.                      FMD
*                                                                        FMD
24 GOSUB 70                  *GENERATE RANDOM CYLINDER ADD.              FMD
   B7=B0 AND 1777                                                        FMD
   IF(B7 GT 1512) GOTO 24    *IF ADDRESS TOO LARGE                       FMD10
26 GOSUB 70                  *GENERATE RANDOM HEAD ADDRESS               FMD
   B8=B0 AND 77                                                          FMD
*IF DEF,SFMD
   IF(B8 GT 47) GOTO 26      *IF ADDRESS TOO LARGE                       FMD10
*ENDIF
*IF DEF,PFMD
   IF(B8 GT 11) GOTO 26      *IF ADDRESS TOO LARGE
*ENDIF
*IF DEF,LSFMD 
   IF(B8 GT 47) GOTO 26       *IF ADDRESS TO LARGE
*ENDIF
30 GOSUB 70                  *GENERATE RANDOM SECTOR ADDRESS             FMD
   B9=B0 AND 77                                                          FMD
*IF DEF,LSFMD,1 
   IF(B9 GT 07) GOTO 30 
*IF -DEF,LSFMD,1
   IF(B9 GT 37) GOTO 30      *IF ADDRESS TOO LARGE                       FMD10
*                                                                        FMD
/         CONNECT TO CONTROLLER.                                         FMD
*                                                                        FMD
32 RES,DRIVE,ABT 54             *CONNECT TO CONTROLLER/DRIVE             FMD
   IF(SB NE 2)GOTO 34            *IF DRIVE NOT OFF CYLINDER              FMD18
   DELAY,8D MSEC                   *DELAY FOR ON CYLINDER                FMD18
   STATUS,DETAIL,ABT 74              *GET DETAILED STATUS                FMD18
34 IF(SB(9) AND DSR EQ 0)ERROR 10/0 GOTO 74  *SELECT ERROR               FMD
   IF(SB(9) AND DRS EQ 0) GOTO 72          *READY/SAFE ERROR             FMD
   IF(SB(9) AND OTRK EQ 0)ERROR 12/1 GOTO 74  *OFF CYLINDER              FMD
*                                                                        FMD
/         SEEK TO RANDOM CYLINDER ON THE DRIVE.                          FMD
*                                                                        FMD
   SEEK,CYL B7,TRK B8,SEC B9,ABT 56     *SEEK TO CYLINDER                FMD
   STATUS,DETAIL,ABT 74                 *GET DETAILED STATUS             FMD
36 IF(SB(9)AND DSV EQ 0)ERROR 13/2 GOTO 74  *STATUS VALID                FMD
   IF(SB(9) AND DRS EQ 0) GOTO 72          *READY/SAFE ERROR             FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 24/7 GOTO 74  *OFF CYLINDER               FMD
*                                                                        FMD
/         READ THE RANDOM CYLINDER, TRACK, AND SECTOR.                   FMD
*                                                                        FMD
   B4=1                             *SECTOR COUNT                        FMD
*IF DEF,LSFMD 
   CALL 50A 
   IF(OB(36).EQ.1) GOTO 60
   IF(OB(36).EQ.2) GOTO 54
*ENDIF
*IF -DEF,LSFMD,2
   MSG 4 (B7,B8,B9) TO DISPLAY      *DISPLAY RUNNING MESSAGE             FMD
   READCW B4 SECTORS AT CYL B7,TRK B8,SEC B9,ABT 60  *READ               FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
40 IF(ES AND RC EQ 0) GOTO 42   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   GOTO 32                      *REPEAT CONDITION                        FMD
42 IF(B5 EQ 0) GOTO 44          *IF LOWER CONTER IS ZERO                 FMD
   GOTO 24 WHILE(B5-1 NE 7777)  *UPDATE COUNTER AND LOOP                 FMD
44 B5=7777                      *RESET LOWER COUNTER                     FMD
   GOTO 24 WHILE(B6-1 NE 7776)  *UPDATE COUNTER AND LOOP                 FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=1                         *CONDITION NUMBER 2                     FMD
   REL,ABT 74                    *RELEASE CONTROLLER AND FMD             FMD
50 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
54 IF(EC AND 77 NE 25)GOTO 74      *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DSROT NE DSROT)GOTO 34  *STATUS ERROR                     FMD
   GOTO 74                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
56 IF(EC AND 77 NE 25) GOTO 74     *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DSROT NE DSROT)GOTO 36  *STATUS ERROR                     FMD
   GOTO 74                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON READ COMMAND.                                 FMD
*                                                                        FMD
60 IF(EC AND 77 EQ 25) GOTO 62      *IF GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 74      *IF NOT SUCCESSFUL RETRY             FMD
62 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25            *IF RETRY ATTEMPTED                  FMD
   IF(SB(B4+21)AND 1 EQ 0) GOTO 66  *NOT ADDRESS FIELD                   FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 72  *READ/SAFE ERROR                     FMD
   IF(SB(5)AND 6000 NE 0) GOTO 40   *IF SECTOR FLAWED                    FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 16/4 GOTO 64  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 20/5 GOTO 64    *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 EQ 0)GOTO 74          *NOT CHECKWORD              FMD
   ERROR 22/6                            *ADDRESS CHECKWORD              FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED WHILE READING THE SECTOR.              FMD
*                                                                        FMD
64 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=50D                       *MODULE NUMBER                           FMD
   IF(ES AND SL EQ 0)CALL 974   *IF NO SCOPING LOOP                      FMD
   IF(ES AND SL EQ 0)CALL 973    *IF NO SCOPING LOOP                     FMD
   GOTO 74                         *GO TO REPORT NEXT ERROR              FMD
66 IF(SB(B4+21)AND 2 NE 0)GOTO 40   *IGNORE DATA FIELD ERROR             FMD
   GOTO 74                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         RANDOM NUMBER GENERATOR.                                       FMD
*                                                                        FMD
70 B0=OB                     *SAVE NUMBER GENERATED                      FMD
   OB=OB+OB(1)               *GENERATE NEXT RANDOM NUMBER                FMD
   OB(1)=OB(1)+OB(2)                                                     FMD
   OB(2)=OB(2)+OB(3)                                                     FMD
   OB(3)=OB(3)+OB                                                        FMD
   RETURN                    *EXIT THE SUBROUTINE                        FMD
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
72 STATUS,DETAIL,ABT 74         *GET DETAILED STATUS                     FMD
   IF(ES AND SL EQ 0)CALL 98E   *IF NO SCOPING LOOP                      FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
74 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=50D                       *MODULE NUMBER                           FMD
   IF(ES AND SL EQ 0)CALL 974   *IF NO SCOPING LOOP                      FMD
   IF(B13 EQ 1)ENDSUB GOTO 50   *IF CONDITION 1                          FMD
   ENDSUB GOTO 40               *CONDITION 0                             FMD
   END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,LSFMD 
   MODULE FLD50A,LSFMD1,(16),LOCK 
**
* 
*         PURPOSE-
* 
*         FLD50A WILL CHECK THE SECTOR SIZE INDEX, THEN IT TRIES TO 
*         DO A LARGE SECTOR READ CHECKWORD, IF SUCCESSFULL IT WILL
*         EXIT TO PRIMARY MODULE AND CONTINUE NORMALLY IN THE 
*         PRIMARY;  IF NOT SUCCESSFULL IT WILL TRY TO DO A SMALL
*         SECTOR READ CHECWORD, THEN IT WILL EXIT TO PRIMARY MODULE.
* 
* 
*         METHOD- 
* 
*         1.  TEST FOR LARGE SECTOR INDEX;  IF NOT LARGE SECTOR, RESET
*             EVERY THING TO LARGE SECTOR.
*         2.  ATTEMPT A LARGE SECTOR READ CHECKWORD IF SUCCESSFULL
*             EXIT TO PRIMARY MODULE. 
*         3.  IF STEP 2 WAS NOT SUCCESSFUL, RESET SECTOR ADDRESS TO 
*             SMALL AND DO A SMALL SECTOR READ CHECKWORD. 
*         4.  EXIT TO PRIMARY MODULE AND CONTINUE NORMALLY. 
/ 
* 
* 
*         SUBMODULES REFERENCED-
* 
*         NONE
* 
* 
*         REGISTERS USED- 
* 
*         B1 = TEMPORARY STORAGE
*         OB(35) = SECTOR SIZE INDEX
*         OB(36) = ABORT INDEX
* 
1  FORMAT FLD50 - C=*OCT H=*OCT S=*OCT
2  FORMAT LARGE SECTOR READ CHECKWORD ATTEMPTED 
3  FORMAT SMALL SECTOR READ CHECKWORD ATTEMPTED 
* 
/                  MODULE INITILIZATION 
* 
20 OB(36) = 0                    INITILIZE THE ABORT INDEX
* 
/                  MODULE TEST
* 
   RES,DRIVE,ABT 35 
   IF(OB(35).EQ.0) GOTO 25               *IF LARGE SEC. 
   OB(35) = 0                           *RESET TO LARGE SEC. INDEX
   B4 = 1                           *NUMBER OF LARGE SEC. 
25 MSG 2 TO LINE 45 
   MSG 1(B7,B8,B9) TO DISPLAY 
   READCW B4 SEC AT CYL B7,TRK B8,SEC B9, ABT 27
   EXIT                      *EXIT TO PRIMARY MODULE
27 OB(35) = 1                    *SMALL SEC. INDEX
   B1=B9
   B4=4                      *NUMBER OF SMALL SEC 
   B9=B9.LS.2                *ADD. OF SMALL SEC.
   MSG 3 TO LINE 45 
   MSG 1 (B7,B8,B9) TO DISPLAY     *DISPLAY RUNNING MSG 
   READCW B4 SM SEC AT CYL B7 TRK B8 SEC B9, ABT 31 
   B9=B1
   GOTO 33
31 OB(36) = 1 
   B9=B1
33 EXIT 
35 OB(36)=2 
   EXIT 
   END 20 
COMPILE 
*ENDIF
*IF DEF,SFMD
   MODULE FMD51,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD51,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD51,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.51 COMPARE DATA FIELD                                            FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD51 VERIFIES THAT THE ADDRESS AND DATA FIELDS OF CYLINDER    FMD
*ENDIF
*IF DEF,PFMD
*         FHD51 VERIFIES THAT THE ADDRESS AND DATA FIELDS OF CYLINDER 
*ENDIF
*IF DEF,LSFMD 
*         FLD51 VERIFIES THAT THE ADDRESS AND DATA FIELDS OF CYLINDER 
*ENDIF
*         1511 OCTAL CAN BE READ WITHOUT ANY ERRORS. THE DATA READ FROM  FMD
*         THE DATA FIELD WILL BE CHECKED. ALL SELECTED SECTORS WILL BE   FMD
*         READ ON TRACK 3 OR THE FIRST TRACK SELECTED.                   FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED, READY AND SAFE, AND       FMD06
*             ON CYLINDER STATUSES ARE ACTIVE.                           FMD
*         2.  ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS. VERIFY THAT STATUS VALID, READY AND  FMD
*             SAFE, AND ON CYLINDER STATUSES ARE ACTIVE.                 FMD
*         3.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED, READY AND SAFE, AND       FMD06
*             ON CYLINDER STATUSES ARE ACTIVE.                           FMD
*         4.  ISSUE A SEEK (49) COMMAND TO THE DRIVE TO SEEK TO CYLINDER FMD
*             1511. WAIT FOR THE SEEK TO COMPLETE AND VERIFY THAT STATUS FMD
*             VALID, READY AND SAFE, AND ON CYLINDER STATUSES ARE        FMD
*             ACTIVE.                                                    FMD
*         5.  READ A SECTOR ON CYLINDER 1511 AND VERIFY THAT READY AND   FMD
*             SAFE IS ACTIVE, THE SYNC BYTE WAS FOUND, AN ADDRESS        FMD
*             COMPARE OCCURED, AND THERE WAS NOT ECC ERROR IN THE        FMD
*             ADDRESS. VERIFY THAT THE SYNC BYTE WAS FOUND, THE DATA WAS FMD
*             CORRECT AND THERE WAS NO EEC ERROR IN THE DATA FIELD.      FMD
*         6.  REPEAT STEP 5 FOR ALL SECTORS SELECTED IN PARAMETER        FMD
*             WORD 3.                                                    FMD
*         7.  RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         PARAMETER WORD P2 CONTAINS THE UPPER AND LOWER TRACK NUMBERS.  FMD
*         PARAMETER WORD P3 CONTAINS THE UPPER AND LOWER SECTOR NUMBERS. FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98F - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD96B - PROCESS RETRY COUNT.                                  FMD
*         FMD96C - PROCESS ERRORS.                                       FMD
*         FMD96D - PROCESS ERRORS.                                       FMD
*         FMD96E - PROCESS ERRORS.                                       FMD
*         FMD96F - PROCESS ERRORS.                                       FMD
*         FMD96G - PROCESS ERRORS.                                       FMD
*         FMD96H - PROCESS ERRORS.                                       FMD
*         FMD96I - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96J - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98F - ISOLATE READY AND SAFE FAULT.
*         FHD96B - PROCESS RETRY COUNT. 
*         FHD96C - PROCESS ERRORS.
*         FHD96D - PROCESS ERRORS.
*         FHD96E - PROCESS ERRORS.
*         FHD96F - PROCESS ERRORS.
*         FHD96G - PROCESS ERRORS.
*         FHD96H - PROCESS ERRORS.
*         FHD96I - PROCESS ISOLATION INFORMATION. 
*         FHD96J - PROCESS ISOLATION INFORMATION. 
*         FHD96K - PROCESS ISOLATION INFORMATION. 
*         FHD96Y - PROCESS ISOLATION INFORMATION. 
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98E - ISOLATE READY AND SAFE FAULT.
*         FLD973 - PROCESS RETRY COUNT
*         FLD974 - PROCESS ERRORS.
*         FLD975 - PROCESS ERRORS.
*         FLD976 - PROCESS ERRORS.
*         FLD977 - PROCESS ERRORS.
*         FLD978 - PROCESS ERRORS.
*         FLD979 - PROCESS ISOLATION INFORMATION. 
*         FLD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - LOWER CYLINDER NUMBER.                           FMD
*         B8 REGISTER - LOWER TRACK NUMBER.                              FMD
*         B9 REGISTER - LOWER SECTOR NUMBER.                             FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - UPPER TRACK NUMBER PLUS ONE.                    FMD
*         B12 REGISTER - UPPER SECTOR NUMBER PLUS ONE.                   FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*IF DEF,SFMD
*         OB(00-501) - COMPARE DATA BUFFER.                              FMD
*         IB(00-501) - INPUT DATA BUFFER.                                FMD
*ENDIF
*IF DEF,PFMD
*         OB(00-503) - COMPARE DATA BUFFER. 
*         IB(00-503) - INPUT DATA BUFFER. 
*ENDIF
*IF DEF,LSFMD 
*         OB(00-503) - COMPARE DATA BUFFER. 
*         IB(00-503) - INPUT DATA BUFFER
*ENDIF
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*         SB(32-64) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD51 - COMPARE DATA FIELD                                     FMD
2  FORMAT FMD51 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD51 - *DECD ERRORS                                           FMD
4  FORMAT FMD51 - C=*OCT T=*OCT S=*OCT                                   FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD51 - COMPARE DATA FIELD
2  FORMAT FHD51 - EC *DECD, LC = *DECD
3  FORMAT FHD51 - *DECD ERRORS
4  FORMAT FHD51 - C=*OCT T=*OCT S=*OCT
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD51 - COMPARE DATA FIELD
2  FORMAT FLD51 - EC *DECD, LC = *DECD
3  FORMAT FLD51 - *DECD ERRORS
4  FORMAT FLD51 - C=*OCT H=*OCT S=*OCT
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSROT=1600               FMD
   EQUATE DSRRS=600, DSV=40, OTRK=1000, RTZ=111                          FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B7=1511                   *CYLINDER NUMBER                            FMD
   B8=P2 RS 6                *LOWER TRACK NUMBER                         FMD
   IF(B8 LT 3)B8=3           *RESET LOWER TRACK NUMBER                   FMD
   B9=P3 RS 6                *LOWER SECTOR NUMBER                        FMD
   B12=P3 AND 77 +1          *UPPER SECTOR NUMBER PLUS ONE               FMD
   B0=0                      *DATA PATTERN FLAG                          FMD
   CALL 98H                  *GENERATE COMPARE DATA BUFFER               FMD
   B13=0                     *SET REPEAT CONDITION FLAG                  FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
24 GOSUB 46                  *CONNECT TO CONTROLLER/DRIVE                FMD
*                                                                        FMD
/         ISSUE A RTZ COMMAND TO THE DRIVE.                              FMD
*                                                                        FMD
   OUT CHANNEL=CH8,0,RTZ,ABT 72      *ISSUE RTZ COMMAND                  FMD
   DELAY,300D MSEC                   *DELAY FOR ON CYLINDER              FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 17/1 GOTO 72  *OFF CYLINDER               FMD
   STATUS,DETAIL,ABT 72              *GET DETAILED STATUS                FMD
   IF(SB(9)AND DSV EQ 0)ERROR 20/2 GOTO 72  *STATUS VALID                FMD
   GOSUB 70                          *READY AND SAFE CHECK               FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 22/3 GOTO 72  *OFF CYLINDER               FMD
26 GOSUB 74                          *CHECK REPEAT CONDITION             FMD
   B13=1                             *CONDITION NUMBER 1                 FMD
*                                                                        FMD
/         CONNECT TO CONTROLLER, SEEK, AND READ ALL SECTORS.             FMD
*                                                                        FMD
30 GOSUB 46                     *CONNECT TO CONTROLLER/DRIVE             FMD
   SEEK CYL B7,TRK B8,SEC,B9,ABT 54   *SEEK TO NEXT CYLINDER             FMD
   STATUS,DETAIL,ABT 72               *GET DETAILED STATUS               FMD
32 IF(SB(9)AND DSV EQ 0)ERROR 20/2 GOTO 72  *STATUS VALID                FMD
   GOSUB 70                           *READY AND SAFE CHECK              FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 23/4 GOTO 72  *OFF CYLINDER               FMD
34 B4=1                               *SECTOR COUNT                      FMD
   MSG 4 (B7,B8,B9) TO DISPLAY      *DISPLAY RUNNING MESSAGE             FMD
   READ B4 SEC AT CYL B7,TRK B8,SEC B9,ABT 56  *READ                     FMD
*IF DEF,SFMD
   OB(3)=B9                                                              FMD
36 B4=502                             *SECTOR WORD COUNT                 FMD
*ENDIF
*IF DEF,PFMD
   OB(502)=B9 
36 B4=504                             *SECTOR WORD COUNT
*ENDIF
*IF DEF,LSFMD 
   OB(502)=B9 
36 B4=502                            *SECTOR WORD COUNT 
*ENDIF
   COMPARE OB TO IB FOR B4,ABT 64     *CHECK DATA BUFFER                 FMD
   GOTO 34 WHILE(B9+1 NE B12)        *LOOP TO DO ALL SECTORS             FMD
40 GOSUB 74                          *CHECK REPEAT CONDITION             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         RESERVE THE CONTROLLER AND FIXED MODULE DRIVE.                 FMD
*                                                                        FMD
46 RES,DRIVE,ABT 52             *CONNECT TO CONTROLLER/DRIVE             FMD
50 IF(SB(9)AND DSR EQ 0)ERROR 15/0 GOTO 72  *SELECT ERROR                FMD
   GOSUB 70                            *READY AND SAFE CHECK             FMD
   RETURN                              *EXIT THE SUBROUTINE              FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
52 IF(EC AND 77 NE 25)GOTO 72      *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DSRRS NE DSRRS)GOTO 50  *STATUS ERROR                     FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON SEEK COMMAND.                                 FMD
*                                                                        FMD
54 IF(EC AND 77 LT 25) GOTO 72    *NOT GENERAL STATUS ERROR              FMD
   IF(SB(9)AND DRSVOT NE DRSVOT)GOTO 32  *STATUS ERROR                   FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON READ COMMAND.                                 FMD
*                                                                        FMD
56 IF(EC AND 77 EQ 25) GOTO 60      *IF GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72      *IF NOT SUCCESSFUL RETRY             FMD
60 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25            *IF RETRY ATTEMPTED                  FMD
   GOSUB 70                         *READY AND SAFE CHECK                FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 62   *NOT ADDRESS FIELD ERROR             FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
62 IF(SB(B4+21)AND 2 EQ 0)GOTO 72    *NOT DATA FIELD ERROR               FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 5/8 GOTO 66  *SYNC BYTE
   IF(SB(B4+2)AND 1000 NE 0)ERROR 12/12 GOTO 66  *CHECKWORD              FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON COMPARE ERROR.                                FMD
*                                                                        FMD
64 ERROR 7/11 GOTO 72                *REPORT COMPARE ERROR               FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED WHILE READING THE SECTOR.              FMD
*                                                                        FMD
66 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=51D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96C   *IF NO SCOPING LOOP                     FMD
   IF(ES AND SL EQ 0) CALL 96B   *IF NO SCOPING LOOP                     FMD
   GOTO 72                       *GO TO REPORT NEXT ERROR                FMD
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 IF(SB(9)AND DRS NE 0)RETURN   *READY AND SAFE ACTIVE                  FMD
   IF(ES AND SL EQ 0) CALL 98F   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=51D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96C   *IF NO SCOPING LOOP                     FMD
   IF(B13 EQ 0) ENDSUB GOTO 26   *IF CONDITION 0                         FMD
   IF(B13 EQ 1) ENDSUB GOTO 40   *IF CONDITION 1                         FMD
   ENDSUB GOTO 42                *CONDITION 2                            FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76    *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                     *INCREASE LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY    *DISPLAY RC MESSAGE                     FMD
   IF(B13 EQ 0) ENDSUB GOTO 24   *REPEAT CONDITION 0                     FMD
   ENDSUB GOTO 30                *REPEAT CONDITION 1                     FMD
76 IF(B13 EQ 1)RETURN            *IF CONDITION 1                         FMD
   MSG 1 TO DISPLAY              *DISPLAY RUNNING MESSAGE                FMD
   RETURN                        *EXIT THE SUBROUTINE                    FMD
   END 20                        *END OF THE MODULE                      FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD52,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD52,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD52,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.52 WRITE/READ TEST                                               FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD52 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL  FMD
*ENDIF
*IF DEF,PFMD
*         FHD52 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL 
*ENDIF
*IF DEF,LSFMD 
*         FLD52 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL 
*ENDIF
*         CAN BE READ WITHOUT ANY ERRORS WHEN NO MARGINS ARE SELECTED.   FMD
*         THE DATA FIELD WILL BE WRITTEN AND READ TWICE USING TWO DATA   FMD
*         PATTERNS. ALL SELECTED SECTORS AND TRACKS WILL USED.           FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C E36C HEX. FMD
*         2.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  WRITE A SECTOR ON CYLINDER 1512 OCTAL ON THE FIXED MODULE  FMD06
*             DRIVE. IF AN ERROR IS DETECTED DURING THE WRITE OPERATION, FMD06
*             VERIFY THAT READY AND SAFE IS ACTIVE, THE SYNC BYTE WAS    FMD06
*             FOUND, AN ADDRESS COMPARED OCCURRED, AND THERE WAS NOT ECC FMD06
*             ERROR.                                                     FMD06
*         4.  READ THE SECTOR JUST WRITTEN AND VERIFY THAT READY AND     FMD
*             SAFE IS ACTIVE, THE SYNC BYTE WAS FOUND, AN ADDRESS        FMD
*             COMPARE OCCURED, AND THERE WAS NOT ECC ERROR IN THE        FMD
*             ADDRESS. VERIFY THAT THE SYNC BYTE WAS FOUND, THE DATA WAS FMD
*             CORRECT, AND THERE WAS NO EEC ERROR IN THE DATA FIELD.     FMD
*         5.  REPEAT STEPS 3 AND 4 FOR ALL SECTORS SELECTED IN PARAMETER FMD
*             WORD 3.                                                    FMD
*         6.  REPEAT STEPS 2, 3, 4, AND 5 FOR ALL TRACKS SELECTED IN     FMD
*             PARAMETER WORD 2.                                          FMD
*         7.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C AAAA HEX. FMD
*         8.  REPEAT STEPS 2, 3, 4, 5, AND 6 USING THIS DATA PATTERN.    FMD
*         9.  RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         PARAMETER WORD P2 CONTAINS THE UPPER AND LOWER TRACK NUMBERS.  FMD
*         PARAMETER WORD P3 CONTAINS THE UPPER AND LOWER SECTOR NUMBERS. FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98F - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD96B - PROCESS RETRY COUNT.                                  FMD
*         FMD96C - PROCESS ERRORS.                                       FMD
*         FMD96D - PROCESS ERRORS.                                       FMD
*         FMD96E - PROCESS ERRORS.                                       FMD
*         FMD96F - PROCESS ERRORS.                                       FMD
*         FMD96G - PROCESS ERRORS.                                       FMD
*         FMD96H - PROCESS ERRORS.                                       FMD
*         FMD96I - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96J - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98F - ISOLATE READY AND SAFE FAULT.
*         FHD96B - PROCESS RETRY COUNT. 
*         FHD96C - PROCESS ERRORS.
*         FHD96D - PROCESS ERRORS.
*         FHD96E - PROCESS ERRORS.
*         FHD96F - PROCESS ERRORS.
*         FHD96G - PROCESS ERRORS.
*         FHD96H - PROCESS ERRORS.
*         FHD96I - PROCESS ISOLATION INFORMATION. 
*         FHD96J - PROCESS ISOLATION INFORMATION. 
*         FHD96K - PROCESS ISOLATION INFORMATION. 
*         FHD96Y - PROCESS ISOLATION INFORMATION. 
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98E - ISOLATE READY AND SAFE FAULT.
*         FLD973 - PROCESS RETRY COUNT
*         FLD974 - PROCESS ERRORS.
*         FLD975 - PROCESS ERRORS.
*         FLD976 - PROCESS ERRORS.
*         FLD977 - PROCESS ERRORS.
*         FLD978 - PROCESS ERRORS.
*         FLD979 - PROCESS ISOLATION INFORMATION. 
*         FLD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - LOWER CYLINDER NUMBER.                           FMD
*         B8 REGISTER - LOWER TRACK NUMBER.                              FMD
*         B9 REGISTER - LOWER SECTOR NUMBER.                             FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - UPPER TRACK NUMBER PLUS ONE.                    FMD
*         B12 REGISTER - UPPER SECTOR NUMBER PLUS ONE.                   FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*IF DEF,PFMD
*         OB(00-503) - WRITE DATA BUFFER. 
*         IB(00-503) - READ DATA BUFFER.
*ENDIF
*IF DEF,LSFMD 
*         OB(00-501) - WRITE DATA BUFFER
*         IB(00-501) - READ DATA BUFFER 
*ENDIF
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*         SB(32-64) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD52 - WRITE/READ TEST                                        FMD
2  FORMAT FMD52 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD52 - *DECD ERRORS                                           FMD
4  FORMAT FMD52 - C=*OCT T=*OCT S=*OCT                                   FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD52 - WRITE/READ TEST 
2  FORMAT FHD52 - EC *DECD, LC = *DECD
3  FORMAT FHD52 - *DECD ERRORS
4  FORMAT FHD52 - C=*OCT T=*OCT S=*OCT
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD52 - WRITE/READ TEST 
2  FORMAT FLD52 - EC *DECD, LC = *DECD
3  FORMAT FLD52 - *DECD ERRORS
4  FORMAT FLD52 - C=*OCT H=*OCT S=*OCT
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSROT=1600               FMD
   EQUATE DSRRS=600, DSV=40, OTRK=1000, RTZ=111                          FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B7=1512                   *LOWER CYLINDER NUMBER                      FMD
   B11=P2+1 AND 77           *UPPER TRACK NUMBER                         FMD
   B12=P3+1 AND 77           *UPPER SECTOR NUMBER                        FMD
24 B8=P2 RS 6                *LOWER TRACK NUMBER                         FMD
   B9=P3 RS 6                *LOWER SECTOR NUMBER                        FMD
   B0=B13 OR 1               *DATA PATTERN FLAG                          FMD
   CALL 98H                  *GENERATE COMPARE DATA BUFFER               FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
26 RES,DRIVE,ABT 44             *CONNECT TO CONTROLLER/DRIVE             FMD
30 IF(SB(9)AND DSR EQ 0)ERROR 15/0 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   B9=P3 RS 6                          *LOWER SECTOR NUMBER              FMD
*                                                                        FMD
/         WRITE AND READ ALL TRACKS ON CYLINDER 842.                     FMD
*                                                                        FMD
32 B4=1                             *SECTOR COUNT                        FMD
   MSG 4 (B7,B8,B9) TO DISPLAY      *DISPLAY RUNNING MESSAGE             FMD
   WRITE B4 CODED SEC AT CYL B7,TRK B8,SEC B9,ABT 46  *WRITE             FMD
   B4=1                             *SECTOR COUNT                        FMD
   READ B4 SEC AT CYL B7,TRK B8,SEC B9,ABT 52   *READ                    FMD
*IF DEF,SFMD
   B4=502                           *SECTOR WORD COUNT                   FMD
*ENDIF
*IF DEF,PFMD
   B4=504                           *SECTOR WORD COUNT
*ENDIF
*IF DEF,LSFMD 
   B4=502                           *SECTOR WORD COUNT
*ENDIF
   COMPARE OB TO IB FOR B4,ABT 60   *CHECK DATA BUFFER                   FMD
34 GOSUB 74                         *CHECK REPEAT CONDITION              FMD
   GOTO 32 WHILE(B9+1 NE B12)       *LOOP TO DO ALL SECTORS              FMD
   GOTO 26 WHILE(B8+1 NE B11)       *LOOP TO DO ALL TRACKS               FMD
   GOTO 24 WHILE(B13+1 NE 2)        *DO TWO DATA PATTERNS                FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
36 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
44 IF(EC AND 77 NE 25) GOTO 72    *NOT GENERAL STATUS ERROR              FMD
   IF(SB(9)AND DSRRS NE DSRRS)GOTO 30  *STATUS ERROR                     FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON WRITE COMMAND.                                FMD
*                                                                        FMD
46 IF(EC AND 77 EQ 25) GOTO 50         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
50 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25               *IF RETRY ATTEMPTED               FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 72        *NOT ADDRESS FIELD              FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON READ COMMAND.                                 FMD
*                                                                        FMD
52 IF(EC AND 77 EQ 25) GOTO 54         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
54 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25               *IF RETRY ATTEMPTED               FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 56      *NOT ADDRESS FIELD                FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
56 IF(SB(B4+21)AND 2 EQ 0) GOTO 72  *NOT DATA FIELD ERROR                FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 5/8 GOTO 66  *SYNC BYTE
   IF(SB(B4+2)AND 1000 NE 0)ERROR 12/12 GOTO 66  *CHECKWORD              FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON COMPARE ERROR.                                FMD
*                                                                        FMD
60 ERROR 7/11 GOTO 72        *REPORT THE DATA COMPARE ERROR              FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED WHILE READING THE SECTOR.              FMD
*                                                                        FMD
66 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=52D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 96C    *IF NO SCOPING LOOP                    FMD
   IF(ES AND SL EQ 0) CALL 96B    *IF NO SCOPING LOOP                    FMD
   GOTO 73                        *GO TO END PROCESSING OF ERROR
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98F   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=52D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96C   *IF NO SCOPING LOOP                     FMD
73 IF(B13.EQ.2) ENDSUB GOTO 36   *IF CONDITION 2
   RES,DRIVE, ABT 44             *CONNECT TO CONTROLLER/DRIVE 
   ENDSUB GOTO 34                *CONDITIONS 0 OR 1                      FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0)RETURN      *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                     *INCREASE LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY    *DISPLAY RC MESSAGE                     FMD
   ENDSUB GOTO 26                *REPEAT CONDITION 1                     FMD
   END 20                        *END OF THE MODULE                      FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD53,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD53,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD53,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.53 W/R LATE STROBE                                               FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD53 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL  FMD
*ENDIF
*IF DEF,PFMD
*         FHD53 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL 
*ENDIF
*IF DEF,LSFMD 
*         FLD53 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL 
*ENDIF
*         CAN BE READ WITHOUT ANY ERRORS WHEN LATE STROBE MARGINS ARE    FMD
*         SELECTED. THE DATA FIELD WILL BE WRITTEN AND READ TWICE USING  FMD
*         TWO DATA PATTERNS. ALL SELECTED SECTORS AND TRACKS WILL USED.  FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C E36C HEX. FMD
*         2.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  WRITE A SECTOR ON CYLINDER 1512 OCTAL ON THE FIXED MODULE  FMD06
*             DRIVE. IF AN ERROR IS DETECTED DURING THE WRITE OPERATION, FMD06
*             VERIFY THAT READY AND SAFE IS ACTIVE, THE SYNC BYTE WAS    FMD06
*             FOUND, AN ADDRESS COMPARED OCCURRED, AND THERE WAS NOT ECC FMD06
*             ERROR.                                                     FMD06
*         4.  ENABLE FORWARD LATE STROBE MARGINS IN THE FIXED MODULE     FMD
*             DRIVE.                                                     FMD
*         5.  READ THE SECTOR JUST WRITTEN AND VERIFY THAT READY AND     FMD
*             SAFE IS ACTIVE, THE SYNC BYTE WAS FOUND, AN ADDRESS        FMD
*             COMPARE OCCURED, AND THERE WAS NOT ECC ERROR IN THE        FMD
*             ADDRESS. VERIFY THAT THE SYNC BYTE WAS FOUND, THE DATA WAS FMD
*             CORRECT, AND THERE WAS NO EEC ERROR IN THE DATA FIELD.     FMD
*         6.  REPEAT STEPS 3 AND 4 FOR ALL SECTORS SELECTED IN PARAMETER FMD
*             WORD 3.                                                    FMD
*         7.  REPEAT STEPS 2, 3, 4, AND 5 FOR ALL TRACKS SELECTED IN     FMD
*             PARAMETER WORD 2.                                          FMD
*         8.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C AAAA HEX. FMD
*         9.  REPEAT STEPS 2, 3, 4, 5, AND 6 USING THIS DATA PATTERN.    FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         PARAMETER WORD P2 CONTAINS THE UPPER AND LOWER TRACK NUMBERS.  FMD
*         PARAMETER WORD P3 CONTAINS THE UPPER AND LOWER SECTOR NUMBERS. FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98F - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD96B - PROCESS RETRY COUNT.                                  FMD
*         FMD96C - PROCESS ERRORS.                                       FMD
*         FMD96D - PROCESS ERRORS.                                       FMD
*         FMD96E - PROCESS ERRORS.                                       FMD
*         FMD96F - PROCESS ERRORS.                                       FMD
*         FMD96G - PROCESS ERRORS.                                       FMD
*         FMD96H - PROCESS ERRORS.                                       FMD
*         FMD96I - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96J - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98F - ISOLATE READY AND SAFE FAULT.
*         FHD96B - PROCESS RETRY COUNT. 
*         FHD96C - PROCESS ERRORS.
*         FHD96D - PROCESS ERRORS.
*         FHD96E - PROCESS ERRORS.
*         FHD96F - PROCESS ERRORS.
*         FHD96G - PROCESS ERRORS.
*         FHD96H - PROCESS ERRORS.
*         FHD96I - PROCESS ISOLATION INFORMATION. 
*         FHD96J - PROCESS ISOLATION INFORMATION. 
*         FHD96K - PROCESS ISOLATION INFORMATION. 
*         FHD96Y - PROCESS ISOLATION INFORMATION. 
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98E - ISOLATE READY AND SAFE FAULT.
*         FLD973 - PROCESS RETRY COUNT
*         FLD974 - PROCESS ERRORS.
*         FLD975 - PROCESS ERRORS.
*         FLD976 - PROCESS ERRORS.
*         FLD977 - PROCESS ERRORS.
*         FLD978 - PROCESS ERRORS.
*         FLD979 - PROCESS ISOLATION INFORMATION. 
*         FLD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - LOWER CYLINDER NUMBER.                           FMD
*         B8 REGISTER - LOWER TRACK NUMBER.                              FMD
*         B9 REGISTER - LOWER SECTOR NUMBER.                             FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - UPPER TRACK NUMBER PLUS ONE.                    FMD
*         B12 REGISTER - UPPER SECTOR NUMBER PLUS ONE.                   FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*IF DEF,SFMD
*         OB(00-501) - WRITE DATA BUFFER.                                FMD
*         IB(00-501) - READ DATA BUFFER.                                 FMD
*ENDIF
*IF DEF,PFMD
*         OB(00-503) - WRITE DATA BUFFER. 
*         IB(00-503) - READ DATA BUFFER.
*ENDIF
*IF DEF,LSFMD 
*         OB(00-501) - WRITE DATA BUFFER
*         IN(00-501) - READ DATA BUFFER 
*ENDIF
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*         SB(32-64) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD53 - W/R LATE STROBE                                        FMD
2  FORMAT FMD53 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD53 - *DECD ERRORS                                           FMD
4  FORMAT FMD53 - C=*OCT T=*OCT S=*OCT                                   FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD53 - W/R LATE STROBE 
2  FORMAT FHD53 - EC *DECD, LC = *DECD
3  FORMAT FHD53 - *DECD ERRORS
4  FORMAT FHD53 - C=*OCT T=*OCT S=*OCT
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD53 - W/R LATE STROBE 
2  FORMAT FLD53 - EC *DECD, LC = *DECD
3  FORMAT FLD53 - *DECD ERRORS
4  FORMAT FLD53 - C=*OCT H=*OCT S=*OCT
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSROT=1600               FMD
   EQUATE DSRRS=600, DSV=40, OTRK=1000, RTZ=111                          FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B7=1512                   *LOWER CYLINDER NUMBER                      FMD
   B11=P2+1 AND 77           *UPPER TRACK NUMBER                         FMD
   B12=P3+1 AND 77           *UPPER SECTOR NUMBER                        FMD
24 B8=P2 RS 6                *LOWER TRACK NUMBER                         FMD
   B9=P3 RS 6                *LOWER SECTOR NUMBER                        FMD
   B0=B13 OR 1               *DATA PATTERN FLAG                          FMD
   CALL 98H                  *GENERATE COMPARE DATA BUFFER               FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
26 RES,DRIVE,ABT 44             *CONNECT TO CONTROLLER/DRIVE             FMD
30 IF(SB(9)AND DSR EQ 0)ERROR 15/0 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   B9=P3 RS 6                          *LOWER SECTOR NUMBER              FMD
*                                                                        FMD
/         WRITE AND READ ALL TRACKS ON CYLINDER 842.                     FMD
*                                                                        FMD
32 B4=1                             *SECTOR COUNT                        FMD
   MSG 4 (B7,B8,B9) TO DISPLAY      *DISPLAY RUNNING MESSAGE             FMD
   WRITE B4 CODED SEC AT CYL B7,TRK B8,SEC B9,ABT 46  *WRITE             FMD
   MARGINS NORMAL OFFSET,LATE STROBES,ABT 72  *SET MARGINS               FMD
   B4=1                             *SECTOR COUNT                        FMD
   READ B4 SEC AT CYL B7,TRK B8,SEC B9,ABT 52   *READ                    FMD
*IF DEF,SFMD
   B4=502                           *SECTOR WORD COUNT                   FMD
*ENDIF
*IF DEF,PFMD
   B4=504                           *SECTOR WORD COUNT
*ENDIF
*IF DEF,LSFMD 
   B4=502                         *SECTOR WORD COUNT
*ENDIF
   COMPARE OB TO IB FOR B4,ABT 60   *CHECK DATA BUFFER                   FMD
34 GOSUB 74                         *REPEAT CONDITION CHECK              FMD
   GOTO 32 WHILE(B9+1 NE B12)       *LOOP TO DO ALL SECTORS              FMD
   GOTO 26 WHILE(B8+1 NE B11)       *LOOP TO DO ALL TRACKS               FMD
   GOTO 24 WHILE(B13+1 NE 2)        *DO TWO DATA PATTERNS                FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
36 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
44 IF(EC AND 77 NE 25) GOTO 72    *NOT GENERAL STATUS ERROR              FMD
   IF(SB(9) AND DSRRS NE DSRRS) GOTO 30  *STATUS ERROR                   FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON WRITE COMMAND.                                FMD
*                                                                        FMD
46 IF(EC AND 77 EQ 25) GOTO 50         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
50 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25               *IF RETRY ATTEMPTED               FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 72        *NOT ADDRESS FIELD              FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON READ COMMAND.                                 FMD
*                                                                        FMD
52 IF(EC AND 77 EQ 25) GOTO 54         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
54 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25               *IF RETRY ATTEMPTED               FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 56      *NOT ADDRESS FIELD                FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
56 IF(SB(B4+21)AND 2 EQ 0) GOTO 72  *NOT DATA FIELD ERROR                FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 5/8 GOTO 66  *SYNC BYTE
   IF(SB(B4+2)AND 1000 NE 0)ERROR 12/12 GOTO 66  *CHECKWORD              FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON COMPARE ERROR.                                FMD
*                                                                        FMD
60 ERROR 7/11 GOTO 72        *REPORT THE DATA COMPARE ERROR              FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED WHILE READING THE SECTOR.              FMD
*                                                                        FMD
66 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=53D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 96C    *IF NO SCOPING LOOP                    FMD
   IF(ES AND SL EQ 0) CALL 96B    *IF NO SCOPING LOOP                    FMD
   GOTO 73                        *GO TO END PROCESSING OF ERROR
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98F   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=53D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96C   *IF NO SCOPING LOOP                     FMD
73 IF(B13.EQ.2) ENDSUB GOTO 36   *IF CONDITION 2
   RES,DRIVE, ABT 44             *CONNECT TO CONTROLLER/DRIVE 
   ENDSUB GOTO 34                *CONDITIONS 0 OR 1                      FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0)RETURN      *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                     *INCREASE LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY    *DISPLAY RC MESSAGE                     FMD
   ENDSUB GOTO 26                *REPEAT CONDITION 1                     FMD
   END 20                        *END OF THE MODULE                      FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD54,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD54,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD54,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.54 W/R EARLY STROBE                                              FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD54 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL  FMD
*ENDIF
*IF DEF,PFMD
*         FHD54 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL 
*ENDIF
*IF DEF,LSFMD 
*         FLD54 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL 
*ENDIF
*         CAN BE READ WITHOUT ANY ERRORS WHEN EARLY STROBE MARGINS ARE   FMD
*         SELECTED. THE DATA FIELD WILL BE WRITTEN AND READ TWICE USING  FMD
*         TWO DATA PATTERNS. ALL SELECTED SECTORS AND TRACKS WILL USED.  FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C E36C HEX. FMD
*         2.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  WRITE A SECTOR ON CYLINDER 1512 OCTAL ON THE FIXED MODULE  FMD06
*             DRIVE. IF AN ERROR IS DETECTED DURING THE WRITE OPERATION, FMD06
*             VERIFY THAT READY AND SAFE IS ACTIVE, THE SYNC BYTE WAS    FMD06
*             FOUND, AN ADDRESS COMPARED OCCURRED, AND THERE WAS NOT ECC FMD06
*             ERROR.                                                     FMD06
*         4.  ENABLE EARLY STROBE MARGINS IN THE FIXED MODULE DRIVE.     FMD
*         5.  READ THE SECTOR JUST WRITTEN AND VERIFY THAT READY AND     FMD
*             SAFE IS ACTIVE, THE SYNC BYTE WAS FOUND, AN ADDRESS        FMD
*             COMPARE OCCURED, AND THERE WAS NOT ECC ERROR IN THE        FMD
*             ADDRESS. VERIFY THAT THE SYNC BYTE WAS FOUND, THE DATA WAS FMD
*             CORRECT, AND THERE WAS NO EEC ERROR IN THE DATA FIELD.     FMD
*         6.  REPEAT STEPS 3,4, AND 5 FOR ALL SECTORS SELECTED IN        FMD
*             PARAMETER WORD 3.                                          FMD
*         7.  REPEAT STEPS 2, 3, 4, 5, AND 6 FOR ALL TRACKS SELECTED IN  FMD
*             PARAMETER WORD 2.                                          FMD
*         8.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C AAAA HEX. FMD
*         9.  REPEAT STEPS 2, 3, 4, 5, 6, AND 7 USING THIS DATA PATTERN. FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         PARAMETER WORD P2 CONTAINS THE UPPER AND LOWER TRACK NUMBERS.  FMD
*         PARAMETER WORD P3 CONTAINS THE UPPER AND LOWER SECTOR NUMBERS. FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98F - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD96B - PROCESS RETRY COUNT.                                  FMD
*         FMD96C - PROCESS ERRORS.                                       FMD
*         FMD96D - PROCESS ERRORS.                                       FMD
*         FMD96E - PROCESS ERRORS.                                       FMD
*         FMD96F - PROCESS ERRORS.                                       FMD
*         FMD96G - PROCESS ERRORS.                                       FMD
*         FMD96H - PROCESS ERRORS.                                       FMD
*         FMD96I - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96J - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98F - ISOLATE READY AND SAFE FAULT.
*         FHD96B - PROCESS RETRY COUNT. 
*         FHD96C - PROCESS ERRORS.
*         FHD96D - PROCESS ERRORS.
*         FHD96E - PROCESS ERRORS.
*         FHD96F - PROCESS ERRORS.
*         FHD96G - PROCESS ERRORS.
*         FHD96H - PROCESS ERRORS.
*         FHD96I - PROCESS ISOLATION INFORMATION. 
*         FHD96J - PROCESS ISOLATION INFORMATION. 
*         FHD96K - PROCESS ISOLATION INFORMATION. 
*         FHD96Y - PROCESS ISOLATION INFORMATION. 
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98E - ISOLATE READY AND SAFE FAULT.
*         FLD973 - PROCESS RETRY COUNT
*         FLD974 - PROCESS ERRORS.
*         FLD975 - PROCESS ERRORS.
*         FLD976 - PROCESS ERRORS.
*         FLD977 - PROCESS ERRORS.
*         FLD978 - PROCESS ERRORS.
*         FLD979 - PROCESS ISOLATION INFORMATION. 
*         FLD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - LOWER CYLINDER NUMBER.                           FMD
*         B8 REGISTER - LOWER TRACK NUMBER.                              FMD
*         B9 REGISTER - LOWER SECTOR NUMBER.                             FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - UPPER TRACK NUMBER PLUS ONE.                    FMD
*         B12 REGISTER - UPPER SECTOR NUMBER PLUS ONE.                   FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*IF DEF,SFMD
*         OB(00-501) - WRITE DATA BUFFER.                                FMD
*         IB(00-501) - READ DATA BUFFER.                                 FMD
*ENDIF
*IF DEF,PFMD
*         OB(00-503) - WRITE DATA BUFFER. 
*         IB(00-503) - READ DATA BUFFER.
*ENDIF
*IF DEF,LSFMD 
*         OB(00-501) - WRITE DATA BUFFER
*         IB(00-501) - READ DATA BUFFER 
*ENDIF
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*         SB(32-64) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD54 - W/R EARLY STROBE                                       FMD
2  FORMAT FMD54 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD54 - *DECD ERRORS                                           FMD
4  FORMAT FMD54 - C=*OCT T=*OCT S=*OCT                                   FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD54 - W/R EARLY STROBE
2  FORMAT FHD54 - EC *DECD, LC = *DECD
3  FORMAT FHD54 - *DECD ERRORS
4  FORMAT FHD54 - C=*OCT T=*OCT S=*OCT
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD54 - W/R EARLY STROBE
2  FORMAT FLD54 - EC *DECD, LC= = *DECD 
3  FORMAT FLD54 - *DECD ERRORS
4  FORMAT FLD54 - C=*OCT H=*OCT S=*OCT
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSROT=1600               FMD
   EQUATE DSRRS=600, DSV=40, OTRK=1000, RTZ=111                          FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B7=1512                   *LOWER CYLINDER NUMBER                      FMD
   B11=P2+1 AND 77           *UPPER TRACK NUMBER                         FMD
   B12=P3+1 AND 77           *UPPER SECTOR NUMBER                        FMD
24 B8=P2 RS 6                *LOWER TRACK NUMBER                         FMD
   B9=P3 RS 6                *LOWER SECTOR NUMBER                        FMD
   B0=B13 OR 1               *DATA PATTERN FLAG                          FMD
   CALL 98H                  *GENERATE COMPARE DATA BUFFER               FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
26 RES,DRIVE,ABT 44             *CONNECT TO CONTROLLER/DRIVE             FMD
30 IF(SB(9)AND DSR EQ 0)ERROR 15/0 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   B9=P3 RS 6                          *LOWER SECTOR NUMBER              FMD
*                                                                        FMD
/         WRITE AND READ ALL TRACKS ON CYLINDER 842.                     FMD
*                                                                        FMD
32 B4=1                             *SECTOR COUNT                        FMD
   MSG 4 (B7,B8,B9) TO DISPLAY      *DISPLAY RUNNING MESSAGE             FMD
   WRITE B4 CODED SEC AT CYL B7,TRK B8,SEC B9,ABT 46  *WRITE             FMD
   MARGINS NORMAL OFFSET,EARLY STROBES,ABT 72  *SET MARGINS              FMD
   B4=1                             *SECTOR COUNT                        FMD
   READ B4 SEC AT CYL B7,TRK B8,SEC B9,ABT 52   *READ                    FMD
*IF DEF,SFMD
   B4=502                           *SECTOR WORD COUNT                   FMD
*ENDIF
*IF DEF,PFMD
   B4=504                           *SECTOR WORD COUNT
*ENDIF
*IF DEF,LSFMD 
   B4=502                         *SECTOR WORD COUNT
*ENDIF
   COMPARE OB TO IB FOR B4,ABT 60   *CHECK DATA BUFFER                   FMD
34 GOSUB 74                         *REPEAT CONDITION CHECK              FMD
   GOTO 32 WHILE(B9+1 NE B12)       *LOOP TO DO ALL SECTORS              FMD
   GOTO 26 WHILE(B8+1 NE B11)       *LOOP TO DO ALL TRACKS               FMD
   GOTO 24 WHILE(B13+1 NE 2)        *DO TWO DATA PATTERNS                FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
36 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
44 IF(EC AND 77 NE 25) GOTO 72    *NOT GENERAL STATUS ERROR              FMD
   IF(SB(9) AND DSRRS NE DSRRS) GOTO 30  *STATUS ERROR                   FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON WRITE COMMAND.                                FMD
*                                                                        FMD
46 IF(EC AND 77 EQ 25) GOTO 50         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
50 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25               *IF RETRY ATTEMPTED               FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 72        *NOT ADDRESS FIELD              FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON READ COMMAND.                                 FMD
*                                                                        FMD
52 IF(EC AND 77 EQ 25) GOTO 54         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
54 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25               *IF RETRY ATTEMPTED               FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 56      *NOT ADDRESS FIELD                FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
56 IF(SB(B4+21)AND 2 EQ 0) GOTO 72  *NOT DATA FIELD ERROR                FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 5/8 GOTO 66  *SYNC BYTE
   IF(SB(B4+2)AND 1000 NE 0)ERROR 12/12 GOTO 66  *CHECKWORD              FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON COMPARE ERROR.                                FMD
*                                                                        FMD
60 ERROR 7/11 GOTO 72        *REPORT THE DATA COMPARE ERROR              FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED WHILE READING THE SECTOR.              FMD
*                                                                        FMD
66 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=54D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 96C    *IF NO SCOPING LOOP                    FMD
   IF(ES AND SL EQ 0) CALL 96B    *IF NO SCOPING LOOP                    FMD
   GOTO 73                        *GO TO END PROCESSING OF ERROR
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98F   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=54D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96C   *IF NO SCOPING LOOP                     FMD
73 IF(B13.EQ.2) ENDSUB GOTO 36   *IF CONDITION 2
   RES,DRIVE, ABT 44             *CONNECT TO CONTROLLER/DRIVE 
   ENDSUB GOTO 34                *CONDITIONS 0 OR 1                      FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0)RETURN      *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                     *INCREASE LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY    *DISPLAY RC MESSAGE                     FMD
   ENDSUB GOTO 26                *REPEAT CONDITION 1                     FMD
   END 20                        *END OF THE MODULE                      FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD55,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD55,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD55,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.55 W/R REVERSE OFFSET                                            FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD55 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL  FMD
*ENDIF
*IF DEF,PFMD
*         FHD55 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL 
*ENDIF
*IF DEF,LSFMD 
*         FLD55 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL 
*ENDIF
*         CAN BE READ WITHOUT ANY ERRORS WHEN REVERSE OFFSET MARGINS ARE FMD
*         SELECTED. THE DATA FIELD WILL BE WRITTEN AND READ TWICE USING  FMD
*         TWO DATA PATTERNS. ALL SELECTED SECTORS AND TRACKS WILL USED.  FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C E36C HEX. FMD
*         2.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  WRITE A SECTOR ON CYLINDER 1512 OCTAL ON THE FIXED MODULE  FMD06
*             DRIVE. IF AN ERROR IS DETECTED DURING THE WRITE OPERATION, FMD06
*             VERIFY THAT READY AND SAFE IS ACTIVE, THE SYNC BYTE WAS    FMD06
*             FOUND, AN ADDRESS COMPARED OCCURRED, AND THERE WAS NOT ECC FMD06
*             ERROR.                                                     FMD06
*         4.  ENABLE REVERSE OFFSET MARGINS IN THE FIXED MODULE DRIVE.   FMD
*         5.  READ THE SECTOR JUST WRITTEN AND VERIFY THAT READY AND     FMD
*             SAFE IS ACTIVE, THE SYNC BYTE WAS FOUND, AN ADDRESS        FMD
*             COMPARE OCCURED, AND THERE WAS NOT ECC ERROR IN THE        FMD
*             ADDRESS. VERIFY THAT THE SYNC BYTE WAS FOUND, THE DATA WAS FMD
*             CORRECT, AND THERE WAS NO EEC ERROR IN THE DATA FIELD.     FMD
*         6.  REPEAT STEPS 3,4, AND 5 FOR ALL SECTORS SELECTED IN        FMD
*             PARAMETER WORD 3.                                          FMD
*         7.  REPEAT STEPS 2, 3, 4, 5, AND 6 FOR ALL TRACKS SELECTED IN  FMD
*             PARAMETER WORD 2.                                          FMD
*         8.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C AAAA HEX. FMD
*         9.  REPEAT STEPS 2, 3, 4, 5, 6, AND 7 USING THIS DATA PATTERN. FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         PARAMETER WORD P2 CONTAINS THE UPPER AND LOWER TRACK NUMBERS.  FMD
*         PARAMETER WORD P3 CONTAINS THE UPPER AND LOWER SECTOR NUMBERS. FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98F - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD96B - PROCESS RETRY COUNT.                                  FMD
*         FMD96C - PROCESS ERRORS.                                       FMD
*         FMD96D - PROCESS ERRORS.                                       FMD
*         FMD96E - PROCESS ERRORS.                                       FMD
*         FMD96F - PROCESS ERRORS.                                       FMD
*         FMD96G - PROCESS ERRORS.                                       FMD
*         FMD96H - PROCESS ERRORS.                                       FMD
*         FMD96I - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96J - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98F - ISOLATE READY AND SAFE FAULT.
*         FHD96B - PROCESS RETRY COUNT. 
*         FHD96C - PROCESS ERRORS.
*         FHD96D - PROCESS ERRORS.
*         FHD96E - PROCESS ERRORS.
*         FHD96F - PROCESS ERRORS.
*         FHD96G - PROCESS ERRORS.
*         FHD96H - PROCESS ERRORS.
*         FHD96I - PROCESS ISOLATION INFORMATION. 
*         FHD96J - PROCESS ISOLATION INFORMATION. 
*         FHD96K - PROCESS ISOLATION INFORMATION. 
*         FHD96Y - PROCESS ISOLATION INFORMATION. 
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98F - ISOLATE READY AND SAFE FAULTS. 
*         FLD96B - PROCESS ERRORS.
*         FLD96C - PROCESS ERRORS 
*         FLD96D - PROCESS ERRORS.
*         FLD96E - PROCESS ERRORS.
*         FLD96F - PROCESS ERRORS.
*         FLD96G - PROCESS ERRORS.
*         FLD96H - PROCESS ERRORS.
*         FLD96I - PROCESS ISOLATION INFORMATION. 
*         FLD96J - PROCESS ISOLATION INFORMATION. 
*         FLD96K - PROCESS ISOLATION INFORMATION. 
*         FLD96Y - PROCESS ISOLATION INFORMATION. 
*         FLD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - LOWER CYLINDER NUMBER.                           FMD
*         B8 REGISTER - LOWER TRACK NUMBER.                              FMD
*         B9 REGISTER - LOWER SECTOR NUMBER.                             FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - UPPER TRACK NUMBER PLUS ONE.                    FMD
*         B12 REGISTER - UPPER SECTOR NUMBER PLUS ONE.                   FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*IF DEF,SFMD
*         OB(00-501) - WRITE DATA BUFFER.                                FMD
*         IB(00-501) - READ DATA BUFFER.                                 FMD
*ENDIF
*IF DEF,PFMD
*         OB(00-503) - WRITE DATA BUFFER. 
*         IB(00-503) - READ DATA BUFFER.
*ENDIF
*IF DEF,LSFMD 
*         OB(00-501) - WRITE DATA BUFFER. 
*         IB(00-501) - READ DATA BUFFER.
*ENDIF
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*         SB(32-64) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD55 - W/R REVERSE OFFSET                                     FMD
2  FORMAT FMD55 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD55 - *DECD ERRORS                                           FMD
4  FORMAT FMD55 - C=*OCT T=*OCT S=*OCT                                   FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD55 - W/R REVERSE OFFSET
2  FORMAT FHD55 - EC *DECD, LC = *DECD
3  FORMAT FHD55 - *DECD ERRORS
4  FORMAT FHD55 - C=*OCT T=*OCT S=*OCT
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD55 - W/R REVERSE OFFSET
2  FORMAT FLD55 - EC *DECD, LC = *DECD
3  FORMAT FLD55 - *DECD ERRORS
4  FORMAT FLD55 - C=*OCT H=*OCT S=*OCT
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSROT=1600               FMD
   EQUATE DSRRS=600, DSV=40, OTRK=1000, RTZ=111                          FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B7=1512                   *LOWER CYLINDER NUMBER                      FMD
   B11=P2+1 AND 77           *UPPER TRACK NUMBER                         FMD
   B12=P3+1 AND 77           *UPPER SECTOR NUMBER                        FMD
24 B8=P2 RS 6                *LOWER TRACK NUMBER                         FMD
   B9=P3 RS 6                *LOWER SECTOR NUMBER                        FMD
   B0=B13 OR 1               *DATA PATTERN FLAG                          FMD
   CALL 98H                  *GENERATE COMPARE DATA BUFFER               FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
26 RES,DRIVE,ABT 44             *CONNECT TO CONTROLLER/DRIVE             FMD
30 IF(SB(9)AND DSR EQ 0)ERROR 15/0 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   B9=P3 RS 6                          *LOWER SECTOR NUMBER              FMD
*                                                                        FMD
/         WRITE AND READ ALL TRACKS ON CYLINDER 842.                     FMD
*                                                                        FMD
32 B4=1                             *SECTOR COUNT                        FMD
   MSG 4 (B7,B8,B9) TO DISPLAY      *DISPLAY RUNNING MESSAGE             FMD
   WRITE B4 CODED SEC AT CYL B7,TRK B8,SEC B9,ABT 46  *WRITE             FMD
   MARGINS REV OFFSET,NORMAL STROBES,ABT 72  *SET MARGINS                FMD
   B4=1                             *SECTOR COUNT                        FMD
   READ B4 SEC AT CYL B7,TRK B8,SEC B9,ABT 52   *READ                    FMD
*IF DEF,SFMD
   B4=502                           *SECTOR WORD COUNT                   FMD
*ENDIF
*IF DEF,PFMD
   B4=504                           *SECTOR WORD COUNT
*ENDIF
*IF DEF,LSFMD 
   B4=502                          *SECTOR WORD COUNT 
*ENDIF
   COMPARE OB TO IB FOR B4,ABT 60   *CHECK DATA BUFFER                   FMD
34 GOSUB 74                         *REPEAT CONDITION CHECK              FMD
   GOTO 32 WHILE(B9+1 NE B12)       *LOOP TO DO ALL SECTORS              FMD
   GOTO 26 WHILE(B8+1 NE B11)       *LOOP TO DO ALL TRACKS               FMD
   GOTO 24 WHILE(B13+1 NE 2)        *DO TWO DATA PATTERNS                FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
36 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
44 IF(EC AND 77 NE 25) GOTO 72    *NOT GENERAL STATUS ERROR              FMD
   IF(SB(9) AND DSRRS NE DSRRS) GOTO 30  *STATUS ERROR                   FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON WRITE COMMAND.                                FMD
*                                                                        FMD
46 IF(EC AND 77 EQ 25) GOTO 50         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
50 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25               *IF RETRY ATTEMPTED               FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 72        *NOT ADDRESS FIELD              FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON READ COMMAND.                                 FMD
*                                                                        FMD
52 IF(EC AND 77 EQ 25) GOTO 54         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
54 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25               *IF RETRY ATTEMPTED               FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 56      *NOT ADDRESS FIELD                FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
56 IF(SB(B4+21)AND 2 EQ 0) GOTO 72  *NOT DATA FIELD ERROR                FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 5/8 GOTO 66  *SYNC BYTE
   IF(SB(B4+2)AND 1000 NE 0)ERROR 12/12 GOTO 66  *CHECKWORD              FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON COMPARE ERROR.                                FMD
*                                                                        FMD
60 ERROR 7/11 GOTO 72        *REPORT THE DATA COMPARE ERROR              FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED WHILE READING THE SECTOR.              FMD
*                                                                        FMD
66 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=55D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 96C    *IF NO SCOPING LOOP                    FMD
   IF(ES AND SL EQ 0) CALL 96B    *IF NO SCOPING LOOP                    FMD
   GOTO 73                        *GO TO END PROCESSING OF ERROR
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98F   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=55D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96C   *IF NO SCOPING LOOP                     FMD
73 IF(B13.EQ.2) ENDSUB GOTO 36   *IF CONDITION 2
   RES,DRIVE, ABT 44             *CONNECT TO CONTROLLER/DRIVE 
   ENDSUB GOTO 34                *CONDITIONS 0 OR 1                      FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0)RETURN      *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                     *INCREASE LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY    *DISPLAY RC MESSAGE                     FMD
   ENDSUB GOTO 26                *REPEAT CONDITION 1                     FMD
   END 20                        *END OF THE MODULE                      FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD56,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD56,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD56,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.56 W/R REV/LATE MARGIN                                           FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD56 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL  FMD
*ENDIF
*IF DEF,PFMD
*         FHD56 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL 
*ENDIF
*IF DEF,LSFMD 
*         FLD56 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL 
*ENDIF
*         CAN BE READ WITHOUT ANY ERRORS WHEN REVERSE OFFSET AND LATE    FMD
*         STROBE MARGINS ARE SELECTED. THE DATA FIELD WILL BE WRITTEN    FMD
*         AND READ TWICE USING TWO DATA PATTERNS. ALL SELECTED SECTORS   FMD
*         AND TRACKS WILL USED.                                          FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C E36C HEX. FMD
*         2.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  WRITE A SECTOR ON CYLINDER 1512 OCTAL ON THE FIXED MODULE  FMD06
*             DRIVE. IF AN ERROR IS DETECTED DURING THE WRITE OPERATION, FMD06
*             VERIFY THAT READY AND SAFE IS ACTIVE, THE SYNC BYTE WAS    FMD06
*             FOUND, AN ADDRESS COMPARED OCCURRED, AND THERE WAS NOT ECC FMD06
*             ERROR.                                                     FMD06
*         4.  ENABLE REVERSE OFFSET AND LATE STROBE MARGINS IN THE FIXED FMD
*             MODULE DRIVE.                                              FMD
*         5.  READ THE SECTOR JUST WRITTEN AND VERIFY THAT READY AND     FMD
*             SAFE IS ACTIVE, THE SYNC BYTE WAS FOUND, AN ADDRESS        FMD
*             COMPARE OCCURED, AND THERE WAS NOT ECC ERROR IN THE        FMD
*             ADDRESS. VERIFY THAT THE SYNC BYTE WAS FOUND, THE DATA WAS FMD
*             CORRECT, AND THERE WAS NO EEC ERROR IN THE DATA FIELD.     FMD
*         6.  REPEAT STEPS 3,4, AND 5 FOR ALL SECTORS SELECTED IN        FMD
*             PARAMETER WORD 3.                                          FMD
*         7.  REPEAT STEPS 2, 3, 4, 5, AND 6 FOR ALL TRACKS SELECTED IN  FMD
*             PARAMETER WORD 2.                                          FMD
*         8.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C AAAA HEX. FMD
*         9.  REPEAT STEPS 2, 3, 4, 5, 6, AND 7 USING THIS DATA PATTERN. FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         PARAMETER WORD P2 CONTAINS THE UPPER AND LOWER TRACK NUMBERS.  FMD
*         PARAMETER WORD P3 CONTAINS THE UPPER AND LOWER SECTOR NUMBERS. FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98F - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD96B - PROCESS RETRY COUNT.                                  FMD
*         FMD96C - PROCESS ERRORS.                                       FMD
*         FMD96D - PROCESS ERRORS.                                       FMD
*         FMD96E - PROCESS ERRORS.                                       FMD
*         FMD96F - PROCESS ERRORS.                                       FMD
*         FMD96G - PROCESS ERRORS.                                       FMD
*         FMD96H - PROCESS ERRORS.                                       FMD
*         FMD96I - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96J - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98F - ISOLATE READY AND SAFE FAULT.
*         FHD96B - PROCESS RETRY COUNT. 
*         FHD96C - PROCESS ERRORS.
*         FHD96D - PROCESS ERRORS.
*         FHD96E - PROCESS ERRORS.
*         FHD96F - PROCESS ERRORS.
*         FHD96G - PROCESS ERRORS.
*         FHD96H - PROCESS ERRORS.
*         FHD96I - PROCESS ISOLATION INFORMATION. 
*         FHD96J - PROCESS ISOLATION INFORMATION. 
*         FHD96K - PROCESS ISOLATION INFORMATION. 
*         FHD96Y - PROCESS ISOLATION INFORMATION. 
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98F - ISOLATE READY AND SAFE FAULTS. 
*         FLD96B - PROCESS ERRORS.
*         FLD96C - PROCESS ERRORS 
*         FLD96D - PROCESS ERRORS.
*         FLD96E - PROCESS ERRORS.
*         FLD96F - PROCESS ERRORS.
*         FLD96G - PROCESS ERRORS.
*         FLD96H - PROCESS ERRORS.
*         FLD96I - PROCESS ISOLATION INFORMATION. 
*         FLD96J - PROCESS ISOLATION INFORMATION. 
*         FLD96K - PROCESS ISOLATION INFORMATION. 
*         FLD96Y - PROCESS ISOLATION INFORMATION. 
*         FLD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - LOWER CYLINDER NUMBER.                           FMD
*         B8 REGISTER - LOWER TRACK NUMBER.                              FMD
*         B9 REGISTER - LOWER SECTOR NUMBER.                             FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - UPPER TRACK NUMBER PLUS ONE.                    FMD
*         B12 REGISTER - UPPER SECTOR NUMBER PLUS ONE.                   FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*IF DEF,SFMD
*         OB(00-501) - WRITE DATA BUFFER.                                FMD
*         IB(00-501) - READ DATA BUFFER.                                 FMD
*ENDIF
*IF DEF,PFMD
*         OB(00-503) - WRITE DATA BUFFER. 
*         IB(00-503) - READ DATA BUFFER.
*ENDIF
*IF DEF,LSFMD 
*         OB(00-501) - WRITE DATA BUFFER. 
*         IB(00-501) - READ DATA BUFFER.
*ENDIF
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*         SB(32-64) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD56 - W/R REV/LATE MARGIN                                    FMD
2  FORMAT FMD56 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD56 - *DECD ERRORS                                           FMD
4  FORMAT FMD56 - C=*OCT T=*OCT S=*OCT                                   FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD56 - W/R REV/LATE MARGIN 
2  FORMAT FHD56 - EC *DECD, LC = *DECD
3  FORMAT FHD56 - *DECD ERRORS
4  FORMAT FHD56 - C=*OCT T=*OCT S=*OCT
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD56 - W/R REV/LATE MARGIN 
2  FORMAT FLD56 - EC *DECD, LC = *DECD
3  FORMAT FLD56 - *DECD ERRORS
4  FORMAT FLD56 - C=*OCT H=*OCT S=*OCT
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSROT=1600               FMD
   EQUATE DSRRS=600, DSV=40, OTRK=1000, RTZ=111                          FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B7=1512                   *LOWER CYLINDER NUMBER                      FMD
   B11=P2+1 AND 77           *UPPER TRACK NUMBER                         FMD
   B12=P3+1 AND 77           *UPPER SECTOR NUMBER                        FMD
24 B8=P2 RS 6                *LOWER TRACK NUMBER                         FMD
   B9=P3 RS 6                *LOWER SECTOR NUMBER                        FMD
   B0=B13 OR 1               *DATA PATTERN FLAG                          FMD
   CALL 98H                  *GENERATE COMPARE DATA BUFFER               FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
26 RES,DRIVE,ABT 44             *CONNECT TO CONTROLLER/DRIVE             FMD
30 IF(SB(9)AND DSR EQ 0)ERROR 15/0 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   B9=P3 RS 6                          *LOWER SECTOR NUMBER              FMD
*                                                                        FMD
/         WRITE AND READ ALL TRACKS ON CYLINDER 842.                     FMD
*                                                                        FMD
32 B4=1                             *SECTOR COUNT                        FMD
   MSG 4 (B7,B8,B9) TO DISPLAY      *DISPLAY RUNNING MESSAGE             FMD
   WRITE B4 CODED SEC AT CYL B7,TRK B8,SEC B9,ABT 46  *WRITE             FMD
   MARGINS REV OFFSET,LATE STROBES,ABT 72  *SET MARGINS                  FMD
   B4=1                             *SECTOR COUNT                        FMD
   READ B4 SEC AT CYL B7,TRK B8,SEC B9,ABT 52   *READ                    FMD
*IF DEF,SFMD
   B4=502                           *SECTOR WORD COUNT                   FMD
*ENDIF
*IF DEF,PFMD
   B4=504                           *SECTOR WORD COUNT
*ENDIF
*IF DEF,LSFMD 
   B4=502                          *SECTOR WORD COUNT 
*ENDIF
   COMPARE OB TO IB FOR B4,ABT 60   *CHECK DATA BUFFER                   FMD
34 GOSUB 74                         *REPEAT CONDITION CHECK              FMD
   GOTO 32 WHILE(B9+1 NE B12)       *LOOP TO DO ALL SECTORS              FMD
   GOTO 26 WHILE(B8+1 NE B11)       *LOOP TO DO ALL TRACKS               FMD
   GOTO 24 WHILE(B13+1 NE 2)        *DO TWO DATA PATTERNS                FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
36 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
44 IF(EC AND 77 NE 25) GOTO 72    *NOT GENERAL STATUS ERROR              FMD
   IF(SB(9) AND DSRRS NE DSRRS) GOTO 30  *STATUS ERROR                   FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON WRITE COMMAND.                                FMD
*                                                                        FMD
46 IF(EC AND 77 EQ 25) GOTO 50         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
50 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25               *IF RETRY ATTEMPTED               FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 72        *NOT ADDRESS FIELD              FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON READ COMMAND.                                 FMD
*                                                                        FMD
52 IF(EC AND 77 EQ 25) GOTO 54         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
54 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25               *IF RETRY ATTEMPTED               FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 56      *NOT ADDRESS FIELD                FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
56 IF(SB(B4+21)AND 2 EQ 0) GOTO 72  *NOT DATA FIELD ERROR                FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 5/8 GOTO 66  *SYNC BYTE
   IF(SB(B4+2)AND 1000 NE 0)ERROR 12/12 GOTO 66  *CHECKWORD              FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON COMPARE ERROR.                                FMD
*                                                                        FMD
60 ERROR 7/11 GOTO 72        *REPORT THE DATA COMPARE ERROR              FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED WHILE READING THE SECTOR.              FMD
*                                                                        FMD
66 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=56D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 96C    *IF NO SCOPING LOOP                    FMD
   IF(ES AND SL EQ 0) CALL 96B    *IF NO SCOPING LOOP                    FMD
   GOTO 73                        *GO TO END PROCESSING OF ERROR
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98F   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=56D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96C   *IF NO SCOPING LOOP                     FMD
73 IF(B13.EQ.2) ENDSUB GOTO 36   *IF CONDITION 2
   RES,DRIVE, ABT 44             *CONNECT TO CONTROLLER/DRIVE 
   ENDSUB GOTO 34                *CONDITIONS 0 OR 1                      FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0)RETURN      *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                     *INCREASE LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY    *DISPLAY RC MESSAGE                     FMD
   ENDSUB GOTO 26                *REPEAT CONDITION 1                     FMD
   END 20                        *END OF THE MODULE                      FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD57,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD57,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD57,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.57 W/R REV/EARLY MARGIN                                          FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD57 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL  FMD
*ENDIF
*IF DEF,PFMD
*         FHD57 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL 
*ENDIF
*IF DEF,LSFMD 
*         FLD57 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL 
*ENDIF
*         CAN BE READ WITHOUT ANY ERRORS WHEN REVERSE OFFSET AND EARLY   FMD
*         STROBE MARGINS ARE SELECTED. THE DATA FIELD WILL BE WRITTEN    FMD
*         AND READ TWICE USING TWO DATA PATTERNS. ALL SELECTED SECTORS   FMD
*         AND TRACKS WILL USED.                                          FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C E36C HEX. FMD
*         2.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  WRITE A SECTOR ON CYLINDER 1512 OCTAL ON THE FIXED MODULE  FMD06
*             DRIVE. IF AN ERROR IS DETECTED DURING THE WRITE OPERATION, FMD06
*             VERIFY THAT READY AND SAFE IS ACTIVE, THE SYNC BYTE WAS    FMD06
*             FOUND, AN ADDRESS COMPARED OCCURRED, AND THERE WAS NOT ECC FMD06
*             ERROR.                                                     FMD06
*         4.  ENABLE REVERSE OFFSET AND EARLY STROBE MARGINS IN THE      FMD
*             FIXED MODULE DRIVE.                                        FMD
*         5.  READ THE SECTOR JUST WRITTEN AND VERIFY THAT READY AND     FMD
*             SAFE IS ACTIVE, THE SYNC BYTE WAS FOUND, AN ADDRESS        FMD
*             COMPARE OCCURED, AND THERE WAS NOT ECC ERROR IN THE        FMD
*             ADDRESS. VERIFY THAT THE SYNC BYTE WAS FOUND, THE DATA WAS FMD
*             CORRECT, AND THERE WAS NO EEC ERROR IN THE DATA FIELD.     FMD
*         6.  REPEAT STEPS 3,4, AND 5 FOR ALL SECTORS SELECTED IN        FMD
*             PARAMETER WORD 3.                                          FMD
*         7.  REPEAT STEPS 2, 3, 4, 5, AND 6 FOR ALL TRACKS SELECTED IN  FMD
*             PARAMETER WORD 2.                                          FMD
*         8.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C AAAA HEX. FMD
*         9.  REPEAT STEPS 2, 3, 4, 5, 6, AND 7 USING THIS DATA PATTERN. FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         PARAMETER WORD P2 CONTAINS THE UPPER AND LOWER TRACK NUMBERS.  FMD
*         PARAMETER WORD P3 CONTAINS THE UPPER AND LOWER SECTOR NUMBERS. FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98F - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD96B - PROCESS RETRY COUNT.                                  FMD
*         FMD96C - PROCESS ERRORS.                                       FMD
*         FMD96D - PROCESS ERRORS.                                       FMD
*         FMD96E - PROCESS ERRORS.                                       FMD
*         FMD96F - PROCESS ERRORS.                                       FMD
*         FMD96G - PROCESS ERRORS.                                       FMD
*         FMD96H - PROCESS ERRORS.                                       FMD
*         FMD96I - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96J - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98F - ISOLATE READY AND SAFE FAULT.
*         FHD96B - PROCESS RETRY COUNT. 
*         FHD96C - PROCESS ERRORS.
*         FHD96D - PROCESS ERRORS.
*         FHD96E - PROCESS ERRORS.
*         FHD96F - PROCESS ERRORS.
*         FHD96G - PROCESS ERRORS.
*         FHD96H - PROCESS ERRORS.
*         FHD96I - PROCESS ISOLATION INFORMATION. 
*         FHD96J - PROCESS ISOLATION INFORMATION. 
*         FHD96K - PROCESS ISOLATION INFORMATION. 
*         FHD96Y - PROCESS ISOLATION INFORMATION. 
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98F - ISOLATE READY AND SAFE FAULTS. 
*         FLD96B - PROCESS RETRY COUNT. 
*         FLD96C - PROCESS ERRORS 
*         FLD96D - PROCESS ERRORS.
*         FLD96E - PROCESS ERRORS.
*         FLD96F - PROCESS ERRORS.
*         FLD96G - PROCESS ERRORS.
*         FLD96H - PROCESS ERRORS.
*         FLD96I - PROCESS ISOLATION INFORMATION. 
*         FLD96J - PROCESS ISOLATION INFORMATION. 
*         FLD96K - PROCESS ISOLATION INFORMATION. 
*         FLD96Y - PROCESS ISOLATION INFORMATION. 
*         FLD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - LOWER CYLINDER NUMBER.                           FMD
*         B8 REGISTER - LOWER TRACK NUMBER.                              FMD
*         B9 REGISTER - LOWER SECTOR NUMBER.                             FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - UPPER TRACK NUMBER PLUS ONE.                    FMD
*         B12 REGISTER - UPPER SECTOR NUMBER PLUS ONE.                   FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*IF DEF,SFMD
*         OB(00-501) - WRITE DATA BUFFER.                                FMD
*         IB(00-501) - READ DATA BUFFER.                                 FMD
*ENDIF
*IF DEF,PFMD
*         OB(00-503) - WRITE DATA BUFFER. 
*         IB(00-503) - READ DATA BUFFER.
*ENDIF
*IF DEF,LSFMD 
*         OB(00-501) - WRITE DATA BUFFER. 
*         IB(00-501) - READ DATA BUFFER.
*ENDIF
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*         SB(32-64) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD57 - W/R REV/EARLY MARGIN                                   FMD
2  FORMAT FMD57 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD57 - *DECD ERRORS                                           FMD
4  FORMAT FMD57 - C=*OCT T=*OCT S=*OCT                                   FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD57 - W/R REV/EARLY MARGIN
2  FORMAT FHD57 - EC *DECD, LC = *DECD
3  FORMAT FHD57 - *DECD ERRORS
4  FORMAT FHD57 - C=*OCT T=*OCT S=*OCT
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD57 - W/R REV/EARLY MARGIN
2  FORMAT FLD57 - EC *DECD, LC = *DECD
3  FORMAT FLD57 - *DECD ERRORS
4  FORMAT FLD57 - C=*OCT H=*OCT S=*OCT
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSROT=1600               FMD
   EQUATE DSRRS=600, DSV=40, OTRK=1000, RTZ=111                          FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B7=1512                   *LOWER CYLINDER NUMBER                      FMD
   B11=P2+1 AND 77           *UPPER TRACK NUMBER                         FMD
   B12=P3+1 AND 77           *UPPER SECTOR NUMBER                        FMD
24 B8=P2 RS 6                *LOWER TRACK NUMBER                         FMD
   B9=P3 RS 6                *LOWER SECTOR NUMBER                        FMD
   B0=B13 OR 1               *DATA PATTERN FLAG                          FMD
   CALL 98H                  *GENERATE COMPARE DATA BUFFER               FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
26 RES,DRIVE,ABT 44             *CONNECT TO CONTROLLER/DRIVE             FMD
30 IF(SB(9)AND DSR EQ 0)ERROR 15/0 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   B9=P3 RS 6                          *LOWER SECTOR NUMBER              FMD
*                                                                        FMD
/         WRITE AND READ ALL TRACKS ON CYLINDER 842.                     FMD
*                                                                        FMD
32 B4=1                             *SECTOR COUNT                        FMD
   MSG 4 (B7,B8,B9) TO DISPLAY      *DISPLAY RUNNING MESSAGE             FMD
   WRITE B4 CODED SEC AT CYL B7,TRK B8,SEC B9,ABT 46  *WRITE             FMD
   MARGINS REV OFFSET,EARLY STROBES,ABT 72  *SET MARGINS                 FMD
   B4=1                             *SECTOR COUNT                        FMD
   READ B4 SEC AT CYL B7,TRK B8,SEC B9,ABT 52   *READ                    FMD
*IF DEF,SFMD
   B4=502                           *SECTOR WORD COUNT                   FMD
*ENDIF
*IF DEF,PFMD
   B4=504                           *SECTOR WORD COUNT
*ENDIF
*IF DEF,LSFMD 
   B4=502                          *SECTOR WORD COUNT 
*ENDIF
   COMPARE OB TO IB FOR B4,ABT 60   *CHECK DATA BUFFER                   FMD
34 GOSUB 74                         *REPEAT CONDITION CHECK              FMD
   GOTO 32 WHILE(B9+1 NE B12)       *LOOP TO DO ALL SECTORS              FMD
   GOTO 26 WHILE(B8+1 NE B11)       *LOOP TO DO ALL TRACKS               FMD
   GOTO 24 WHILE(B13+1 NE 2)        *DO TWO DATA PATTERNS                FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
36 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
44 IF(EC AND 77 NE 25) GOTO 72    *NOT GENERAL STATUS ERROR              FMD
   IF(SB(9) AND DSRRS NE DSRRS) GOTO 30  *STATUS ERROR                   FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON WRITE COMMAND.                                FMD
*                                                                        FMD
46 IF(EC AND 77 EQ 25) GOTO 50         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
50 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25               *IF RETRY ATTEMPTED               FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 72        *NOT ADDRESS FIELD              FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON READ COMMAND.                                 FMD
*                                                                        FMD
52 IF(EC AND 77 EQ 25) GOTO 54         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
54 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25               *IF RETRY ATTEMPTED               FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 56      *NOT ADDRESS FIELD                FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
56 IF(SB(B4+21)AND 2 EQ 0) GOTO 72  *NOT DATA FIELD ERROR                FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 5/8 GOTO 66  *SYNC BYTE
   IF(SB(B4+2)AND 1000 NE 0)ERROR 12/12 GOTO 66  *CHECKWORD              FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON COMPARE ERROR.                                FMD
*                                                                        FMD
60 ERROR 7/11 GOTO 72        *REPORT THE DATA COMPARE ERROR              FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED WHILE READING THE SECTOR.              FMD
*                                                                        FMD
66 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=57D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 96C    *IF NO SCOPING LOOP                    FMD
   IF(ES AND SL EQ 0) CALL 96B    *IF NO SCOPING LOOP                    FMD
   GOTO 73                        *GO TO END PROCESSING OF ERROR
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98F   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=57D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96C   *IF NO SCOPING LOOP                     FMD
73 IF(B13.EQ.2) ENDSUB GOTO 36   *IF CONDITION 2
   RES,DRIVE, ABT 44             *CONNECT TO CONTROLLER/DRIVE 
   ENDSUB GOTO 34                *CONDITIONS 0 OR 1                      FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0)RETURN      *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                     *INCREASE LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY    *DISPLAY RC MESSAGE                     FMD
   ENDSUB GOTO 26                *REPEAT CONDITION 1                     FMD
   END 20                        *END OF THE MODULE                      FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD58,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD58,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD58,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.58 W/R FORWARD OFFSET                                            FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD58 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL  FMD
*ENDIF
*IF DEF,PFMD
*         FHD58 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL 
*ENDIF
*IF DEF,LSFMD 
*         FLD58 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL 
*ENDIF
*         CAN BE READ WITHOUT ANY ERRORS WHEN FORWARD OFFSET MARGINS ARE FMD
*         SELECTED. THE DATA FIELD WILL BE WRITTEN AND READ TWICE USING  FMD
*         TWO DATA PATTERNS. ALL SELECTED SECTORS AND TRACKS WILL USED.  FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C E36C HEX. FMD
*         2.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  WRITE A SECTOR ON CYLINDER 1512 OCTAL ON THE FIXED MODULE  FMD06
*             DRIVE. IF AN ERROR IS DETECTED DURING THE WRITE OPERATION, FMD06
*             VERIFY THAT READY AND SAFE IS ACTIVE, THE SYNC BYTE WAS    FMD06
*             FOUND, AN ADDRESS COMPARED OCCURRED, AND THERE WAS NOT ECC FMD06
*             ERROR.                                                     FMD06
*         4.  ENABLE FORWARD OFFSET MARGINS IN THE FIXED MODULE DRIVE.   FMD
*         5.  READ THE SECTOR JUST WRITTEN AND VERIFY THAT READY AND     FMD
*             SAFE IS ACTIVE, THE SYNC BYTE WAS FOUND, AN ADDRESS        FMD
*             COMPARE OCCURED, AND THERE WAS NOT ECC ERROR IN THE        FMD
*             ADDRESS. VERIFY THAT THE SYNC BYTE WAS FOUND, THE DATA WAS FMD
*             CORRECT, AND THERE WAS NO EEC ERROR IN THE DATA FIELD.     FMD
*         6.  REPEAT STEPS 3,4, AND 5 FOR ALL SECTORS SELECTED IN        FMD
*             PARAMETER WORD 3.                                          FMD
*         7.  REPEAT STEPS 2, 3, 4, 5, AND 6 FOR ALL TRACKS SELECTED IN  FMD
*             PARAMETER WORD 2.                                          FMD
*         8.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C AAAA HEX. FMD
*         9.  REPEAT STEPS 2, 3, 4, 5, 6, AND 7 USING THIS DATA PATTERN. FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         PARAMETER WORD P2 CONTAINS THE UPPER AND LOWER TRACK NUMBERS.  FMD
*         PARAMETER WORD P3 CONTAINS THE UPPER AND LOWER SECTOR NUMBERS. FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98F - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD96B - PROCESS RETRY COUNT.                                  FMD
*         FMD96C - PROCESS ERRORS.                                       FMD
*         FMD96D - PROCESS ERRORS.                                       FMD
*         FMD96E - PROCESS ERRORS.                                       FMD
*         FMD96F - PROCESS ERRORS.                                       FMD
*         FMD96G - PROCESS ERRORS.                                       FMD
*         FMD96H - PROCESS ERRORS.                                       FMD
*         FMD96I - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96J - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98F - ISOLATE READY AND SAFE FAULT.
*         FHD96B - PROCESS RETRY COUNT. 
*         FHD96C - PROCESS ERRORS.
*         FHD96D - PROCESS ERRORS.
*         FHD96E - PROCESS ERRORS.
*         FHD96F - PROCESS ERRORS.
*         FHD96G - PROCESS ERRORS.
*         FHD96H - PROCESS ERRORS.
*         FHD96I - PROCESS ISOLATION INFORMATION. 
*         FHD96J - PROCESS ISOLATION INFORMATION. 
*         FHD96K - PROCESS ISOLATION INFORMATION. 
*         FHD96Y - PROCESS ISOLATION INFORMATION. 
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98F - ISOLATE READY AND SAFE FAULTS. 
*         FLD96B - PROCESS RETRY COUNT. 
*         FLD96C - PROCESS ERRORS 
*         FLD96D - PROCESS ERRORS.
*         FLD96E - PROCESS ERRORS.
*         FLD96F - PROCESS ERRORS.
*         FLD96G - PROCESS ERRORS.
*         FLD96H - PROCESS ERRORS.
*         FLD96I - PROCESS ISOLATION INFORMATION. 
*         FLD96J - PROCESS ISOLATION INFORMATION. 
*         FLD96K - PROCESS ISOLATION INFORMATION. 
*         FLD96Y - PROCESS ISOLATION INFORMATION. 
*         FLD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - LOWER CYLINDER NUMBER.                           FMD
*         B8 REGISTER - LOWER TRACK NUMBER.                              FMD
*         B9 REGISTER - LOWER SECTOR NUMBER.                             FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - UPPER TRACK NUMBER PLUS ONE.                    FMD
*         B12 REGISTER - UPPER SECTOR NUMBER PLUS ONE.                   FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*IF DEF,SFMD
*         OB(00-501) - WRITE DATA BUFFER.                                FMD
*         IB(00-501) - READ DATA BUFFER.                                 FMD
*ENDIF
*IF DEF,PFMD
*         OB(00-503) - WRITE DATA BUFFER. 
*         IB(00-503) - READ DATA BUFFER.
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD58 - W/R/FORWARD OFFSET
2  FORMAT FLD58 - EC *DECD, LC = *DECD
3  FORMAT FLD58 - *DECD ERRORS
4  FORMAT FLD58 - C=*OCT H=*OCT S=*OCT
*ENDIF
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*         SB(32-64) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD58 - W/R FORWARD OFFSET                                     FMD
2  FORMAT FMD58 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD58 - *DECD ERRORS                                           FMD
4  FORMAT FMD58 - C=*OCT T=*OCT S=*OCT                                   FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD58 - W/R FORWARD OFFSET
2  FORMAT FHD58 - EC *DECD, LC = *DECD
3  FORMAT FHD58 - *DECD ERRORS
4  FORMAT FHD58 - C=*OCT T=*OCT S=*OCT
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSROT=1600               FMD
   EQUATE DSRRS=600, DSV=40, OTRK=1000, RTZ=111                          FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B7=1512                   *LOWER CYLINDER NUMBER                      FMD
   B11=P2+1 AND 77           *UPPER TRACK NUMBER                         FMD
   B12=P3+1 AND 77           *UPPER SECTOR NUMBER                        FMD
24 B8=P2 RS 6                *LOWER TRACK NUMBER                         FMD
   B9=P3 RS 6                *LOWER SECTOR NUMBER                        FMD
   B0=B13 OR 1               *DATA PATTERN FLAG                          FMD
   CALL 98H                  *GENERATE COMPARE DATA BUFFER               FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
26 RES,DRIVE,ABT 44             *CONNECT TO CONTROLLER/DRIVE             FMD
30 IF(SB(9)AND DSR EQ 0)ERROR 15/0 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   B9=P3 RS 6                          *LOWER SECTOR NUMBER              FMD
*                                                                        FMD
/         WRITE AND READ ALL TRACKS ON CYLINDER 842.                     FMD
*                                                                        FMD
32 B4=1                             *SECTOR COUNT                        FMD
   MSG 4 (B7,B8,B9) TO DISPLAY      *DISPLAY RUNNING MESSAGE             FMD
   WRITE B4 CODED SEC AT CYL B7,TRK B8,SEC B9,ABT 46  *WRITE             FMD
   MARGINS FWD OFFSET,NORMAL STROBES,ABT 72  *SET MARGINS                FMD
   B4=1                             *SECTOR COUNT                        FMD
   READ B4 SEC AT CYL B7,TRK B8,SEC B9,ABT 52   *READ                    FMD
*IF DEF,SFMD
   B4=502                           *SECTOR WORD COUNT                   FMD
*ENDIF
*IF DEF,PFMD
   B4=504                           *SECTOR WORD COUNT
*ENDIF
*IF DEF,LSFMD 
   B4=502                         *SECTOR WORD COUNT
*ENDIF
   COMPARE OB TO IB FOR B4,ABT 60   *CHECK DATA BUFFER                   FMD
34 GOSUB 74                         *REPEAT CONDITION CHECK              FMD
   GOTO 32 WHILE(B9+1 NE B12)       *LOOP TO DO ALL SECTORS              FMD
   GOTO 26 WHILE(B8+1 NE B11)       *LOOP TO DO ALL TRACKS               FMD
   GOTO 24 WHILE(B13+1 NE 2)        *DO TWO DATA PATTERNS                FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
36 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
44 IF(EC AND 77 NE 25) GOTO 72    *NOT GENERAL STATUS ERROR              FMD
   IF(SB(9) AND DSRRS NE DSRRS) GOTO 30  *STATUS ERROR                   FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON WRITE COMMAND.                                FMD
*                                                                        FMD
46 IF(EC AND 77 EQ 25) GOTO 50         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
50 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25               *IF RETRY ATTEMPTED               FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 72        *NOT ADDRESS FIELD              FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON READ COMMAND.                                 FMD
*                                                                        FMD
52 IF(EC AND 77 EQ 25) GOTO 54         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
54 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25               *IF RETRY ATTEMPTED               FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 56      *NOT ADDRESS FIELD                FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
56 IF(SB(B4+21)AND 2 EQ 0) GOTO 72  *NOT DATA FIELD ERROR                FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 5/8 GOTO 66  *SYNC BYTE
   IF(SB(B4+2)AND 1000 NE 0)ERROR 12/12 GOTO 66  *CHECKWORD              FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON COMPARE ERROR.                                FMD
*                                                                        FMD
60 ERROR 7/11 GOTO 72        *REPORT THE DATA COMPARE ERROR              FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED WHILE READING THE SECTOR.              FMD
*                                                                        FMD
66 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=58D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 96C    *IF NO SCOPING LOOP                    FMD
   IF(ES AND SL EQ 0) CALL 96B    *IF NO SCOPING LOOP                    FMD
   GOTO 73                        *GO TO END PROCESSING OF ERROR
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98F   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=58D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96C   *IF NO SCOPING LOOP                     FMD
73 IF(B13.EQ.2) ENDSUB GOTO 36   *IF CONDITION 2
   RES,DRIVE, ABT 44             *CONNECT TO CONTROLLER/DRIVE 
   ENDSUB GOTO 34                *CONDITIONS 0 OR 1                      FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0)RETURN      *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                     *INCREASE LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY    *DISPLAY RC MESSAGE                     FMD
   ENDSUB GOTO 26                *REPEAT CONDITION 1                     FMD
   END 20                        *END OF THE MODULE                      FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD59,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD59,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD59,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.59 W/R FWD/LATE MARGIN                                           FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD59 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL  FMD
*ENDIF
*IF DEF,PFMD
*         FHD59 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL 
*ENDIF
*IF DEF,LSFMD 
*         FLD59 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL 
*ENDIF
*         CAN BE READ WITHOUT ANY ERRORS WHEN FORWARD OFFSET AND LATE    FMD
*         STROBE MARGINS ARE SELECTED. THE DATA FIELD WILL BE WRITTEN    FMD
*         AND READ TWICE USING TWO DATA PATTERNS. ALL SELECTED SECTORS   FMD
*         AND TRACKS WILL USED.                                          FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C E36C HEX. FMD
*         2.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  WRITE A SECTOR ON CYLINDER 1512 OCTAL ON THE FIXED MODULE  FMD06
*             DRIVE. IF AN ERROR IS DETECTED DURING THE WRITE OPERATION, FMD06
*             VERIFY THAT READY AND SAFE IS ACTIVE, THE SYNC BYTE WAS    FMD06
*             FOUND, AN ADDRESS COMPARED OCCURRED, AND THERE WAS NOT ECC FMD06
*             ERROR.                                                     FMD06
*         4.  ENABLE FORWARD OFFSET AND LATE STROBE MARGINS IN THE FIXED FMD
*             MODULE DRIVE.                                              FMD
*         5.  READ THE SECTOR JUST WRITTEN AND VERIFY THAT READY AND     FMD
*             SAFE IS ACTIVE, THE SYNC BYTE WAS FOUND, AN ADDRESS        FMD
*             COMPARE OCCURED, AND THERE WAS NOT ECC ERROR IN THE        FMD
*             ADDRESS. VERIFY THAT THE SYNC BYTE WAS FOUND, THE DATA WAS FMD
*             CORRECT, AND THERE WAS NO EEC ERROR IN THE DATA FIELD.     FMD
*         6.  REPEAT STEPS 3,4, AND 5 FOR ALL SECTORS SELECTED IN        FMD
*             PARAMETER WORD 3.                                          FMD
*         7.  REPEAT STEPS 2, 3, 4, 5, AND 6 FOR ALL TRACKS SELECTED IN  FMD
*             PARAMETER WORD 2.                                          FMD
*         8.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C AAAA HEX. FMD
*         9.  REPEAT STEPS 2, 3, 4, 5, 6, AND 7 USING THIS DATA PATTERN. FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         PARAMETER WORD P2 CONTAINS THE UPPER AND LOWER TRACK NUMBERS.  FMD
*         PARAMETER WORD P3 CONTAINS THE UPPER AND LOWER SECTOR NUMBERS. FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98F - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD96B - PROCESS RETRY COUNT.                                  FMD
*         FMD96C - PROCESS ERRORS.                                       FMD
*         FMD96D - PROCESS ERRORS.                                       FMD
*         FMD96E - PROCESS ERRORS.                                       FMD
*         FMD96F - PROCESS ERRORS.                                       FMD
*         FMD96G - PROCESS ERRORS.                                       FMD
*         FMD96H - PROCESS ERRORS.                                       FMD
*         FMD96I - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96J - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98F - ISOLATE READY AND SAFE FAULT.
*         FHD96B - PROCESS RETRY COUNT. 
*         FHD96C - PROCESS ERRORS.
*         FHD96D - PROCESS ERRORS.
*         FHD96E - PROCESS ERRORS.
*         FHD96F - PROCESS ERRORS.
*         FHD96G - PROCESS ERRORS.
*         FHD96H - PROCESS ERRORS.
*         FHD96I - PROCESS ISOLATION INFORMATION. 
*         FHD96J - PROCESS ISOLATION INFORMATION. 
*         FHD96K - PROCESS ISOLATION INFORMATION. 
*         FHD96Y - PROCESS ISOLATION INFORMATION. 
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98F - ISOLATE READY AND SAFE FAULTS. 
*         FLD96B - PROCESS RETRY COUNT. 
*         FLD96C - PROCESS ERRORS 
*         FLD96D - PROCESS ERRORS.
*         FLD96E - PROCESS ERRORS.
*         FLD96F - PROCESS ERRORS.
*         FLD96G - PROCESS ERRORS.
*         FLD96H - PROCESS ERRORS.
*         FLD96I - PROCESS ISOLATION INFORMATION. 
*         FLD96J - PROCESS ISOLATION INFORMATION. 
*         FLD96K - PROCESS ISOLATION INFORMATION. 
*         FLD96Y - PROCESS ISOLATION INFORMATION. 
*         FLD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - LOWER CYLINDER NUMBER.                           FMD
*         B8 REGISTER - LOWER TRACK NUMBER.                              FMD
*         B9 REGISTER - LOWER SECTOR NUMBER.                             FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - UPPER TRACK NUMBER PLUS ONE.                    FMD
*         B12 REGISTER - UPPER SECTOR NUMBER PLUS ONE.                   FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*IF DEF,SFMD
*         OB(00-501) - WRITE DATA BUFFER.                                FMD
*         IB(00-501) - READ DATA BUFFER.                                 FMD
*ENDIF
*IF DEF,PFMD
*         OB(00-503) - WRITE DATA BUFFER. 
*         IB(00-503) - READ DATA BUFFER.
*ENDIF
*IF DEF,LSFMD 
*         OB(00-501) - WRITE DATA BUFFER. 
*         IB(00-501) - READ DATA BUFFER.
*ENDIF
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*         SB(32-64) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD59 - W/R FWD/LATE MARGIN                                    FMD
2  FORMAT FMD59 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD59 - *DECD ERRORS                                           FMD
4  FORMAT FMD59 - C=*OCT T=*OCT S=*OCT                                   FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD59 - W/R FWD/LATE MARGIN 
2  FORMAT FHD59 - EC *DECD, LC = *DECD
3  FORMAT FHD59 - *DECD ERRORS
4  FORMAT FHD59 - C=*OCT T=*OCT S=*OCT
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD59 - W/R FWD/LATE MARGIN 
2  FORMAT FLD59 - EC *DECD, LC = *DECD
3  FORMAT FLD59 - *DECD ERRORS
4  FORMAT FLD59 - C=*OCT H=*OCT S=*OCT
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSROT=1600               FMD
   EQUATE DSRRS=600, DSV=40, OTRK=1000, RTZ=111                          FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B7=1512                   *LOWER CYLINDER NUMBER                      FMD
   B11=P2+1 AND 77           *UPPER TRACK NUMBER                         FMD
   B12=P3+1 AND 77           *UPPER SECTOR NUMBER                        FMD
24 B8=P2 RS 6                *LOWER TRACK NUMBER                         FMD
   B9=P3 RS 6                *LOWER SECTOR NUMBER                        FMD
   B0=B13 OR 1               *DATA PATTERN FLAG                          FMD
   CALL 98H                  *GENERATE COMPARE DATA BUFFER               FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
26 RES,DRIVE,ABT 44             *CONNECT TO CONTROLLER/DRIVE             FMD
30 IF(SB(9)AND DSR EQ 0)ERROR 15/0 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   B9=P3 RS 6                          *LOWER SECTOR NUMBER              FMD
*                                                                        FMD
/         WRITE AND READ ALL TRACKS ON CYLINDER 842.                     FMD
*                                                                        FMD
32 B4=1                             *SECTOR COUNT                        FMD
   MSG 4 (B7,B8,B9) TO DISPLAY      *DISPLAY RUNNING MESSAGE             FMD
   WRITE B4 CODED SEC AT CYL B7,TRK B8,SEC B9,ABT 46  *WRITE             FMD
   MARGINS FWD OFFSET,LATE STROBES,ABT 72  *SET MARGINS                  FMD
   B4=1                             *SECTOR COUNT                        FMD
   READ B4 SEC AT CYL B7,TRK B8,SEC B9,ABT 52   *READ                    FMD
*IF DEF,SFMD
   B4=502                           *SECTOR WORD COUNT                   FMD
*ENDIF
*IF DEF,PFMD
   B4=504                           *SECTOR WORD COUNT
*ENDIF
*IF DEF,LSFMD 
   B4=502                         *SECTOR WORD COUNT
*ENDIF
   COMPARE OB TO IB FOR B4,ABT 60   *CHECK DATA BUFFER                   FMD
34 GOSUB 74                         *REPEAT CONDITION CHECK              FMD
   GOTO 32 WHILE(B9+1 NE B12)       *LOOP TO DO ALL SECTORS              FMD
   GOTO 26 WHILE(B8+1 NE B11)       *LOOP TO DO ALL TRACKS               FMD
   GOTO 24 WHILE(B13+1 NE 2)        *DO TWO DATA PATTERNS                FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
36 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
44 IF(EC AND 77 NE 25) GOTO 72    *NOT GENERAL STATUS ERROR              FMD
   IF(SB(9) AND DSRRS NE DSRRS) GOTO 30  *STATUS ERROR                   FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON WRITE COMMAND.                                FMD
*                                                                        FMD
46 IF(EC AND 77 EQ 25) GOTO 50         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
50 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25               *IF RETRY ATTEMPTED               FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 72        *NOT ADDRESS FIELD              FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON READ COMMAND.                                 FMD
*                                                                        FMD
52 IF(EC AND 77 EQ 25) GOTO 54         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
54 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25               *IF RETRY ATTEMPTED               FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 56      *NOT ADDRESS FIELD                FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
56 IF(SB(B4+21)AND 2 EQ 0) GOTO 72  *NOT DATA FIELD ERROR                FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 5/8 GOTO 66  *SYNC BYTE
   IF(SB(B4+2)AND 1000 NE 0)ERROR 12/12 GOTO 66  *CHECKWORD              FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON COMPARE ERROR.                                FMD
*                                                                        FMD
60 ERROR 7/11 GOTO 72        *REPORT THE DATA COMPARE ERROR              FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED WHILE READING THE SECTOR.              FMD
*                                                                        FMD
66 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=59D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 96C    *IF NO SCOPING LOOP                    FMD
   IF(ES AND SL EQ 0) CALL 96B    *IF NO SCOPING LOOP                    FMD
   GOTO 73                        *GO TO END PROCESSING OF ERROR
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98F   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=59D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96C   *IF NO SCOPING LOOP                     FMD
73 IF(B13.EQ.2) ENDSUB GOTO 36   *IF CONDITION 2
   RES,DRIVE, ABT 44             *CONNECT TO CONTROLLER/DRIVE 
   ENDSUB GOTO 34                *CONDITIONS 0 OR 1                      FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0)RETURN      *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                     *INCREASE LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY    *DISPLAY RC MESSAGE                     FMD
   ENDSUB GOTO 26                *REPEAT CONDITION 1                     FMD
   END 20                        *END OF THE MODULE                      FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD60,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD60,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD60,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.60 W/R FWD/EARLY MARGIN                                          FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD60 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL  FMD
*ENDIF
*IF DEF,PFMD
*         FHD60 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL 
*ENDIF
*IF DEF,LSFMD 
*         FLD60 VERIFIES THAT THE DATA FIELD OF THE CYLINDER 1512 OCTAL 
*ENDIF
*         CAN BE READ WITHOUT ANY ERRORS WHEN FORWARD OFFSET AND EARLY   FMD
*         STROBE MARGINS ARE SELECTED. THE DATA FIELD WILL BE WRITTEN    FMD
*         AND READ TWICE USING TWO DATA PATTERNS. ALL SELECTED SECTORS   FMD
*         AND TRACKS WILL USED.                                          FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C E36C HEX. FMD
*         2.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  WRITE A SECTOR ON CYLINDER 1512 OCTAL ON THE FIXED MODULE  FMD06
*             DRIVE. IF AN ERROR IS DETECTED DURING THE WRITE OPERATION, FMD06
*             VERIFY THAT READY AND SAFE IS ACTIVE, THE SYNC BYTE WAS    FMD06
*             FOUND, AN ADDRESS COMPARED OCCURRED, AND THERE WAS NOT ECC FMD06
*             ERROR.                                                     FMD06
*         4.  ENABLE FORWARD OFFSET AND EARLY STROBE MARGINS IN THE      FMD
*             FIXED MODULE DRIVE.                                        FMD
*         5.  READ THE SECTOR JUST WRITTEN AND VERIFY THAT READY AND     FMD
*             SAFE IS ACTIVE, THE SYNC BYTE WAS FOUND, AN ADDRESS        FMD
*             COMPARE OCCURED, AND THERE WAS NOT ECC ERROR IN THE        FMD
*             ADDRESS. VERIFY THAT THE SYNC BYTE WAS FOUND, THE DATA WAS FMD
*             CORRECT, AND THERE WAS NO EEC ERROR IN THE DATA FIELD.     FMD
*         6.  REPEAT STEPS 3,4, AND 5 FOR ALL SECTORS SELECTED IN        FMD
*             PARAMETER WORD 3.                                          FMD
*         7.  REPEAT STEPS 2, 3, 4, 5, AND 6 FOR ALL TRACKS SELECTED IN  FMD
*             PARAMETER WORD 2.                                          FMD
*         8.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C AAAA HEX. FMD
*         9.  REPEAT STEPS 2, 3, 4, 5, 6, AND 7 USING THIS DATA PATTERN. FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         PARAMETER WORD P2 CONTAINS THE UPPER AND LOWER TRACK NUMBERS.  FMD
*         PARAMETER WORD P3 CONTAINS THE UPPER AND LOWER SECTOR NUMBERS. FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98F - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD96B - PROCESS RETRY COUNT.                                  FMD
*         FMD96C - PROCESS ERRORS.                                       FMD
*         FMD96D - PROCESS ERRORS.                                       FMD
*         FMD96E - PROCESS ERRORS.                                       FMD
*         FMD96F - PROCESS ERRORS.                                       FMD
*         FMD96G - PROCESS ERRORS.                                       FMD
*         FMD96H - PROCESS ERRORS.                                       FMD
*         FMD96I - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96J - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98F - ISOLATE READY AND SAFE FAULT.
*         FHD96B - PROCESS RETRY COUNT. 
*         FHD96C - PROCESS ERRORS.
*         FHD96D - PROCESS ERRORS.
*         FHD96E - PROCESS ERRORS.
*         FHD96F - PROCESS ERRORS.
*         FHD96G - PROCESS ERRORS.
*         FHD96H - PROCESS ERRORS.
*         FHD96I - PROCESS ISOLATION INFORMATION. 
*         FHD96J - PROCESS ISOLATION INFORMATION. 
*         FHD96K - PROCESS ISOLATION INFORMATION. 
*         FHD96Y - PROCESS ISOLATION INFORMATION. 
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98F - ISOLATE READY AND SAFE FAULTS. 
*         FLD96B - PROCESS RETRY COUNT. 
*         FLD96C - PROCESS ERRORS 
*         FLD96D - PROCESS ERRORS.
*         FLD96E - PROCESS ERRORS.
*         FLD96F - PROCESS ERRORS.
*         FLD96G - PROCESS ERRORS.
*         FLD96H - PROCESS ERRORS.
*         FLD96I - PROCESS ISOLATION INFORMATION. 
*         FLD96J - PROCESS ISOLATION INFORMATION. 
*         FLD96K - PROCESS ISOLATION INFORMATION. 
*         FLD96Y - PROCESS ISOLATION INFORMATION. 
*         FLD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - LOWER CYLINDER NUMBER.                           FMD
*         B8 REGISTER - LOWER TRACK NUMBER.                              FMD
*         B9 REGISTER - LOWER SECTOR NUMBER.                             FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - UPPER TRACK NUMBER PLUS ONE.                    FMD
*         B12 REGISTER - UPPER SECTOR NUMBER PLUS ONE.                   FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*IF DEF,SFMD
*         OB(00-501) - WRITE DATA BUFFER.                                FMD
*         IB(00-501) - READ DATA BUFFER.                                 FMD
*ENDIF
*IF DEF,PFMD
*         OB(00-503) - WRITE DATA BUFFER. 
*         IB(00-503) - READ DATA BUFFER.
*ENDIF
*IF DEF,LSFMD 
*         OB(00-501) - WRITE DATA BUFFER. 
*         IB(00-501) - READ DATA BUFFER.
*ENDIF
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*         SB(32-64) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD60 - W/R FWD/EARLY MARGIN                                   FMD
2  FORMAT FMD60 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD60 - *DECD ERRORS                                           FMD
4  FORMAT FMD60 - C=*OCT T=*OCT S=*OCT                                   FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD60 - W/R FWD/EARLY MARGIN
2  FORMAT FHD60 - EC *DECD, LC = *DECD
3  FORMAT FHD60 - *DECD ERRORS
4  FORMAT FHD60 - C=*OCT T=*OCT S=*OCT
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD60 - W/R FWD EARLY MARGIN
2  FORMAT FLD60 - EC *DECD, LC = *DECD
3  FORMAT FLD60 - *DECD ERRORS
4  FORMAT FLD60 - C=*OCT H=*OCT S=*OCT
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSROT=1600               FMD
   EQUATE DSRRS=600, DSV=40, OTRK=1000, RTZ=111                          FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B7=1512                   *LOWER CYLINDER NUMBER                      FMD
   B11=P2+1 AND 77           *UPPER TRACK NUMBER                         FMD
   B12=P3+1 AND 77           *UPPER SECTOR NUMBER                        FMD
24 B8=P2 RS 6                *LOWER TRACK NUMBER                         FMD
   B9=P3 RS 6                *LOWER SECTOR NUMBER                        FMD
   B0=B13 OR 1               *DATA PATTERN FLAG                          FMD
   CALL 98H                  *GENERATE COMPARE DATA BUFFER               FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
26 RES,DRIVE,ABT 44             *CONNECT TO CONTROLLER/DRIVE             FMD
30 IF(SB(9)AND DSR EQ 0)ERROR 15/0 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   B9=P3 RS 6                          *LOWER SECTOR NUMBER              FMD
*                                                                        FMD
/         WRITE AND READ ALL TRACKS ON CYLINDER 842.                     FMD
*                                                                        FMD
32 B4=1                             *SECTOR COUNT                        FMD
   MSG 4 (B7,B8,B9) TO DISPLAY      *DISPLAY RUNNING MESSAGE             FMD
   WRITE B4 CODED SEC AT CYL B7,TRK B8,SEC B9,ABT 46  *WRITE             FMD
   MARGINS FWD OFFSET,EARLY STROBES,ABT 72  *SET MARGINS                 FMD
   B4=1                             *SECTOR COUNT                        FMD
   READ B4 SEC AT CYL B7,TRK B8,SEC B9,ABT 52   *READ                    FMD
*IF DEF,SFMD
   B4=502                           *SECTOR WORD COUNT                   FMD
*ENDIF
*IF DEF,PFMD
   B4=504                           *SECTOR WORD COUNT
*ENDIF
*IF DEF,LSFMD 
   B4=502                         *SECTOR WORD COUNT
*ENDIF
   COMPARE OB TO IB FOR B4,ABT 60   *CHECK DATA BUFFER                   FMD
34 GOSUB 74                         *REPEAT CONDITION CHECK              FMD
   GOTO 32 WHILE(B9+1 NE B12)       *LOOP TO DO ALL SECTORS              FMD
   GOTO 26 WHILE(B8+1 NE B11)       *LOOP TO DO ALL TRACKS               FMD
   GOTO 24 WHILE(B13+1 NE 2)        *DO TWO DATA PATTERNS                FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
36 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
44 IF(EC AND 77 NE 25) GOTO 72    *NOT GENERAL STATUS ERROR              FMD
   IF(SB(9) AND DSRRS NE DSRRS) GOTO 30  *STATUS ERROR                   FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON WRITE COMMAND.                                FMD
*                                                                        FMD
46 IF(EC AND 77 EQ 25) GOTO 50         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
50 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25               *IF RETRY ATTEMPTED               FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 72        *NOT ADDRESS FIELD              FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON READ COMMAND.                                 FMD
*                                                                        FMD
52 IF(EC AND 77 EQ 25) GOTO 54         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
54 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25               *IF RETRY ATTEMPTED               FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 56      *NOT ADDRESS FIELD                FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 24/5 GOTO 66  *SYNC BYTE 
   IF(SB(B4+1)AND 10 NE 0)ERROR 1/6 GOTO 66     *COMPARE                 FMD
   IF(SB(B4+2)AND 4000 NE 0)ERROR 2/7 GOTO 66   *CHECKWORD               FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
56 IF(SB(B4+21)AND 2 EQ 0) GOTO 72  *NOT DATA FIELD ERROR                FMD
   IF(SB(B4+21)AND 4400 NE 0)ERROR 5/8 GOTO 66  *SYNC BYTE
   IF(SB(B4+2)AND 1000 NE 0)ERROR 12/12 GOTO 66  *CHECKWORD              FMD
   GOTO 72                          *GO TO REPORT THE ERROR              FMD
*                                                                        FMD
/         PROCESS ABORT ON COMPARE ERROR.                                FMD
*                                                                        FMD
60 ERROR 7/11 GOTO 72        *REPORT THE DATA COMPARE ERROR              FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED WHILE READING THE SECTOR.              FMD
*                                                                        FMD
66 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=60D                         *MODULE NUMBER                         FMD
   IF(ES AND SL EQ 0) CALL 96C    *IF NO SCOPING LOOP                    FMD
   IF(ES AND SL EQ 0) CALL 96B    *IF NO SCOPING LOOP                    FMD
   GOTO 73                        *GO TO END PROCESSING OF ERROR
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98F   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=60D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96C   *IF NO SCOPING LOOP                     FMD
73 IF(B13.EQ.2) ENDSUB GOTO 36   *IF CONDITION 2
   RES,DRIVE, ABT 44             *CONNECT TO CONTROLLER/DRIVE 
   ENDSUB GOTO 34                *CONDITIONS 0 OR 1                      FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0)RETURN      *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                     *INCREASE LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY    *DISPLAY RC MESSAGE                     FMD
   ENDSUB GOTO 26                *REPEAT CONDITION 1                     FMD
   END 20                        *END OF THE MODULE                      FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD61,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD61,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD61,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.61 VERIFY DATA FIELD                                             FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD61 VERIFIES THAT THE ADDRESS FIELD OF THE FIRST SECTOR ON   FMD
*ENDIF
*IF DEF,PFMD
*         FHD61 VERIFIES THAT THE ADDRESS FIELD OF THE FIRST SECTOR ON
*ENDIF
*IF DEF,LSFMD 
*         FLD61 VERIFIES THAT THE ADDRESS FIELD OF THE FIRST SECTOR ON
*ENDIF
*         TRACK 0 OF CYLINDER 1512 OCTAL CAN BE READ WITHOUT ANY ERRORS. FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         2.  ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS. VERIFY THAT STATUS VALID READY AND   FMD
*             SAFE, AND ON CYLINDER STATUSES ARE ACTIVE.                 FMD
*         3.  ISSUE A SEEK (48) COMMAND TO THE DRIVE AND WAIT FOR THE    FMD
*             SEEK TO COMPLETE. VERIFY THAT STATUS VALID, READY AND      FMD
*             SAFE, AND ON CYLINDER STATUSES ARE ACTIVE.                 FMD
*         4.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         5.  READ THE ADDRESS FIELD OF SECTOR 0, TRACK 0 OF CYLINDER    FMD
*             1512 OCTAL.                                                FMD
*         6.  RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY PARAMETERS.                                           FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98G - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD96L - PROCESS ERRORS.                                       FMD
*         FMD96M - PROCESS ERRORS.                                       FMD
*         FMD96N - PROCESS ERRORS.                                       FMD
*         FMD96O - PROCESS ERRORS.                                       FMD
*         FMD96P - PROCESS ERRORS.                                       FMD
*         FMD96Q - PROCESS ERRORS.                                       FMD
*         FMD96R - PROCESS ERRORS.                                       FMD
*         FMD96S - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96T - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98G - ISOLATE READY AND SAFE FAULT.
*         FHD96L - PROCESS ERRORS.
*         FHD96M - PROCESS ERRORS.
*         FHD96N - PROCESS ERRORS.
*         FHD96O - PROCESS ERRORS.
*         FHD96P - PROCESS ERRORS.
*         FHD96Q - PROCESS ERRORS.
*         FHD96R - PROCESS ERRORS.
*         FHD96S - PROCESS ISOLATION INFORMATION. 
*         FHD96T - PROCESS ISOLATION INFORMATION. 
*         FHD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98G - ISOLATE READY AND SAFE FAULTS. 
*         FLD96L - PROCESS ERRORS.
*         FLD96M - PROCESS ERRORS.
*         FLD96N - PROCESS ERRORS.
*         FLD96O - PROCESS ERRORS.
*         FLD96P - PROCESS ERRORS.
*         FLD96Q - PROCESS ERRORS.
*         FLD96R - PROCESS ERRORS.
*         FLD96S - PROCESS ISOLATION INFORMATION. 
*         FLD96T - PROCESS ISOLATION INFORMATION. 
*         FLD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*IF DEF,LSFMD,2 
*         B5 REGISTER - SECTOR SIZE INDEX 
*         B6 REGISTER - ABORT INDEX 
*IF -DEF,LSFMD,2
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - LOWER CYLINDER NUMBER.                           FMD
*         B8 REGISTER - LOWER TRACK NUMBER.                              FMD
*         B9 REGISTER - LOWER SECTOR NUMBER.                             FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*         SB(32-64) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD61 - VERIFY ADDRESS FIELD                                   FMD
2  FORMAT FMD61 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD61 - *DECD ERRORS                                           FMD
4  FORMAT FMD61 - C=*OCT H=*OCT S=*OCT                                   FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD61 - VERIFY ADDRESS FIELD
2  FORMAT FHD61 - EC *DECD, LC = *DECD
3  FORMAT FHD61 - *DECD ERRORS
4  FORMAT FHD61 - C=*OCT H=*OCT S=*OCT
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD61 - VERIFY ADDRESS FIELD
2  FORMAT FLD61 - EC *DECD, LC = *DECD
3  FORMAT FLD61 - *DECD ERRORS
4  FORMAT FLD61 - C=*OCT H=*OCT S=*OCT
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSRRS=600                FMD
   EQUATE DSV=40, OTRK=1000, RTZ=111                                     FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
*IF DEF,LSFMD,1 
   B5 = 0                         *LARGE SEC
   B7=1512                   *CYLINDER NUMBER                            FMD
   B8=0                      *TRACK NUMBER                               FMD
   B9=0                      *SECTOR NUMBER                              FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
24 GOSUB 50                  *CONNECT TO CONTROLLER/DRIVE                FMD
*                                                                        FMD
/         ISSUE A RTZ COMMAND TO THE DRIVE.                              FMD
*                                                                        FMD
   OUT CH=CH8,0,RTZ,ABT 72            *ISSUE RTZ COMMAND                 FMD
   DELAY,300D MSEC                    *DELAY FOR ON CYLINDER             FMD
   STATUS,DETAIL,ABT 72                 *GET DETAILED STATUS             FMD
   IF(SB(9)AND DSV EQ 0)ERROR 17/2 GOTO 72  *STATUS VALID                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 21/3 GOTO 72  *OFF CYLINDER               FMD
*                                                                        FMD
/         SEEK TO CYLINDER 842 DECIMAL, HEAD 0, SECTOR 0.                FMD
*                                                                        FMD
   SEEK CYL B7,TRK B8,SEC,B9,ABT 56   *SEEK TO CYLINDER 842D             FMD
   STATUS,DETAIL,ABT 72                *GET DETAILED STATUS              FMD
26 IF(SB(9)AND DSV EQ 0)ERROR 17/2 GOTO 72  *STATUS VALID                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 22/4 GOTO 72  *OFF CYLINDER               FMD
30 GOSUB 74                          *REPEAT CONDITION CHECK             FMD
   B13=1                             *CONDITION NUMBER 1                 FMD
*                                                                        FMD
/         READ SECTOR 0, HEAD 0, CYLINDER 842.                           FMD
*                                                                        FMD
32 GOSUB 50                  *CONNECT TO CONTROLLER/DRIVE                FMD
   B4=1                        *SECTOR COUNT                             FMD
*IF DEF,LSFMD 
   CALL 61A 
   IF(B6.EQ.1) GOTO 60
   IF(B6.EQ.2) GOTO 54
*ENDIF
*IF -DEF,LSFMD,2
   MSG 4 (B7,B8,B9) TO DISPLAY  *DISPLAY RUNNING MESSAGE                 FMD
   READCW B4 SEC AT CYL B7,TRK B8,SEC B9,ABT 60  *READ                   FMD
40 GOSUB 74                          *REPEAT CONDITION CHECK             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         RESERVE THE CONTROLLER AND FIXED MODULE DRIVE.                 FMD
*                                                                        FMD
50 RES,DRIVE,ABT 54             *CONNECT TO CONTROLLER/DRIVE             FMD
52 IF(SB(9)AND DSR EQ 0)ERROR 15/1 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   RETURN                              *EXIT THE SUBROUTINE              FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
54 IF(EC AND 77 NE 25) GOTO 72     *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DSRRS NE DSRRS)GOTO 52  *STATUS ERROR                     FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON SEEK COMMAND.                                 FMD
*                                                                        FMD
56 IF(EC AND 77 LT 25) GOTO 72     *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DRSVOT NE DRSVOT)GOTO 26  *STATUS ERROR                   FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON READ COMMAND.                                 FMD
*                                                                        FMD
60 IF(EC AND 77 EQ 25) GOTO 62         *GENERAL STATUS ERROR             FMD
   IF(EC AND 77 NE 30) GOTO 72         *NOT SUCCESSFUL RETRY             FMD
62 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25                 *IF RETRY ATTEMPTED             FMD
   IF(SB(B4+21)AND 1 EQ 0)GOTO 64         *NOT ADDRESS FIELD             FMD
   IF(SB(B4+1)AND 10 NE 0)ERROR 23/5 GOTO 72  *COMPARE ERROR             FMD
   GOTO 40                                   *SKIP THE ERROR             FMD
64 IF(SB(B4+21)AND 2 NE 0)GOTO 40         *IGNORE DATA FIELD             FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98G   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=61D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96L   *IF NO SCOPING LOOP                     FMD
   IF(B13 EQ 0) ENDSUB GOTO 30   *IF CONDITION 0                         FMD
   IF(B13 EQ 1) ENDSUB GOTO 40   *IF CONDITION 1                         FMD
   ENDSUB GOTO 42                *CONDITION 2                            FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76    *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                     *INCREASE LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY    *DISPLAY RC MESSAGE                     FMD
   IF(B13 EQ 0) ENDSUB GOTO 24   *REPEAT CONDITION 0                     FMD
   ENDSUB GOTO 32                *REPEAT CONDITION 1                     FMD
76 IF(B13 EQ 1)RETURN            *IF CONDITION 1                         FMD
   MSG 1 TO DISPLAY              *DISPLAY RUNNING MESSAGE                FMD
   RETURN                        *EXIT THE SUBROUTINE                    FMD
   END 20                        *END OF THE MODULE                      FMD
COMPILE                                                                  FMD
*IF DEF,LSFMD 
   MODULE FLD61A,LSFMD1,(16),LOCK 
**
* 
*         PURPOSE-
* 
*         FLD61A WILL CHECK THE SECTOR SIZE INDEX, THEN IT TRIES TO 
*         DO A LARGE SECTOR READ CHECKWORD, IF SUCCESSFULL IT WILL
*         EXIT TO PRIMARY MODULE AND CONTINUE NORMALLY IN THE 
*         PRIMARY;  IF NOT SUCCESSFULL IT WILL TRY TO DO A SMALL
*         SECTOR READ CHECWORD, THEN IT WILL EXIT TO PRIMARY MODULE.
* 
* 
*         METHOD- 
* 
*         1.  TEST FOR LARGE SECTOR INDEX;  IF NOT LARGE SECTOR, RESET
*             EVERY THING TO LARGE SECTOR.
*         2.  ATTEMPT A LARGE SECTOR READ CHECKWORD IF SUCCESSFULL
*             EXIT TO PRIMARY MODULE. 
*         3.  IF STEP 2 WAS NOT SUCCESSFUL, RESET SECTOR ADDRESS TO 
*             SMALL AND DO A SMALL SECTOR READ CHECKWORD. 
*         4.  EXIT TO PRIMARY MODULE AND CONTINUE NORMALLY. 
/ 
* 
* 
*         SUBMODULES REFERENCED-
* 
*         NONE
* 
* 
*         REGISTERS USED- 
* 
*         B1 = TEMPORARY STORAGE
*         B5 = SECTOR SIZE INDEX
*         B6 = ABORT INDEX
* 
1  FORMAT FLD61 - C=*OCT H=*OCT S=*OCT
2  FORMAT LARGE SECTOR READ CHECKWORD ATTEMPTED 
3  FORMAT SMALL SECTOR READ CHECKWORD ATTEMPTED 
* 
/                  MODULE INITILIZATION 
* 
20 B6 = 0                    INITILIZE THE ABORT INDEX
* 
/                  MODULE TEST
* 
   RES,DRIVE,ABT 35 
   IF(B5.EQ.0) GOTO 25               *IF LARGE SEC. 
   B5 = 0                           *RESET TO LARGE SEC. INDEX
   B4 = 1                           *NUMBER OF LARGE SEC. 
25 MSG 2 TO LINE 45 
   MSG 1(B7,B8,B9) TO DISPLAY 
   READCW B4 SEC AT CYL B7,TRK B8,SEC B9, ABT 27
   EXIT                      *EXIT TO PRIMARY MODULE
27 B5 = 1                    *SMALL SEC. INDEX
   B1=B9
   B4=4                      *NUMBER OF SMALL SEC 
   B9=B9.LS.2                *ADD. OF SMALL SEC.
   MSG 3 TO LINE 45 
   MSG 1 (B7,B8,B9) TO DISPLAY     *DISPLAY RUNNING MSG 
   READCW B4 SM SEC AT CYL B7 TRK B8 SEC B9, ABT 31 
   B9=B1
   GOTO 33
31 B6 = 1 
   B9=B1
33 EXIT 
35 B6=2 
   EXIT 
   END 20 
COMPILE 
*ENDIF
*IF DEF,SFMD
   MODULE FMD62,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD62,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD62,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.62 READ CONTROL FAULT                                            FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD62 VERIFIES THAT A READ AND NO CONTROL SELECT FAULT OCCURS  FMD06
*ENDIF
*IF DEF,PFMD
*         FHD62 VERIFIES THAT A READ AND NO CONTROL SELECT FAULT OCCURS 
*ENDIF
*IF DEF,LSFMD 
*         FLD62 VERIFIES THAT A READ AND NO CONTROL SELECT FAULTS OCCUR 
*ENDIF
*         WHEN THE READ GATE IS TURNED ON WITHOUT CONTROL SELECT         FMD
*         ENABLED.                                                       FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         2.  ISSUE A SEEK (48) COMMAND TO THE DRIVE AND WAIT FOR THE    FMD
*             SEEK TO COMPLETE. VERIFY THAT STATUS VALID, READY AND      FMD
*             SAFE, AND ON CYLINDER STATUSES ARE ACTIVE.                 FMD
*         3.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         4.  EXECUTE A CONTROL SEQUENCE THAT WILL DELAY INTO THE DATA   FMD
*             FIELD OF SECTOR 0, TRACK 0 OF CYLINDER 1512 OCTAL AND      FMD
*             TURN ON THE READ GATE WITHOUT CONTROL SELECT ENABLED.      FMD
*             DELAY FOR THE CONTROL SEQUENCE TO EXECUTE.                 FMD
*         5.  VERIFY THAT READY AND SAFE IS NOT ACTIVE.                  FMD
*         6.  ISSUE A 8D (STATUS WORD 6) COMMAND TO THE DRIVE AND        FMD
*             VERIFY THAT STATUS VALID AND STATUS BIT 7 ARE ACTIVE.      FMD
*         7.  ISSUE A 4A (CLEAR FAULT) COMMAND TO THE DRIVE AND VERIFY   FMD
*             THAT STATUS VALID AND READY AND SAFE IS ACTIVE.            FMD
*         8.  RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY PARAMETERS.                                           FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98G - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD96L - PROCESS ERRORS.                                       FMD
*         FMD96M - PROCESS ERRORS.                                       FMD
*         FMD96N - PROCESS ERRORS.                                       FMD
*         FMD96O - PROCESS ERRORS.                                       FMD
*         FMD96P - PROCESS ERRORS.                                       FMD
*         FMD96Q - PROCESS ERRORS.                                       FMD
*         FMD96R - PROCESS ERRORS.                                       FMD
*         FMD96S - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96T - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98G - ISOLATE READY AND SAFE FAULT.
*         FHD96L - PROCESS ERRORS.
*         FHD96M - PROCESS ERRORS.
*         FHD96N - PROCESS ERRORS.
*         FHD96O - PROCESS ERRORS.
*         FHD96P - PROCESS ERRORS.
*         FHD96Q - PROCESS ERRORS.
*         FHD96R - PROCESS ERRORS.
*         FHD96S - PROCESS ISOLATION INFORMATION. 
*         FHD96T - PROCESS ISOLATION INFORMATION. 
*         FHD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98G - ISOLATE READY AND SAFE FAULTS. 
*         FLD96L - PROCESS ERRORS.
*         FLD96M - PROCESS ERRORS.
*         FLD96N - PROCESS ERRORS.
*         FLD96O - PROCESS ERRORS.
*         FLD96P - PROCESS ERRORS.
*         FLD96Q - PROCESS ERRORS.
*         FLD96R - PROCESS ERRORS.
*         FLD96S - PROCESS ISOLATION INFORMATION. 
*         FLD96T - PROCESS ISOLATION INFORMATION. 
*         FLD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER.                                 FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTOR NUMBER.                                   FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(00-61) - CONTROL WORD SEQUENCE.                             FMD
*         SB(00-32) - CHANNEL AND  CONTROLWARE STATUSES FROM THE 7155    FMD
*                     CONTROLLER.                                        FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD62 - READ CONTROL FAULT                                     FMD
2  FORMAT FMD62 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD62 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD62 - READ CONTROL FAULT
2  FORMAT FHD62 - EC *DECD, LC = *DECD
3  FORMAT FHD62 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD62 - READ CONTROL FAULT
2  FORMAT FLD62 - EC *DECD, LC = *DECD
3  FORMAT FLD62 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE BIS=22, BT7=200, CDRS=10, CDS=21, CDSV=2                       FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSROT=1600               FMD
   EQUATE DSRRS=600, DSV=40, OTRK=1000                                   FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B7=1512                   *CYLINDER NUMBER                            FMD
   B8=0                      *TRACK NUMBER                               FMD
   B9=0                      *SECTOR NUMBER                              FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
24 GOSUB 50                  *CONNECT TO CONTROLLER/DRIVE                FMD
*                                                                        FMD
/         SEEK TO CYLINDER 842 DECIMAL, HEAD 0, SECTOR 0.                FMD
*                                                                        FMD
   SEEK CYL B7,TRK B8,SEC,B9,ABT 60    *SEEK TO CYLINDER 842             FMD
   STATUS,DETAIL,ABT 72                *GET DETAILED STATUS              FMD
26 IF(SB(9)AND DSV EQ 0)ERROR 17/2 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 22/4 GOTO 72  *OFF CYLINDER               FMD
30 GOSUB 74                          *REPEAT CONDITION CHECK             FMD
   B13=1                             *CONDITION NUMBER 1                 FMD
*                                                                        FMD
/         READ SECTOR 0, HEAD 0, CYLINDER 842.                           FMD
*                                                                        FMD
34 GOSUB 50                     *CONNECT TO CONTROLLER/DRIVE             FMD
   CONTROL,0,40,0,200,ABT 72    *ON SECTOR DELAY                         FMD
   CONTROL,3,0,0,0,ABT 72       *DELAY INTO DATA FIELD                   FMD
   CONTROL,0,40,0,4,ABT 72      *TURN ON READ GATE                       FMD
   CONTROL,0,0,0,0,EXECUTE,ABT 72  *EXECUTE CONTROL SEQUENCE             FMD
   DELAY 25D MSEC              *WAIT FOR SEQUENCE TO EXECUTE             FMD
   STATUS,CHANNEL,ABT 72             *GET CHANNEL STATUSES               FMD
   IF(SB(CDS)AND CDRS NE 0)ERROR 0/6 GOTO 72  *READY/SAFE                FMD
   OUT CHANNEL=CH8,0,215,ABT 72      *ISSUE 8D DRIVE COMMAND             FMD
   STATUS,CHANNEL,ABT 72             *GET CHANNEL STATUSES               FMD
   IF(SB(CDS)AND CDSV EQ 0)ERROR 17/2 GOTO 72  *STATUS VALID             FMD
   IF(SB(BIS)AND BT7 EQ 0)ERROR 4/7 GOTO 72  *BIT 7 ERROR                FMD
   OUT CHANNEL=CH8,0,112,ABT 72      *ISSUE 4A DRIVE COMMAND             FMD
   STATUS,CHANNEL,ABT 72             *GET CHANNEL STATUSES               FMD
   IF(SB(CDS)AND CDSV EQ 0)ERROR 17/2 GOTO 72  *STATUS VALID             FMD
   IF(SB(CDS)AND CDRS EQ 0)ERROR 7/8 GOTO 72  *READY/SAFE                FMD
40 GOSUB 74                          *CHECK REPEAT CONDITION             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                                 *EXIT THE MODULE                 FMD
*                                                                        FMD
/         RESERVE THE CONTROLLER AND FIXED MODULE DRIVE.                 FMD
*                                                                        FMD
50 RES,DRIVE,ABT 54             *CONNECT TO CONTROLLER/DRIVE             FMD
52 IF(SB(9)AND DSR EQ 0)ERROR 15/1 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   RETURN                              *EXIT THE SUBROUTINE              FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
54 IF(EC AND 77 NE 25)GOTO 72      *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DSRRS NE DSRRS)GOTO 52  *STATUS ERROR                     FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON SEEK COMMAND.                                 FMD
*                                                                        FMD
60 IF(EC AND 77 LT 25)GOTO 72      *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DRSVOT NE DRSVOT)GOTO 26  *STATUS ERROR                   FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98G   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=62D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96L   *IF NO SCOPING LOOP                     FMD
   IF(B13 EQ 0) ENDSUB GOTO 30   *IF CONDITION 0                         FMD
   IF(B13 EQ 1) ENDSUB GOTO 40   *IF CONDITION 1                         FMD
   ENDSUB GOTO 42                *CONDITION 2                            FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76    *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                     *INCREASE LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY    *DISPLAY RC MESSAGE                     FMD
   IF(B13 EQ 0) ENDSUB GOTO 24   *REPEAT CONDITION 0                     FMD
   ENDSUB GOTO 34                *REPEAT CONDITION 1                     FMD
76 MSG 1 TO DISPLAY              *DISPLAY RUNNING MESSAGE                FMD
   RETURN                        *EXIT THE SUBROUTINE                    FMD
   END 20                        *END OF THE MODULE                      FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD63,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD63,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD63,LSFMD1(16),LOCK 
*ENDIF
**                                                                       FMD
*   5.2.63 WRITE CONTROL FAULT                                           FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD63 VERIFIES THAT A WRITE AND ON CONTROL SELECT FAULT        FMD
*ENDIF
*IF DEF,PFMD
*         FHD63 VERIFIES THAT A WRITE AND ON CONTROL SELECT FAULT 
*ENDIF
*IF DEF,LSFMD 
*         FLD63 VERIFIES THAT A WRITE AND ON CONTROL SELECT FAULT 
*ENDIF
*         OCCURS WHEN THE WRITE GATE IS TURNED ON WITHOUT CONTROL        FMD06
*         SELECT ENABLED.                                                FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         2.  ISSUE A SEEK (48) COMMAND TO THE DRIVE AND WAIT FOR THE    FMD
*             SEEK TO COMPLETE. VERIFY THAT STATUS VALID, READY AND      FMD
*             SAFE, AND ON CYLINDER STATUSES ARE ACTIVE.                 FMD
*         3.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         4.  EXECUTE A CONTROL SEQUENCE THAT WILL DELAY INTO THE DATA   FMD
*             FIELD OF SECTOR 0, TRACK 0 OF CYLINDER 1512 OCTAL AND      FMD
*             TURN ON THE WRITE GATE WITHOUT CONTROL SELECT ENABLED.     FMD
*             DELAY FOR THE CONTROL SEQUENCE TO EXECUTE.                 FMD
*         5.  VERIFY THAT READY AND SAFE IS NOT ACTIVE.                  FMD
*         6.  ISSUE A 8D (STATUS WORD 6) COMMAND TO THE DRIVE AND        FMD
*             VERIFY THAT STATUS VALID AND STATUS BIT 7 ARE ACTIVE.      FMD
*         7.  ISSUE A 4A (CLEAR FAULT) COMMAND TO THE DRIVE AND VERIFY   FMD
*             THAT STATUS VALID AND READY AND SAFE IS ACTIVE.            FMD
*         8.  RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY PARAMETERS.                                           FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98G - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD96L - PROCESS ERRORS.                                       FMD
*         FMD96M - PROCESS ERRORS.                                       FMD
*         FMD96N - PROCESS ERRORS.                                       FMD
*         FMD96O - PROCESS ERRORS.                                       FMD
*         FMD96P - PROCESS ERRORS.                                       FMD
*         FMD96Q - PROCESS ERRORS.                                       FMD
*         FMD96R - PROCESS ERRORS.                                       FMD
*         FMD96S - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96T - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98G - ISOLATE READY AND SAFE FAULT.
*         FHD96L - PROCESS ERRORS.
*         FHD96M - PROCESS ERRORS.
*         FHD96N - PROCESS ERRORS.
*         FHD96O - PROCESS ERRORS.
*         FHD96P - PROCESS ERRORS.
*         FHD96Q - PROCESS ERRORS.
*         FHD96R - PROCESS ERRORS.
*         FHD96S - PROCESS ISOLATION INFORMATION. 
*         FHD96T - PROCESS ISOLATION INFORMATION. 
*         FHD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98G - ISOLATE READY AND SAFE FAULTS. 
*         FLD96L - PROCESS ERRORS.
*         FLD96M - PROCESS ERRORS.
*         FLD96N - PROCESS ERRORS.
*         FLD96O - PROCESS ERRORS.
*         FLD96P - PROCESS ERRORS.
*         FLD96Q - PROCESS ERRORS.
*         FLD96R - PROCESS ERRORS.
*         FLD96S - PROCESS ISOLATION INFORMATION. 
*         FLD96T - PROCESS ISOLATION INFORMATION. 
*         FLD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER.                                 FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTOR NUMBER.                                   FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(00-61) - CONTROL WORD SEQUENCE.                             FMD
*         SB(00-32) - CHANNEL AND  CONTROLWARE STATUSES FROM THE 7155    FMD
*                     CONTROLLER.                                        FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD63 - WRITE CONTROL FAULT                                    FMD
2  FORMAT FMD63 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD63 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD63 - WRITE CONTROL FAULT 
2  FORMAT FHD63 - EC *DECD, LC = *DECD
3  FORMAT FHD63 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD63 - WRITE CONTROL FAULT 
2  FORMAT FLD63 - EC *DECD, LC = *DECD
3  FORMAT FLD63 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE BIS=22, BT7=200, CDRS=10, CDS=21, CDSV=2                       FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSROT=1600               FMD
   EQUATE DSRRS=600, DSV=40, OTRK=1000                                   FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B7=1512                   *CYLINDER NUMBER                            FMD
   B8=0                      *TRACK NUMBER                               FMD
   B9=0                      *SECTOR NUMBER                              FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
24 GOSUB 50                  *CONNECT TO CONTROLLER/DRIVE                FMD
*                                                                        FMD
/         SEEK TO CYLINDER 842 DECIMAL, HEAD 0, SECTOR 0.                FMD
*                                                                        FMD
   SEEK CYL B7,TRK B8,SEC,B9,ABT 60    *SEEK TO CYLINDER 842             FMD
   STATUS,DETAIL,ABT 72                *GET DETAILED STATUS              FMD
26 IF(SB(9)AND DSV EQ 0)ERROR 17/2 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 22/4 GOTO 72  *OFF CYLINDER               FMD
30 GOSUB 74                          *CHECK REPEAT CONDITION             FMD
   B13=1                             *CONDITION NUMBER 1                 FMD
*                                                                        FMD
/         WRITE SECTOR 0, HEAD 0, CYLINDER 842.                          FMD
*                                                                        FMD
34 GOSUB 50                     *CONNECT TO CONTROLLER/DRIVE             FMD
   SEEK CYL B7,TRK B8,SEC,B9,ABT 60    *SEEK TO CYLINDER 842             FMD
   CONTROL,0,40,0,200,ABT 72    *ON SECTOR DELAY                         FMD
   CONTROL,3,0,0,0,ABT 72       *DELAY INTO DATA FIELD                   FMD
   CONTROL,0,40,4,10,ABT 72     *TURN ON WRITE GATE                      FMD
   CONTROL,0,0,0,0,EXECUTE,ABT 72  *EXECUTE CONTROL SEQUENCE             FMD
   DELAY 25D MSEC              *WAIT FOR SEQUENCE TO EXECUTE             FMD
   STATUS,CHANNEL,ABT 72          *GET CONTROLLER STATUSES               FMD
   IF(SB(CDS)AND CDRS NE 0)ERROR 12/9 GOTO 72  *READY/SAFE               FMD
   OUT CHANNEL=CH8,0,215,ABT 72      *ISSUE 8D DRIVE COMMAND             FMD
   STATUS,CHANNEL,ABT 72               *GET CHANNEL STATUSES             FMD
   IF(SB(CDS)AND CDSV EQ 0)ERROR 17/2 GOTO 72  *STATUS VALID             FMD
   IF(SB(BIS)AND BT7 EQ 0)ERROR 16/12 GOTO 72  *BIT 7 ERROR              FMD
   OUT CHANNEL=CH8,0,112,ABT 72      *ISSUE 4A DRIVE COMMAND             FMD
   STATUS,CHANNEL,ABT 72               *GET CHANNEL STATUSES             FMD
   IF(SB(CDS)AND CDSV EQ 0)ERROR 17/2 GOTO 72  *STATUS VALID             FMD
   IF(SB(CDS)AND CDRS EQ 0)ERROR 7/8 GOTO 72  *READY/SAFE                FMD
40 GOSUB 74                          *REPEAT CONDITION CHECK             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         RESERVE THE CONTROLLER AND FIXED MODULE DRIVE.                 FMD
*                                                                        FMD
50 RES,DRIVE,ABT 54             *CONNECT TO CONTROLLER/DRIVE             FMD
52 IF(SB(9)AND DSR EQ 0)ERROR 15/1 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   RETURN                              *EXIT THE SUBROUTINE              FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
54 IF(EC AND 77 NE 25)GOTO 72      *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DSRRS NE DSRRS)GOTO 52  *STATUS ERROR                     FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON SEEK COMMAND.                                 FMD
*                                                                        FMD
60 IF(EC AND 77 LT 25)GOTO 72      *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DRSVOT NE DRSVOT)GOTO 26  *STATUS ERROR                   FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98G   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=63D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96L   *IF NO SCOPING LOOP                     FMD
   IF(B13 EQ 0) ENDSUB GOTO 30   *IF CONDITION 0                         FMD
   IF(B13 EQ 1) ENDSUB GOTO 40   *IF CONDITION 1                         FMD
   ENDSUB GOTO 42                *CONDITION 2                            FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76    *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                     *INCREASE LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY    *DISPLAY RC MESSAGE                     FMD
   IF(B13 EQ 0) ENDSUB GOTO 24   *REPEAT CONDITION 0                     FMD
   ENDSUB GOTO 34                *REPEAT CONDITION 1                     FMD
76 MSG 1 TO DISPLAY              *DISPLAY RUNNING MESSAGE                FMD
   RETURN                        *EXIT THE SUBROUTINE                    FMD
   END 20                        *END OF THE MODULE                      FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD64,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD64,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD64,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.64 OFFSET WRITE FAULT                                            FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD64 VERIFIES THAT A WRITE WHILE IN OFFSET FAULT OCCURS WHEN  FMD06
*ENDIF
*IF DEF,PFMD
*         FHD64 VERIFIES THAT A WRITE WHILE IN OFFSET FAULT OCCURS WHEN 
*ENDIF
*IF DEF,LSFMD 
*         FLD64 VERIFIES THAT A WRITE WHILE IN OFFSET FAULT OCCURS WHEN 
*ENDIF
*         THE WRITE GATE IS TURNED ON WHILE A OFFSET MARGIN CONDITION IS FMD
*         PRESENT IN THE DRIVE.                                          FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         2.  ISSUE A SEEK (48) COMMAND TO THE DRIVE AND WAIT FOR THE    FMD
*             SEEK TO COMPLETE. VERIFY THAT STATUS VALID, READY AND      FMD
*             SAFE, AND ON CYLINDER STATUSES ARE ACTIVE.                 FMD
*         3.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         4.  ENABLE CONTROL SELECT IN THE FIXED MODULE DRIVE.           FMD
*         5.  ISSUE A SEEK (48) COMMAND TO THE DRIVE WITH BUS OUT BIT 1  FMD
*             SET TO PUT THE DRIVE IN A OFFSET CONDITION. VERIFY THAT    FMD
*             STATUS VALID AND READY AND SAFE ARE ACTIVE AND THAT THE    FMD
*             BUS IN STATUS EQUALS 1000 1001.                            FMD
*         6.  EXECUTE A CONTROL SEQUENCE THAT WILL DELAY INTO THE DATA   FMD
*             FIELD OF SECTOR 0, TRACK 0 OF CYLINDER 1512 OCTAL AND TURN FMD
*             ON THE WRITE GATE. DELAY FOR THE CONTROL SEQUENCE TO       FMD
*             EXECUTE.                                                   FMD
*         7.  VERIFY THAT READY AND SAFE IS NOT ACTIVE.                  FMD
*         8.  ISSUE A 8D (STATUS WORD 6) COMMAND TO THE DRIVE AND VERIFY FMD
*             THAT STATUS VALID AND STATUS BIT 6 ARE ACTIVE.             FMD
*         9.  ISSUE A RTZ (49) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS TO THE RTZ COMMAND TO COMPLETE.       FMD
*         10. ISSUE A 4A (CLEAR FAULT) COMMAND TO THE DRIVE AND VERIFY   FMD
*             THAT STATUS VALID AND READY AND SAFE IS ACTIVE.            FMD
*         11. ISSUE A SEEK (48) COMMAND TO THE DRIVE WITH BUS OUT BIT 1  FMD
*             SET TO PUT THE DRIVE OUT OF A OFFSET CONDITION. VERIFY     FMD
*             THAT STATUS VALID AND READY AND SAFE ARE ACTIVE AND THAT   FMD
*             THE BUS IN STATUS EQUALS 1000 1000.                        FMD
*         12. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY PARAMETERS.                                           FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98G - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD96L - PROCESS ERRORS.                                       FMD
*         FMD96M - PROCESS ERRORS.                                       FMD
*         FMD96N - PROCESS ERRORS.                                       FMD
*         FMD96O - PROCESS ERRORS.                                       FMD
*         FMD96P - PROCESS ERRORS.                                       FMD
*         FMD96Q - PROCESS ERRORS.                                       FMD
*         FMD96R - PROCESS ERRORS.                                       FMD
*         FMD96S - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96T - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98G - ISOLATE READY AND SAFE FAULT.
*         FHD96L - PROCESS ERRORS.
*         FHD96M - PROCESS ERRORS.
*         FHD96N - PROCESS ERRORS.
*         FHD96O - PROCESS ERRORS.
*         FHD96P - PROCESS ERRORS.
*         FHD96Q - PROCESS ERRORS.
*         FHD96R - PROCESS ERRORS.
*         FHD96S - PROCESS ISOLATION INFORMATION. 
*         FHD96T - PROCESS ISOLATION INFORMATION. 
*         FHD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98G - ISOLATE READY AND SAFE FAULTS. 
*         FLD96L - PROCESS ERRORS.
*         FLD96M - PROCESS ERRORS.
*         FLD96N - PROCESS ERRORS.
*         FLD96O - PROCESS ERRORS.
*         FLD96P - PROCESS ERRORS.
*         FLD96Q - PROCESS ERRORS.
*         FLD96R - PROCESS ERRORS.
*         FLD96S - PROCESS ISOLATION INFORMATION. 
*         FLD96T - PROCESS ISOLATION INFORMATION. 
*         FLD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER.                                 FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTOR NUMBER.                                   FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - EXPECTED BUS IN STATUS.                         FMD
*         B12 REGISTER - ACTUAL BUS IN STATUS.                           FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(00-61) - CONTROL WORD SEQUENCE.                             FMD
*         SB(00-32) - CHANNEL AND  CONTROLWARE STATUSES FROM THE 7155    FMD
*                     CONTROLLER.                                        FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD64 - OFFSET WRITE FAULT                                     FMD
2  FORMAT FMD64 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD64 - *DECD ERRORS                                           FMD
4  FORMAT // FMD64 NOT EXECUTED, NEEDS AL=0004,AL=*OCT // 
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD64 - OFFSET WRITE FAULT
2  FORMAT FHD64 - EC *DECD, LC = *DECD
3  FORMAT FHD64 - *DECD ERRORS
4  FORMAT // FHD64 NOT EXECUTED, NEEDS AL=0004,AL=*OCT // 
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD64 - OFFSET WRITE FAULT
2  FORMAT FLD64 - EC *DECD, LC = *DECD
3  FORMAT FLD64 - *DECD ERRORS
4  FORMAT // FLD64 NOT EXECUTED, NEEDS AL=0004,AL=*OCT // 
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE BIS=22, BT6=100, CDRS=10, CDS=21, CDSV=2                       FMD
   EQUATE CH8=8, CTRK=40, DRS=200, DRSVOT=1240, DSR=400                  FMD
   EQUATE DSROT=1600, DSRRS=600, DSV=40, OTRK=1000                       FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT, DISPLAY   *PRINT MODULE NAME MESSAGE 
   IF (AL.GE.4) GOTO 22      *ACCESS LEVEL CHECK
   MSG 4 (AL) TO DISPLAY, PRINT 
   EXIT                      *EXIT, ACCESS LEVEL TOO LOW
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
22 B7 = 1512                 *CYLINDER NUMBER 
   B8=0                      *TRACK NUMBER                               FMD
   B9=0                      *SECTOR NUMBER                              FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
24 GOSUB 50                  *CONNECT TO CONTROLLER/DRIVE                FMD
*                                                                        FMD
/         SEEK TO CYLINDER 842 DECIMAL, HEAD 0, SECTOR 0.                FMD
*                                                                        FMD
   SEEK CYL B7,TRK B8,SEC,B9,ABT 56    *SEEK TO CYLINDER 842             FMD
26 GOSUB 60                            *GET CHANNEL STATUSES             FMD
   IF(B0 AND CDRS EQ 0)GOTO 70            *READY/SAFE ERROR              FMD
   IF(B0 AND CTRK EQ 0)ERROR 22/4 GOTO 72  *OFF CYLINDER                 FMD
30 GOSUB 74                          *CHECK REPEAT CONDITION             FMD
   B13=1                             *CONDITION NUMBER 1                 FMD
*                                                                        FMD
/         WRITE SECTOR 0, HEAD 0, CYLINDER 842.                          FMD
*                                                                        FMD
34 GOSUB 50                     *CONNECT TO CONTROLLER/DRIVE             FMD
   OUT CH=CH8,0,106,ABT 72      *ENABLE CONTROL SELECT                   FMD
   OUT CH=CH8,1,110,ABT 72      *ENABLE REVERSE OFFSET                   FMD
   DELAY 10D MSEC               *DELAY FOR SEEK TO COMPLETE              FMD
   GOSUB 60                     *GET CHANNEL STATUSES                    FMD
   IF(B0 AND CDRS EQ 0)GOTO 70  *READY AND SAFE ERROR                    FMD
   B11=211                      *EXPECTED BUS IN STATUS                  FMD
   IF(B12 NE B11)ERROR 21/13 GOTO 72  *BUS STATUS ERROR                  FMD
   CONTROL,0,40,0,200,ABT 72    *ON SECTOR DELAY                         FMD
   CONTROL,3,0,0,0,ABT 72       *DELAY INTO DATA FIELD                   FMD
   CONTROL,0,40,4,10,ABT 72     *TURN ON WRITE GATE                      FMD
   CONTROL,0,0,0,0,EXECUTE,ABT 72  *EXECUTE CONTROL SEQUENCE             FMD
   DELAY 25D MSEC              *WAIT FOR SEQUENCE TO EXECUTE             FMD
   STATUS,CHANNEL,ABT 72        *GET CONTROLLER STATUSES                 FMD
   IF(SB(CDS)AND CDRS NE 0)ERROR 22/14 GOTO 72  *READY/SAFE              FMD
   OUT CH=CH8,0,215,ABT 72      *ISSUE 8D DRIVE COMMAND                  FMD
   GOSUB 60                     *GET CHANNEL STATUSES                    FMD
   B11=100                      *EXPECTED BUS IN STATUS                  FMD
   IF(B12 AND BT6 EQ 0)ERROR 24/15 GOTO 72  *BIT 6 ERROR                 FMD
   OUT CH=CH8,0,111,ABT 72      *ISSUE 49 DRIVE COMMAND                  FMD
   DELAY 300D MSEC              *DELAY FOR RTZ TO COMPLETE               FMD
   OUT CH=CH8,0,112,ABT 72      *ISSUE 4A DRIVE COMMAND                  FMD
   GOSUB 60                     *GET CHANNEL STATUSES                    FMD
   IF(B0 AND CDRS EQ 0)ERROR 0/16 GOTO 72  *READY/SAFE                   FMD
   B11=211                      *EXPECTED BUS IN STATUS                  FMD
   IF(B12 NE B11)ERROR 2/17 GOTO 72  *BUS IN STATUS ERROR                FMD
   OUT CH=CH8,2,110,ABT 72      *ISSUE 48 DRIVE COMMAND                  FMD
   DELAY 10D MSEC               *DELAY FOR SEEK TO COMPLETE              FMD
   GOSUB 60                     *GET CHANNEL STATUSES                    FMD
   B11=210                      *EXPECTED BUS IN STATUS                  FMD
   IF(B12 NE B11)ERROR 4/20 GOTO 72  *BUS IN STATUS ERROR                FMD
   IF(B0 AND CDRS EQ 0)GOTO 70       *READY/SAFE ERROR                   FMD
   IF(B0 AND CTRK EQ 0)ERROR 6/21 GOTO 72  *OFF CYLINDER                 FMD
40 GOSUB 74                          *REPEAT CONDITION CHECK             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         RESERVE THE CONTROLLER AND FIXED MODULE DRIVE.                 FMD
*                                                                        FMD
50 RES,DRIVE,ABT 54             *CONNECT TO CONTROLLER/DRIVE             FMD
52 IF(SB(9)AND DSR EQ 0)ERROR 15/1 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   RETURN                              *EXIT THE SUBROUTINE              FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
54 IF(EC AND 77 NE 25)GOTO 72      *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DSRRS NE DSRRS)GOTO 52  *STATUS ERROR                     FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON SEEK COMMAND.                                 FMD
*                                                                        FMD
56 IF(EC AND 77 LT 25)GOTO 72      *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DRSVOT NE DRSVOT)GOTO 26  *STATUS ERROR                   FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         STATUS CONTROLLER CHANNELS AND CHECK STATUS VALID.             FMD
*                                                                        FMD
60 STATUS,CHANNEL,ABT 72            *GET CONTROLLER STATUSES             FMD
   B0=SB(CDS)                        *SAVE UNSELECTED STATUS             FMD
   B12=SB(BIS)                          *SAVE BUS IN STATUS              FMD
   IF(B0 AND CDSV EQ 0)ERROR 17/2 GOTO 72  *STATUS VALID                 FMD
   RETURN                               *EXIT THE SUBROUTINE             FMD10
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98G   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=64D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96L   *IF NO SCOPING LOOP                     FMD
   IF(B13 EQ 0) ENDSUB GOTO 30   *IF CONDITION 0                         FMD
   IF(B13 EQ 1) ENDSUB GOTO 40   *IF CONDITION 1                         FMD
   ENDSUB GOTO 42                *CONDITION 2                            FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76    *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                     *INCREASE LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY    *DISPLAY RC MESSAGE                     FMD
   IF(B13 EQ 0) ENDSUB GOTO 24   *REPEAT CONDITION 0                     FMD
   ENDSUB GOTO 34                *REPEAT CONDITION 1                     FMD
76 MSG 1 TO DISPLAY              *DISPLAY RUNNING MESSAGE                FMD
   RETURN                        *EXIT THE SUBROUTINE                    FMD
   END 20                        *END OF THE MODULE                      FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD65,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD65,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD65,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.65 W/R CONTROL FAULT                                             FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD65 VERIFIES THAT A READ WRITE FAULT OCCURS WHEN THE READ    FMD06
*ENDIF
*IF DEF,PFMD
*         FHD65 VERIFIES THAT A READ WRITE FAULT OCCURS WHEN THE READ 
*ENDIF
*IF DEF,LSFMD 
*         FLD65 VERIFIES THAT A READ WRITE FAULT OCCURS WHEN THE READ 
*ENDIF
*         AND WRITE GATES IS TURNED ON AT THE SAME TIME. THIS FAULT      FMD
*         SHOULD CAUSE THE CONTROL ERROR STATUS BIT SET IN STATUS WORD   FMD
*         5 (8C COMMAND).                                                FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         2.  ISSUE A SEEK (48) COMMAND TO THE DRIVE AND WAIT FOR THE    FMD
*             SEEK TO COMPLETE. VERIFY THAT STATUS VALID, READY AND      FMD
*             SAFE, AND ON CYLINDER STATUSES ARE ACTIVE.                 FMD
*         3.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         4.  ENABLE CONTROL SELECT IN THE FIXED MODULE DRIVE.           FMD
*         5.  EXECUTE A CONTROL SEQUENCE THAT WILL DELAY INTO THE DATA   FMD
*             FIELD OF SECTOR 0, TRACK 0 OF CYLINDER 1512 OCTAL AND TURN FMD
*             ON THE READ AND WRITE GATES. DELAY FOR THE CONTROL         FMD
*             SEQUENCE TO EXECUTE.                                       FMD
*         6.  VERIFY THAT READY AND SAFE IS NOT ACTIVE.                  FMD
*         7.  ISSUE A 8E (STATUS WORD 7) COMMAND TO THE DRIVE AND VERIFY FMD
*             THAT STATUS VALID AND STATUS BIT 3 ARE ACTIVE.             FMD
*         8.  ISSUE A 8C (STATUS WORD 5) COMMAND TO THE DRIVE AND VERIFY FMD
*             THAT STATUS VALID AND STATUS BIT 2 ARE ACTIVE.             FMD
*         9.  ISSUE A 4A (CLEAR FAULT) COMMAND TO THE DRIVE AND VERIFY   FMD
*             THAT STATUS VALID AND READY AND SAFE IS ACTIVE.            FMD
*         10. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY PARAMETERS.                                           FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98G - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD96L - PROCESS ERRORS.                                       FMD
*         FMD96M - PROCESS ERRORS.                                       FMD
*         FMD96N - PROCESS ERRORS.                                       FMD
*         FMD96O - PROCESS ERRORS.                                       FMD
*         FMD96P - PROCESS ERRORS.                                       FMD
*         FMD96Q - PROCESS ERRORS.                                       FMD
*         FMD96R - PROCESS ERRORS.                                       FMD
*         FMD96S - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96T - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98G - ISOLATE READY AND SAFE FAULT.
*         FHD96L - PROCESS ERRORS.
*         FHD96M - PROCESS ERRORS.
*         FHD96N - PROCESS ERRORS.
*         FHD96O - PROCESS ERRORS.
*         FHD96P - PROCESS ERRORS.
*         FHD96Q - PROCESS ERRORS.
*         FHD96R - PROCESS ERRORS.
*         FHD96S - PROCESS ISOLATION INFORMATION. 
*         FHD96T - PROCESS ISOLATION INFORMATION. 
*         FHD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98G - ISOLATE READY AND SAFE FAULTS. 
*         FLD96L - PROCESS ERRORS.
*         FLD96M - PROCESS ERRORS.
*         FLD96N - PROCESS ERRORS.
*         FLD96O - PROCESS ERRORS.
*         FLD96P - PROCESS ERRORS.
*         FLD96Q - PROCESS ERRORS.
*         FLD96R - PROCESS ERRORS.
*         FLD96S - PROCESS ISOLATION INFORMATION. 
*         FLD96T - PROCESS ISOLATION INFORMATION. 
*         FLD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER.                                 FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTOR NUMBER.                                   FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - EXPECTED BUS IN STATUS.                         FMD
*         B12 REGISTER - ACTUAL BUS IN STATUS.                           FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(00-61) - CONTROL WORD SEQUENCE.                             FMD
*         SB(00-32) - CHANNEL AND  CONTROLWARE STATUSES FROM THE 7155    FMD
*                     CONTROLLER.                                        FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD65 - W/R CONTROL FAULT                                      FMD
2  FORMAT FMD65 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD65 - *DECD ERRORS                                           FMD
4  FORMAT // FMD65 NOT EXECUTED, NEEDS AL=0004,AL=*OCT // 
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD65 - W/R CONTROL FAULT 
2  FORMAT FHD65 - EC *DECD, LC = *DECD
3  FORMAT FHD65 - *DECD ERRORS
4  FORMAT // FHD65 NOT EXECUTED, NEEDS AL=0004,AL=*OCT // 
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD65 - W/R CONTROL FAULT 
2  FORMAT FLD65 - EC *DECD, LC = *DECD
3  FORMAT FLD65 - *DECD ERRODS
4  FORMAT // FLD65 NOT EXECUTED, NEEDS AL=0004,AL=*OCT // 
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE BIS=22, BT2=4, BT3=10, CDRS=10, CDS=21, CDSV=2                 FMD
   EQUATE CH8=8, CTRK=40, DRS=200, DRSVOT=1240, DSR=400                  FMD
   EQUATE DSROT=1600, DSRRS=600, DSV=40, OTRK=1000                       FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
   IF (AL.GE.4) GOTO 22      *ACCESS LEVEL CHECK
   MSG 4 (AL) TO DISPLAY, PRINT 
   EXIT                      *EXIT, ACCESS LEVEL TOO LOW
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B7=1512                   *CYLINDER NUMBER                            FMD
   B8=0                      *TRACK NUMBER                               FMD
   B9=0                      *SECTOR NUMBER                              FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
24 GOSUB 50                  *CONNECT TO CONTROLLER/DRIVE                FMD
*                                                                        FMD
/         SEEK TO CYLINDER 842 DECIMAL, HEAD 0, SECTOR 0.                FMD
*                                                                        FMD
   SEEK CYL B7,TRK B8,SEC,B9,ABT 56    *SEEK TO CYLINDER 842             FMD
26 GOSUB 60                            *GET CHANNEL STATUSES             FMD
   IF(B0 AND CDRS EQ 0)GOTO 70            *READY/SAFE ERROR              FMD
   IF(B0 AND CTRK EQ 0)ERROR 22/4 GOTO 72  *OFF CYLINDER                 FMD
30 GOSUB 74                          *REPEAT CONDITION CHECK             FMD
   B13=1                             *CONDITION NUMBER 1                 FMD
*                                                                        FMD
/         WRITE/READ SECTOR 0, HEAD 0, CYLINDER 842.                     FMD
*                                                                        FMD
34 GOSUB 50                     *CONNECT TO CONTROLLER/DRIVE             FMD
   OUT CH=CH8,0,106,ABT 72      *ENABLE CONTROL SELECT                   FMD
   CONTROL,0,40,0,200,ABT 72    *ON SECTOR DELAY                         FMD
   CONTROL,3,0,0,0,ABT 72       *DELAY INTO DATA FIELD                   FMD
   CONTROL,0,40,4,14,ABT 72      *TURN ON WRITE GATE                     FMD
   CONTROL,0,0,0,0,EXECUTE,ABT 72  *EXECUTE CONTROL SEQUENCE             FMD
   DELAY 25D MSEC              *WAIT FOR SEQUENCE TO EXECUTE             FMD
   STATUS,CHANNEL,ABT 72            *GET CONTROLLER STATUSES             FMD
   IF(SB(CDS)AND CDRS NE 0)ERROR 10/22 GOTO 72  *READY/SAFE              FMD
   OUT CH=CH8,0,216,ABT 72           *ISSUE 8E DRIVE COMMAND             FMD
   GOSUB 60                          *GET CHANNEL STATUSES               FMD
   B11=10                            *EXPECTED BUS IN STATUS             FMD
   IF(B12 NE BT3)ERROR 12/23 GOTO 72  *BIT 3 ERROR                       FMD
   OUT CH=CH8,0,214,ABT 72           *ISSUE 8C DRIVE COMMAND             FMD
   GOSUB 60                          *GET CHANNEL STATUSES               FMD
   B11=4                             *EXPECTED BUS IN STATUS             FMD
   IF(B12 AND BT2 EQ 0)ERROR 14/24 GOTO 72  *BIT 2 ERROR                 FMD
   OUT CH=CH8,0,112,ABT 72           *ISSUE 4A DRIVE COMMAND             FMD
   GOSUB 60                          *GET CHANNEL STATUSES               FMD
   B11=211                           *EXPECTED BUS IN STATUS             FMD
   IF(B12 NE B11)ERROR 16/25 GOTO 72  *BUS IN ERROR                      FMD
   IF(B0 AND CDRS EQ 0)ERROR 17/26 GOTO 72  *READY/SAFE                  FMD
40 GOSUB 74                          *REPEAT CONDITION CHECK             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         RESERVE THE CONTROLLER AND FIXED MODULE DRIVE.                 FMD
*                                                                        FMD
50 RES,DRIVE,ABT 54             *CONNECT TO CONTROLLER/DRIVE             FMD
52 IF(SB(9)AND DSR EQ 0)ERROR 15/1 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   RETURN                              *EXIT THE SUBROUTINE              FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
54 IF(EC AND 77 NE 25)GOTO 72      *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DSRRS NE DSRRS)GOTO 52  *STATUS ERROR                     FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON SEEK COMMAND.                                 FMD
*                                                                        FMD
56 IF(EC AND 77 LT 25)GOTO 72      *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DRSVOT NE DRSVOT)GOTO 26  *STATUS ERROR                   FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         STATUS CONTROLLER CHANNELS AND CHECK STATUS VALID.             FMD
*                                                                        FMD
60 STATUS,CHANNEL,ABT 72            *GET CONTROLLER STATUSES             FMD
   B0=SB(CDS)                        *SAVE UNSELECTED STATUS             FMD
   B12=SB(BIS)                          *SAVE BUS IN STATUS              FMD
   IF(B0 AND CDSV EQ 0)ERROR 17/2 GOTO 72  *STATUS VALID                 FMD
   RETURN                               *EXIT THE SUBROUTINE             FMD10
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98G   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=65D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96L   *IF NO SCOPING LOOP                     FMD
   IF(B13 EQ 0) ENDSUB GOTO 30   *IF CONDITION 0                         FMD
   IF(B13 EQ 1) ENDSUB GOTO 40   *IF CONDITION 1                         FMD
   ENDSUB GOTO 42                *CONDITION 2                            FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76    *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                     *INCREASE LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY    *DISPLAY RC MESSAGE                     FMD
   IF(B13 EQ 0) ENDSUB GOTO 24   *REPEAT CONDITION 0                     FMD
   ENDSUB GOTO 34                *REPEAT CONDITION 1                     FMD
76 MSG 1 TO DISPLAY              *DISPLAY RUNNING MESSAGE                FMD
   RETURN                        *EXIT THE SUBROUTINE                    FMD
   END 20                        *END OF THE MODULE                      FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD66,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD66,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD66,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.66 OFF CYL. READ FAULT                                           FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD66 VERIFIES THAT A READ WRITE FAULT OCCURS WHEN THE READ    FMD06
*ENDIF
*IF DEF,PFMD
*         FHD66 VERIFIES THAT A READ WRITE FAULT OCCURS WHEN THE READ 
*ENDIF
*IF DEF,LSFMD 
*         FLD66 VERIFIES THAT A READ WRITE FAULT WHEN THE READ
*ENDIF
*         GATE IS TURNED ON WHILE THE SERVO IS OFF CYLINDER. THIS FAULT  FMD
*         SHOULD CAUSE THE CAPABLE ENABLE ERROR STATUS BIT TO SET IN     FMD06
*         STATUS WORD 5 (8C COMMAND) AND THE SERVO OFF TRACK STATUS BIT  FMD06
*         TO SET IN STATUS WORD 2 (89 COMMAND).                          FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         2.  ISSUE A SEEK (48) COMMAND TO THE DRIVE AND WAIT FOR THE    FMD
*             SEEK TO COMPLETE. VERIFY THAT STATUS VALID, READY AND      FMD
*             SAFE, AND ON CYLINDER STATUSES ARE ACTIVE.                 FMD
*         3.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         4.  ENABLE CONTROL SELECT IN THE FIXED MODULE DRIVE.           FMD
*         5.  ISSUE A RTZ (49) COMMAND TO THE DRIVE.                     FMD
*         6.  EXECUTE A CONTROL SEQUENCE THAT WILL DELAY INTO THE DATA   FMD
*             FIELD OF SECTOR 0, TRACK 0 OF CYLINDER 1512 OCTAL AND TURN FMD
*             ON THE READ GATE. DELAY FOR THE RETURN TO ZERO SEEK TO     FMD
*             COMPLETE.                                                  FMD
*         7.  VERIFY THAT READY AND SAFE IS NOT ACTIVE.                  FMD
*         8.  ISSUE A 8E (STATUS WORD 7) COMMAND TO THE DRIVE AND VERIFY FMD
*             THAT STATUS VALID AND STATUS BIT 3 ARE ACTIVE.             FMD
*         9.  ISSUE A 8C (STATUS WORD 5) COMMAND TO THE DRIVE AND VERIFY FMD
*             THAT STATUS VALID AND STATUS BIT 7 ARE ACTIVE.             FMD
*         10. ISSUE A 89 (STATUS WORD 2) COMMAND TO THE DRIVE AND VERIFY FMD
*             THAT STATUS VALID AND STATUS BIT 5 ARE ACTIVE.             FMD
*         11. ISSUE A 4A (CLEAR FAULT) COMMAND TO THE DRIVE AND VERIFY   FMD
*             THAT STATUS VALID AND READY AND SAFE IS ACTIVE. VERIFY     FMD
*             THAT THE BUS IN STATUS IS CORRECT.                         FMD
*         12. ISSUE A RTZ (49) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS FOR THE RTZ TO COMPLETE. VERIFY THAT  FMD
*             ON CYLINDER AND READY AND SAFE ARE ACTIVE.                 FMD
*         13. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY PARAMETERS.                                           FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98G - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD96L - PROCESS ERRORS.                                       FMD
*         FMD96M - PROCESS ERRORS.                                       FMD
*         FMD96N - PROCESS ERRORS.                                       FMD
*         FMD96O - PROCESS ERRORS.                                       FMD
*         FMD96P - PROCESS ERRORS.                                       FMD
*         FMD96Q - PROCESS ERRORS.                                       FMD
*         FMD96R - PROCESS ERRORS.                                       FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98G - ISOLATE READY AND SAFE FAULT.
*         FHD96L - PROCESS ERRORS.
*         FHD96M - PROCESS ERRORS.
*         FHD96N - PROCESS ERRORS.
*         FHD96O - PROCESS ERRORS.
*         FHD96P - PROCESS ERRORS.
*         FHD96Q - PROCESS ERRORS.
*         FHD96R - PROCESS ERRORS.
*ENDIF
*IF DEF,SFMD
*         FMD96S - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96T - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD96S - PROCESS ISOLATION INFORMATION. 
*         FHD96T - PROCESS ISOLATION INFORMATION. 
*         FHD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98G - ISOLATE READY AND SAFE FAULTS. 
*         FLD96L - PROCESS ERRORS.
*         FLD96M - PROCESS ERRORS.
*         FLD96N - PROCESS ERRORS.
*         FLD96O - PROCESS ERRORS.
*         FLD96P - PROCESS ERRORS.
*         FLD96Q - PROCESS ERRORS.
*         FLD96R - PROCESS ERRORS.
*         FLD96S - PROCESS ISOLATION INFORMATION. 
*         FLD96T - PROCESS ISOLATION INFORMATION. 
*         FLD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER.                                 FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTOR NUMBER.                                   FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - EXPECTED BUS IN STATUS.                         FMD
*         B12 REGISTER - ACTUAL BUS IN STATUS.                           FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(00-61) - CONTROL WORD SEQUENCE.                             FMD
*         SB(00-32) - CHANNEL AND  CONTROLWARE STATUSES FROM THE 7155    FMD
*                     CONTROLLER.                                        FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD66 - OFF CYL. READ FAULT                                    FMD
2  FORMAT FMD66 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD66 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD66 - OFF CYL. READ FAULT 
2  FORMAT FHD66 - EC *DECD, LC = *DECD
3  FORMAT FHD66 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD66 - OFF CYL. READ FAULT 
2  FORMAT FLD66 - EC *DECD, LC = *DECD
3  FORMAT FLD66 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE BIS=22, BT5=40, BT7=200, CDRS=10, CDS=21, CDSV=2               FMD
   EQUATE CH8=8, CTRK=40, DRS=200, DRSVOT=1240, DSR=400                  FMD
   EQUATE DSROT=1600, DSRRS=600, DSV=40, OTRK=1000, RTZ=111              FMD
   EQUATE BT3=10
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B7=1512                   *CYLINDER NUMBER                            FMD
   B8=0                      *TRACK NUMBER                               FMD
   B9=0                      *SECTOR NUMBER                              FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
24 GOSUB 50                  *CONNECT TO CONTROLLER/DRIVE                FMD
*                                                                        FMD
/         SEEK TO CYLINDER 842 DECIMAL, HEAD 0, SECTOR 0.                FMD
*                                                                        FMD
   SEEK CYL B7,TRK B8,SEC,B9,ABT 56    *SEEK TO CYLINDER 842             FMD
26 GOSUB 62                            *GET CHANNEL STATUSES             FMD
   IF(B0 AND CDRS EQ 0)GOTO 70            *READY/SAFE ERROR              FMD
   IF(B0 AND CTRK EQ 0)ERROR 22/4 GOTO 72  *OFF CYLINDER                 FMD
30 GOSUB 74                          *REPEAT CONDITION CHECK             FMD
   B13=1                             *CONDITION NUMBER 1                 FMD
*                                                                        FMD
/         TEST OFF CYLINDER READ FAULT.                                  FMD
*                                                                        FMD
34 GOSUB 50                     *CONNECT TO CONTROLLER/DRIVE             FMD
*                                                                        FMD
/         ENABLE CONTROL SELECT IN THE DRIVE.                            FMD
*                                                                        FMD
   OUT CH=CH8,0,106,ABT 72      *ENABLE CONTROL SELECT                   FMD
*                                                                        FMD
/         ISSUE A RETURN TO ZERO COMMAND (49) TO THE DRIVE.              FMD
*                                                                        FMD
   OUT CH=CH8,0,RTZ,ABT 72      *ISSUE RETURN TO ZERO SEEK               FMD
*                                                                        FMD
/         TURN ON THE READ HEAD WHILE OFF CYLINDER.                      FMD
*                                                                        FMD
   CONTROL,0,40,0,200,ABT 72    *ON SECTOR MARK START                    FMD
   CONTROL,3,0,0,0,ABT 72       *DELAY INTO DATA FIELD                   FMD
   CONTROL,0,40,0,4,ABT 72      *TURN ON READ GATE                       FMD
   CONTROL,0,0,0,0,EXECUTE,ABT 72  *EXECUTE CONTROL SEQUENCE             FMD
   DELAY 300D MSEC              *DELAY FOR RTZ TO COMPLETE               FMD
*                                                                        FMD
/         CHECK DRIVE STATUS AFTER CAUSING THE FAULT.                    FMD
*                                                                        FMD
   STATUS,CHANNEL,ABT 72               *GET CHANNEL STATUSES             FMD
   IF(SB(CDS)AND CDRS NE 0)ERROR 21/27 GOTO 72  *READY/SAFE              FMD
   IF(SB(CDS)AND CTRK NE 0)ERROR 23/30 GOTO 72  *OFF TRACK               FMD
*                                                                        FMD
/         CHECK STATUS WORD 7 (8E) FOR BIT 3 SET.                        FMD
*                                                                        FMD
   B0=216                            *8E DRIVE COMMAND                   FMD
   GOSUB 60                          *ISSUE DRIVE COMMAND                FMD
   B11=11                            *EXPECTED BUS IN STATUS             FMD
   IF(B12 AND BT3 EQ 0)ERROR 25/31 GOTO 72  *BIT 3 ERROR
*                                                                        FMD
/         CHECK STATUS WORD 5 (8C) FOR BIT 7 SET.                        FMD
*                                                                        FMD
   B0=214                            *8C DRIVE COMMAND                   FMD
   GOSUB 60                          *ISSUE DRIVE COMMAND                FMD
   B11=200                           *EXPECTED BUS IN STATUS             FMD
   IF(B12 AND BT7 EQ 0)ERROR 0/32 GOTO 72  *BIT 7 ERROR                  FMD
*                                                                        FMD
/         CHECK STATUS WORD 2 (89) FOR BIT 5 SET.                        FMD
*                                                                        FMD
   B0=211                            *89 DRIVE COMMAND                   FMD
   GOSUB 60                          *ISSUE DRIVE COMMAND                FMD
   B11=40                            *EXPECTED BUS IN STATUS             FMD
   IF(B12 AND BT5 EQ 0)ERROR 3/33 GOTO 72  *BIT 5 ERROR                  FMD
*                                                                        FMD
/         ISSUE A CLEAR FAULTS COMMAND (4A) TO THE DRIVE.                FMD
*                                                                        FMD
   B0=112                            *4A DRIVE COMMAND                   FMD
   GOSUB 60                          *ISSUE DRIVE COMMAND                FMD
   B11=311                           *EXPECTED BUS IN STATUS             FMD
   IF(B12 NE B11)ERROR 16/25 GOTO 72  *BUS IN ERROR                      FMD
*                                                                        FMD
/         ISSUE A RETURN TO ZERO COMMAND (49) TO THE DRIVE               FMD
*                                                                        FMD
   OUT CH=CH8,0,RTZ,ABT 72        *ISSUE RETURN TO ZERO SEEK             FMD
   DELAY 300D MSEC                *DELAY FOR RTZ TO COMPLETE             FMD
   STATUS DETAIL,ABT 72                 *GET DETAILED STATUS             FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 21/3 GOTO 72  *OFF CYLINDER               FMD
   IF(SB(9)AND DRS EQ 0)ERROR 6/34 GOTO 72  *READY/SAFE                  FMD
40 GOSUB 74                          *CHECK REPEAT CONDITION             FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22     *IF REPEAT MODULE SELECTED             FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         RESERVE THE CONTROLLER AND FIXED MODULE DRIVE.                 FMD
*                                                                        FMD
50 RES,DRIVE,ABT 54             *CONNECT TO CONTROLLER/DRIVE             FMD
52 IF(SB(9)AND DSR EQ 0)ERROR 15/1 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   RETURN                              *EXIT THE SUBROUTINE              FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
54 IF(EC AND 77 NE 25)GOTO 72      *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DSRRS NE DSRRS)GOTO 52  *STATUS ERROR                     FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON SEEK COMMAND.                                 FMD
*                                                                        FMD
56 IF(EC AND 77 LT 25)GOTO 72      *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DRSVOT NE DRSVOT)GOTO 26  *STATUS ERROR                   FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         ISSUE DRIVE COMMAND AND INPUT CHANNEL STATUSES.                FMD
*                                                                        FMD
60 OUT CH=CH8,0,B0,ABT 72           *ISSUE 4A DRIVE COMMAND              FMD
62 STATUS,CHANNEL,ABT 72            *GET CONTROLLER STATUSES             FMD
   B0=SB(CDS)                        *SAVE UNSELECTED STATUS             FMD
   B12=SB(BIS)                          *SAVE BUS IN STATUS              FMD
   IF(B0 AND CDSV EQ 0)ERROR 17/2 GOTO 72  *STATUS VALID                 FMD
   RETURN                               *EXIT THE SUBROUTINE             FMD10
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98G   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=66D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96L   *IF NO SCOPING LOOP                     FMD
   IF(B13 EQ 0) ENDSUB GOTO 30   *IF CONDITION 0                         FMD
   IF(B13 EQ 1) ENDSUB GOTO 40   *IF CONDITION 1                         FMD
   ENDSUB GOTO 42                *CONDITION 2                            FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76    *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                     *INCREASE LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY    *DISPLAY RC MESSAGE                     FMD
   IF(B13 EQ 0) ENDSUB GOTO 24   *REPEAT CONDITION 0                     FMD
   ENDSUB GOTO 34                *REPEAT CONDITION 1                     FMD
76 MSG 1 TO DISPLAY              *DISPLAY RUNNING MESSAGE                FMD
   RETURN                        *EXIT THE SUBROUTINE                    FMD
   END 20                        *END OF THE MODULE                      FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD67,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD67,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD67,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.67 SEEK OVERSHOOT FAULT                                          FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD67 VERIFIES THAT A SEEK OVERSHOOT FAULT OCCURS WHEN THE     FMD06
*ENDIF
*IF DEF,PFMD
*         FHD67 VERIFIES THAT A SEEK OVERSHOOT FAULT OCCURS WHEN THE
*ENDIF
*IF DEF,LSFMD 
*         FLD67 VERIFIES THAT A SEEK OVERSHOOT FAULT OCCURS WHEN THE
*ENDIF
*         A SEEK IS DONE TO CYLINDER 844 IN THE DRIVE. THIS FAULT SHOULD FMD
*         CAUSE THE SEEK ERROR (OVERSHOOT) BIT TO SET IN STATUS WORD 2   FMD
*         (89 COMMAND).                                                  FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         2.  ISSUE A RTZ (49) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS FOR THE RTZ TO COMPLETE. VERIFY THAT  FMD
*             ON CYLINDER AND READY AND SAFE ARE ACTIVE.                 FMD
*         3.  LOAD THE DIFFERENCE REGISTER FOR A SEEK TO CYLINDER 844.   FMD
*         4.  ISSUE A SEEK (48) COMMAND TO THE DRIVE AND WAIT FOR THE    FMD
*             SEEK TO COMPLETE. VERIFY THAT READY AND SAFE STATUS IS NOT FMD
*             ACTIVE.                                                    FMD
*         5.  ISSUE A 89 (STATUS WORD 2) COMMAND TO THE DRIVE AND VERIFY FMD
*             THAT STATUS BIT 6 IS ACTIVE.                               FMD
*         6.  ISSUE A RTZ (49) COMMAND TO THE DRIVE AND DELAY 300        FMD
*             DECIMAL MILLISECONDS FOR THE RTZ TO COMPLETE. VERIFY THAT  FMD
*             ON CYLINDER AND READY AND SAFE ARE ACTIVE.                 FMD
*         7.  ISSUE A 8E (STATUS WORD 7) COMMAND TO THE DRIVE AND VERIFY FMD
*             THAT THE BUS IN STATUS IS EQUAL TO ZERO.                   FMD
*         8.  RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY PARAMETERS.                                           FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98G - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD96L - PROCESS ERRORS.                                       FMD
*         FMD96M - PROCESS ERRORS.                                       FMD
*         FMD96N - PROCESS ERRORS.                                       FMD
*         FMD96O - PROCESS ERRORS.                                       FMD
*         FMD96P - PROCESS ERRORS.                                       FMD
*         FMD96Q - PROCESS ERRORS.                                       FMD
*         FMD96R - PROCESS ERRORS.                                       FMD
*         FMD96S - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96T - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98G - ISOLATE READY AND SAFE FAULT.
*         FHD96L - PROCESS ERRORS.
*         FHD96M - PROCESS ERRORS.
*         FHD96N - PROCESS ERRORS.
*         FHD96O - PROCESS ERRORS.
*         FHD96P - PROCESS ERRORS.
*         FHD96Q - PROCESS ERRORS.
*         FHD96R - PROCESS ERRORS.
*         FHD96S - PROCESS ISOLATION INFORMATION. 
*         FHD96T - PROCESS ISOLATION INFORMATION. 
*         FHD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98G - ISOLATE READY AND SAFE FAULTS. 
*         FLD96L - PROCESS ERRORS.
*         FLD96M - PROCESS ERRORS.
*         FLD96N - PROCESS ERRORS.
*         FLD96O - PROCESS ERRORS.
*         FLD96P - PROCESS ERRORS.
*         FLD96Q - PROCESS ERRORS.
*         FLD96R - PROCESS ERRORS.
*         FLD96S - PROCESS ISOLATION INFORMATION. 
*         FLD96T - PROCESS ISOLATION INFORMATION. 
*         FLD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER.                                 FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTOR NUMBER.                                   FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(00-32) - CHANNEL AND CONTROLWARE STATUSES FROM THE 7155     FMD
*                     CONTROLLER.                                        FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD67 - SEEK OVERSHOOT FAULT                                   FMD
2  FORMAT FMD67 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD67 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD67 - SEEK OVERSHOOT FAULT
2  FORMAT FHD67 - EC *DECD, LC = *DECD
3  FORMAT FHD67 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD67 - SEEK OVERSHOOT FAULT
2  FORMAT FLD67 - EC *DECD, LC = *DECD
3  FORMAT FLD67 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE BIS=22, BT5=40, BT6=100, CDRS=10, CDS=21, CDSV=2               FMD
   EQUATE CH8=8, CTRK=40, DRS=200, DRSVOT=1240, DSR=400                  FMD
   EQUATE DSROT=1600, DSRRS=600, DSV=40, OTRK=1000, RTZ=111              FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B7=1514                   *CYLINDER NUMBER                            FMD
   B8=0                      *TRACK NUMBER                               FMD
   B9=0                      *SECTOR NUMBER                              FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
24 GOSUB 50                  *CONNECT TO CONTROLLER/DRIVE                FMD
*                                                                        FMD
/         ISSUE A 49 (RTZ) COMMAND TO THE DRIVE.                         FMD
*                                                                        FMD
   OUT CH=CH8,0,RTZ,ABT 72      *ISSUED 49 DRIVE COMMAND                 FMD
   DELAY,300D MSEC              *DELAY FOR SEEK TO COMPLETE              FMD
   STATUS,CHANNEL,ABT 72        *GET CHANNEL STATUSES                    FMD
   IF(SB(CDS)AND CTRK EQ 0)ERROR 21/3 GOTO 72  *OFF CYLINDER             FMD
   IF(SB(CDS)AND CDRS EQ 0)GOTO 70     *READY AND SAFE ERROR             FMD
*                                                                        FMD
/         LOAD THE DIFFERNCE REGISTER FOR A 844 TRACK SEEK.              FMD
*                                                                        FMD
   OUT CH=CH8,114,102,ABT 72          *LOAD LOWER DIFFERENCE             FMD
   OUT CH=CH8,203,103,ABT 72          *LOAD UPPER DIFFERENCE             FMD
*                                                                        FMD
/         SEEK TO CYLINDER 844 DECIMAL, HEAD 0, SECTOR 0.                FMD
*                                                                        FMD
   OUT CH=CH8,0,110,ABT 72       *ISSUE 48 DRIVE COMMAND                 FMD
   DELAY 60D MSEC                *DELAY FOR SEEK TO COMPLETE             FMD
   STATUS,CHANNEL,ABT 72         *GET CHANNEL STATUSES                   FMD
   IF(SB(CDS)AND CDRS NE 0)ERROR 6/111 GOTO 72  *READY/SAFE              FMD
*                                                                        FMD
/         CHECK STATUS WORD 2 (89 COMMAND) FOR BIT 6 SET.                FMD
*                                                                        FMD
   OUT,CH=CH8,0,211,ABT 72       *ISSUE 89 DRIVE COMMAND                 FMD
   STATUS,CHANNEL,ABT 72         *GET CHANNEL STATUSES                   FMD
   IF(SB(BIS)AND BT6 EQ 0)ERROR 12/112 GOTO 72  *BUS IN                  FMD
*                                                                        FMD
/         ISSUE A 49 (RTZ) COMMAND TO THE DRIVE.                         FMD
*                                                                        FMD
   OUT CH=CH8,0,RTZ,ABT 72       *ISSUED 49 DRIVE COMMAND                FMD
   DELAY,300D MSEC               *DELAY FOR SEEK TO COMPLETE             FMD
   STATUS,CHANNEL,ABT 72         *GET CHANNEL STATUSES                   FMD
   IF(SB(CDS)AND CTRK EQ 0)ERROR 21/3 GOTO 72  *OFF CYLINDER             FMD
   IF(SB(CDS)AND CDRS EQ 0)ERROR 16/113 GOTO 72  *READY/SAFE             FMD
*                                                                        FMD
/         CHECK STATUS WORD 7 (8E COMMAND) FOR NOT BITS SET.             FMD
*                                                                        FMD
   OUT,CH=CH8,0,216,ABT 72       *ISSUE 89 DRIVE COMMAND                 FMD
   STATUS,CHANNEL,ABT 72         *GET CHANNEL STATUSES                   FMD
   IF(SB(BIS) NE 0)ERROR 20/114 GOTO 72  *BUS IN ERROR                   FMD
30 GOSUB 74                      *CHECK REPEAT CONDITION                 FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=1                         *CONDITION NUMBER 1                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22    *IF REPEAT MODULE SELECTED              FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         RESERVE THE CONTROLLER AND FIXED MODULE DRIVE.                 FMD
*                                                                        FMD
50 RES,DRIVE,ABT 54             *CONNECT TO CONTROLLER/DRIVE             FMD
52 IF(SB(9)AND DSR EQ 0)ERROR 15/1 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   RETURN                              *EXIT THE SUBROUTINE              FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
54 IF(EC AND 77 NE 25)GOTO 72      *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DSRRS NE DSRRS)GOTO 52  *STATUS ERROR                     FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98G   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=67D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96L   *IF NO SCOPING LOOP                     FMD
   IF(B13 EQ 0) ENDSUB GOTO 30   *IF CONDITION 0                         FMD
   ENDSUB GOTO 42                *CONDITION 1                            FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76    *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                     *INCREASE LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY    *DISPLAY RC MESSAGE                     FMD
   ENDSUB GOTO 24                *REPEAT CONDITION 0                     FMD
76 MSG 1 TO DISPLAY              *DISPLAY RUNNING MESSAGE                FMD
   RETURN                        *EXIT THE SUBROUTINE                    FMD
   END 20                        *END OF THE MODULE                      FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD68,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD68,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD68,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.68 INDEX READ FAULT                                              FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD68 VERIFIES THAT THE MULTIHEAD ERROR AND WRITE OVERRUN      FMD
*ENDIF
*IF DEF,PFMD
*         FHD68 VERIFIES THAT THE MULTIHEAD ERROR AND WRITE OVERRUN 
*ENDIF
*IF DEF,LSFMD 
*         FLD68 VERIFIES THAT THE MULTIHEAD ERROR AND WRITE OVERRUN 
*ENDIF
*         STATUS SET IN STATUS WORD 5 (8C COMMAND) WHEN THE READ GATE    FMD
*         IS TURNED ON WHILE THE HEAD IS OVER THE INDEX MARK ON THE      FMD
*         DISK.                                                          FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         2.  ISSUE A SEEK (48) COMMAND TO THE DRIVE AND WAIT FOR THE    FMD
*             SEEK TO COMPLETE. VERIFY THAT STATUS VALID, READY AND      FMD
*             SAFE, AND ON CYLINDER STATUSES ARE ACTIVE.                 FMD
*         3.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         4.  ISSUE A 4C COMMAND TO THE DRIVE WITH BUS OUT BIT ONE SET   FMD
*             TO SET DIAGNOSTIC LATCH. VERIFY THAT STATUS VALID AND      FMD
*             READY AND SAFE ARE ACTIVE.                                 FMD
*         5.  ISSUE A 44 COMMAND (LOAD HEAD REGISTER) TO THE DRIVE WITH  FMD
*IF DEF,SFMD
*             BUS OUT BIT ZERO SET TO SELECT HEAD ONE.                   FMD
*ENDIF
*IF DEF,PFMD
*             BUS OUT BIT ZERO SET TO SELECT HEAD TEN.
*ENDIF
*IF DEF,LSFMD 
*             BUS OUT BIT ZERO SET TO SELECT HEAD ONE.
*ENDIF
*         6.  ENABLE CONTROL SELECT IN THE FIXED MODULE DRIVE.           FMD
*         7.  EXECUTE A CONTROL SEQUENCE THAT WILL LOCATE THE INDEX      FMD
*             MARK ON THE DISK AND TURN ON THE READ HEAD OVER THE INDEX  FMD
*             MARK. DELAY WHILE THE CONTROL SEQUENCE EXECUTES.           FMD
*         8.  VERIFY THAT READY AND SAFE IS NOT ACTIVE.                  FMD
*         9.  ISSUE A 8C (STATUS WORD 5) COMMAND TO THE DRIVE AND VERIFY FMD
*             THAT STATUS VALID AND STATUS BITS 5 AND 6 ARE ACTIVE.      FMD
*         10. ISSUE A 4A (CLEAR FAULT) COMMAND TO THE DRIVE AND VERIFY   FMD
*             THAT STATUS VALID IS ACTIVE, THE BUS IN STATUS IS CORRECT, FMD
*             AND THAT READY AND SAFE IS ACTIVE.                         FMD
*         11. ISSUE A 4C COMMAND TO THE DRIVE WITH BUS OUT BIT ONE SET   FMD
*             TO CLEAR DIAGNOSTIC LATCH. VERIFY THAT STATUS VALID AND    FMD
*             READY AND SAFE ARE ACTIVE.                                 FMD
*         12. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY PARAMETERS.                                           FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98G - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD96L - PROCESS ERRORS.                                       FMD
*         FMD96M - PROCESS ERRORS.                                       FMD
*         FMD96N - PROCESS ERRORS.                                       FMD
*         FMD96O - PROCESS ERRORS.                                       FMD
*         FMD96P - PROCESS ERRORS.                                       FMD
*         FMD96Q - PROCESS ERRORS.                                       FMD
*         FMD96R - PROCESS ERRORS.                                       FMD
*         FMD96S - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96T - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98G - ISOLATE READY AND SAFE FAULT.
*         FHD96L - PROCESS ERRORS.
*         FHD96M - PROCESS ERRORS.
*         FHD96N - PROCESS ERRORS.
*         FHD96O - PROCESS ERRORS.
*         FHD96P - PROCESS ERRORS.
*         FHD96Q - PROCESS ERRORS.
*         FHD96R - PROCESS ERRORS.
*         FHD96S - PROCESS ISOLATION INFORMATION. 
*         FHD96T - PROCESS ISOLATION INFORMATION. 
*         FHD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98G - ISOLATE READY AND SAFE FAULTS. 
*         FLD96L - PROCESS ERRORS.
*         FLD96M - PROCESS ERRORS.
*         FLD96N - PROCESS ERRORS.
*         FLD96O - PROCESS ERRORS.
*         FLD96P - PROCESS ERRORS.
*         FLD96Q - PROCESS ERRORS.
*         FLD96R - PROCESS ERRORS.
*         FLD96S - PROCESS ISOLATION INFORMATION. 
*         FLD96T - PROCESS ISOLATION INFORMATION. 
*         FLD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER.                                 FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTOR NUMBER.                                   FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - EXPECTED BUS IN STATUS.                         FMD
*         B12 REGISTER - ACTUAL BUS IN STATUS.                           FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(00-61) - CONTROL WORD SEQUENCE.                             FMD
*         SB(00-32) - CHANNEL AND CONTROLWARE STATUSES FROM THE 7155     FMD
*                     CONTROLLER.                                        FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD68 - INDEX READ FAULT                                       FMD
2  FORMAT FMD68 - EC *DECD LC = *DECD                                    FMD
3  FORMAT FMD68 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD68 - INDEX READ FAULT
2  FORMAT FHD68 - EC *DECD LC = *DECD 
3  FORMAT FHD68 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD68 - INDEX READ FAULT
2  FORMAT FLD68 - EC *DECD, LC = *DECD
3  FORMAT FLD68 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE BIS=22, BT6=100, CDRS=10, CDS=21, CDSV=2                       FMD
   EQUATE CH8=8, CTRK=40, DRS=200, DRSVOT=1240, DSR=400                  FMD
   EQUATE DSROT=1600, DSRRS=600, DSV=40, OTRK=1000                       FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
   B7=1512                   *CYLINDER NUMBER                            FMD
   B8=0                      *TRACK NUMBER                               FMD
   B9=0                      *SECTOR NUMBER                              FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
24 GOSUB 50                  *CONNECT TO CONTROLLER/DRIVE                FMD
*                                                                        FMD
/         SEEK TO CYLINDER 842 DECIMAL, HEAD 0, SECTOR 0.                FMD
*                                                                        FMD
   SEEK CYL B7,TRK B8,SEC,B9,ABT 56    *SEEK TO CYLINDER 842             FMD
26 GOSUB 62                            *GET CHANNEL STATUSES             FMD
   IF(B0 AND CDRS EQ 0)GOTO 70            *READY/SAFE ERROR              FMD
   IF(B0 AND CTRK EQ 0)ERROR 22/4 GOTO 72  *OFF CYLINDER                 FMD
30 GOSUB 74                          *REPEAT CONDITION CHECK             FMD
   B13=1                             *CONDITION NUMBER 1                 FMD
*                                                                        FMD
/         FORCE INDEX READ FAULT IN THE DRIVE.                           FMD
*                                                                        FMD
34 GOSUB 50                     *CONNECT TO CONTROLLER/DRIVE             FMD
*                                                                        FMD
/         SET DIAGNOSTIC LATCH IN THE DRIVE.                             FMD
*                                                                        FMD
   B0=114                       *4C DRIVE COMMAND                        FMD
   B1=2                         *BUS OUT EQUALS 2                        FMD
   GOSUB 60                     *ISSUE DRIVE COMMAND                     FMD
   IF(B0 AND CDRS EQ 0)GOTO 70  *READY AND SAFE FAULT                    FMD
*                                                                        FMD
*IF DEF,SFMD
/         LOAD HEAD REGISTER WITH ONE.                                   FMD
*ENDIF
*IF DEF,PFMD
/         LOAD HEAD REGISTER WITH TEN.
*ENDIF
*IF DEF,LSFMD 
/         LOAD HEAD REGISTER WITH ONE 
*ENDIF
*                                                                        FMD
*IF DEF,SFMD
   OUT CH=CH8,1,104,ABT 72      *LOAD HEAD REGISTER WITH ONE             FMD
*ENDIF
*IF DEF,PFMD
   OUT CH=CH8,10,104,ABT 72     *LOAD HEAD REGISTER WITH TEN
*ENDIF
*IF DEF,LSFMD 
   OUT CH=CH8,1,104,ABT 72        *LOAD HEAD REGISTER WITH ONE
*ENDIF
*                                                                        FMD
/         ENABLE CONTROL SELECT IN THE DRIVE.                            FMD
*                                                                        FMD
   OUT CH=CH8,0,106,ABT 72      *ENABLE CONTROL SELECT                   FMD
*                                                                        FMD
/         EXECUTE CONTROL SEQUENCE TO CREATE DRIVE FAULT.                FMD
*                                                                        FMD
   CONTROL,0,40,0,300,ABT 72    *INDEX MARK START DELAY                  FMD
   CONTROL,0,40,0,4,ABT 72       *RAISE READ GATE OVER INDEX             FMD
   CONTROL,0,0,0,0,EXECUTE,ABT 72  *EXECUTE CONTROL SEQUENCE             FMD
   DELAY 20D MSEC              *WAIT FOR SEQUENCE TO EXECUTE             FMD
   STATUS,DETAIL,ABT 72                 *GET DETAILED STATUS             FMD
   IF(SB(CDS)AND DRS NE 0)ERROR 24/47 GOTO 72  *READY/SAFE               FMD
*                                                                        FMD
/         CHECK STATUS WORD 5 FOR BITS 4 AND 5 ACTIVE.                   FMD
*                                                                        FMD
   B0=214                            *8C DRIVE COMMAND                   FMD
   B1=0                              *BUS OUT EQUALS 0                   FMD
   GOSUB 60                          *ISSUE DRIVE COMMAND                FMD
   B11=60                            *EXPECTED BUS IN STATUS             FMD
   IF(B12 AND 60 NE B11)ERROR 10/40 GOTO 72  *BUS IN ERROR               FMD
*                                                                        FMD
/         ISSUE A CLEAR FAULT COMMAND AND CHECK STATUS.                  FMD
*                                                                        FMD
   B0=112                            *4A DRIVE COMMAND                   FMD
   GOSUB 60                          *ISSUE DRIVE COMMAND                FMD
   B11=211                           *EXPECTED BUS IN STATUS             FMD
   IF(B12 NE B11)ERROR 16/25 GOTO 72  *BUS IN STATUS ERROR               FMD
   IF(B0 AND CDRS EQ 0)ERROR 14/41 GOTO 72  *READY/SAFE                  FMD
*                                                                        FMD
/         DISABLE DIAGNOSTIC LATCH IN THE DRIVE.                         FMD
*                                                                        FMD
   B0=114                         *4C DRIVE COMMAND                      FMD
   B1=2                           *BUS OUT EQUALS 2                      FMD
   GOSUB 60                       *ISSUE DRIVE COMMAND                   FMD
   IF(B0 AND CDRS EQ 0)GOTO 70    *READY AND SAFE FAULT                  FMD
40 GOSUB 74                       *REPEAT CONDITION CHECK                FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND 885 DRIVE.                     FMD
*                                                                        FMD
   B13=2                         *CONDITION NUMBER 2                     FMD
   REL,ABT 72                    *RELEASE CONTROLLER AND FMD             FMD
42 IF(ES AND RM NE 0) GOTO 22    *IF REPEAT MODULE SELECTED              FMD
   IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *IF ERRORS DETECTED                 FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         RESERVE THE CONTROLLER AND FIXED MODULE DRIVE.                 FMD
*                                                                        FMD
50 RES,DRIVE,ABT 54             *CONNECT TO CONTROLLER/DRIVE             FMD
52 IF(SB(9)AND DSR EQ 0)ERROR 15/1 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
   RETURN                              *EXIT THE SUBROUTINE              FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
54 IF(EC AND 77 NE 25)GOTO 72      *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DSRRS NE DSRRS)GOTO 52  *STATUS ERROR                     FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON SEEK COMMAND.                                 FMD
*                                                                        FMD
56 IF(EC AND 77 LT 25)GOTO 72      *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DRSVOT NE DRSVOT)GOTO 26  *STATUS ERROR                   FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         ISSUE DRIVE COMMAND AND GET CHANNEL STATUSES.                  FMD
*                                                                        FMD
60 OUT CH=CH8,B1,B0,ABT 72          *ISSUE DRIVE COMMAND                 FMD
62 STATUS,CHANNEL,ABT 72            *GET CONTROLLER STATUSES             FMD
   B0=SB(CDS)                        *SAVE UNSELECTED STATUS             FMD
   B12=SB(BIS)                          *SAVE BUS IN STATUS              FMD
   IF(B0 AND CDSV EQ 0)ERROR 17/2 GOTO 72  *STATUS VALID                 FMD
   RETURN                               *EXIT THE SUBROUTINE             FMD
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98G   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=68D                        *MODULE NUMBER                          FMD
   IF(ES AND SL EQ 0) CALL 96L   *IF NO SCOPING LOOP                     FMD
   IF(B13 EQ 0) ENDSUB GOTO 30   *IF CONDITION 0                         FMD
   IF(B13 EQ 1) ENDSUB GOTO 40   *IF CONDITION 1                         FMD
   ENDSUB GOTO 42                *CONDITION 2                            FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76    *IF NO REPEAT CONDITION                 FMD
   B15=B15+1                     *INCREASE LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY    *DISPLAY RC MESSAGE                     FMD
   IF(B13 EQ 0) ENDSUB GOTO 24   *REPEAT CONDITION 0                     FMD
   ENDSUB GOTO 34                *REPEAT CONDITION 1                     FMD
76 MSG 1 TO DISPLAY              *DISPLAY RUNNING MESSAGE                FMD
   RETURN                        *EXIT THE SUBROUTINE                    FMD
   END 20                        *END OF THE MODULE                      FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD69,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD69,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD69,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.69 W/R DATA FIELD.                                               FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD69 VERIFIES THAT AFTER EXECTION OF THE FAULT MODULES        FMD20
*         (FMD62 - FMD68), THE ADDRESS FIELD WAS NOT DESTROYED IN ANY    FMD20
*ENDIF
*IF DEF,PFMD
*         FHD69 VERIFIES THAT AFTER EXECTION OF THE FAULT MODULES 
*         (FHD62 - FHD68), THE ADDRESS FIELD WAS NOT DESTROYED IN ANY 
*ENDIF
*IF DEF,LSFMD 
*         FLD69 VERIFIES THAT AFTER EXECUTION OF THE FAULT MODULES
*         (FLD62 - FLD68), THE ADDRESS FIELD WAS NOT DESTROYED IN ANY 
*ENDIF
*         OF THE SECTORS ON CYLINDER 1512 OCTAL.                         FMD20
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  GENERATE A BUFFER OF DATA USING THE PATTERN E36C AAAA HEX. FMD
*         2.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED AND READY AND SAFE         FMD06
*             STATUSES ARE ACTIVE.                                       FMD
*         3.  ISSUE A RTZ (49) COMMAND TO THE DRIVE AND WAIT FOR 300     FMD
*             DECIMAL MILLISECONDS FOR THE RTZ TO COMPLETE. VERIFY THAT  FMD
*             STATUS VALID AND ON CYLINDER ARE ACTIVE.                   FMD
*         4.  ISSUE A SEEK COMMAND TO SEEK TO CYLINDER 842. DELAY 50     FMD
*             DECIMAL MILLISECONDS. VERIFY THAT STATUS VALID, ON         FMD
*             CYLINDER, AND READY AND SAFE ARE ACTIVE.                   FMD
*         5.  WRITE ALL SECTORS ON THE ON CYLINDER 1512 OCTAL ON THE     FMD
*             FIXED MODULE DRIVE. IF A ERROR IS DETECTED DURING THE      FMD
*             WRITE OPERATION, VERIFY THAT READY AND SAFE IS ACTIVE AND  FMD
*             NO ADDRESS FIELD ERRORS WERE DETECTED.                     FMD
*         6.  WRITE VERIFY ALL THE SECTORS IN CYLINDER 1512 OCTAL OF     FMD
*             THE FIXED MODULE DRIVE. IF A ERROR IS DETECTED, VERIFY     FMD
*             THAT READY AND SAFE IS ACTIVE AND THAT IT IS NOT A DATA    FMD
*             ERROR.                                                     FMD
*         7.  RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO PARAMETERS REQUIRED.                                        FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98G - ISOLATE READY AND SAFE FAULT.                         FMD
*         FMD98H - GENERATE DATA BUFFER.                                 FMD
*         FMD96L - PROCESS ERRORS.                                       FMD
*         FMD96M - PROCESS ERRORS.                                       FMD
*         FMD96N - PROCESS ERRORS.                                       FMD
*         FMD96O - PROCESS ERRORS.                                       FMD
*         FMD96P - PROCESS ERRORS.                                       FMD
*         FMD96Q - PROCESS ERRORS.                                       FMD
*         FMD96R - PROCESS ERRORS.                                       FMD
*         FMD96S - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96T - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98G - ISOLATE READY AND SAFE FAULT.
*         FHD98H - GENERATE DATA BUFFER.
*         FHD96L - PROCESS ERRORS.
*         FHD96M - PROCESS ERRORS.
*         FHD96N - PROCESS ERRORS.
*         FHD96O - PROCESS ERRORS.
*         FHD96P - PROCESS ERRORS.
*         FHD96Q - PROCESS ERRORS.
*         FHD96R - PROCESS ERRORS.
*         FHD96S - PROCESS ISOLATION INFORMATION. 
*         FHD96T - PROCESS ISOLATION INFORMATION. 
*         FHD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98G - ISOLATE READY AND SAFE FAULTS. 
*         FLD96L - PROCESS ERRORS.
*         FLD96M - PROCESS ERRORS.
*         FLD96N - PROCESS ERRORS.
*         FLD96O - PROCESS ERRORS.
*         FLD96P - PROCESS ERRORS.
*         FLD96Q - PROCESS ERRORS.
*         FLD96R - PROCESS ERRORS.
*         FLD96S - PROCESS ISOLATION INFORMATION. 
*         FLD96T - PROCESS ISOLATION INFORMATION. 
*         FLD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - LOWER CYLINDER NUMBER.                           FMD
*         B8 REGISTER - LOWER TRACK NUMBER.                              FMD
*         B9 REGISTER - LOWER SECTOR NUMBER.                             FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*IF DEF,SFMD
*         OB(0-501) - OUTPUT DATA BUFFER                                 FMD
*ENDIF
*IF DEF,PFMD
*         OB(0-503) - OUTPUT DATA BUFFER
*ENDIF
*IF DEF,LSFMD 
*         OB(0-501) - OUTPUT DATA BUFFER
*ENDIF
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*         SB(32-64) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD69 - W/R DATA FIELD                                         FMD
2  FORMAT FMD69 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD69 - *DECD ERRORS                                           FMD
4  FORMAT FMD69 - CYLINDER = *OCT                                        FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD69 - W/R DATA FIELD
2  FORMAT FHD69 - EC *DECD, LC = *DECD
3  FORMAT FHD69 - *DECD ERRORS
4  FORMAT FHD69 - CYLINDER = *OCT 
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD69 - W/R DATA FIELD
2  FORMAT FLD69 - EC *DECD, LC = *DECD
3  FORMAT FLD69 - *DECD ERRORS
4  FORMAT FLD69 - CYLINDER = *OCT 
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CH8=8, DSROT=1600, DRSVOT=1240, DSR=400                        FMD
   EQUATE DRS=200, OTRK=1000, DSV=40, DSRRS=600                          FMD
   EQUATE CDS=21, BIS=22, CDSV=2, CDRS=10                                FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
   GOSUB 46                  *INITIALIZE B REGISTERS                     FMD
   B0=0                      *DATA PATTERN NUMBER                        FMD
   CALL 98H                  *GENERATE THE DATA PATTERN                  FMD
22 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
24 GOSUB 50                  *CONNECT TO CONTROLLER/DRIVE                FMD
*                                                                        FMD
/         ISSUE A RETURN TO ZERO (49) COMMAND TO THE DRIVE.              FMD
*                                                                        FMD
   OUT,CH=CH8,0,111,ABT 72        *ISSUE RTZ DRIVE COMMAND               FMD
   DELAY 300D MSEC                *DELAY FOR RTZ TO COMPLETE             FMD
   STATUS,DETAIL,ABT 72                *GET DETAILED STATUS              FMD
   IF(SB(9)AND DSV EQ 0)ERROR 17/2 GOTO 72  *STATUS VALID                FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 21/3 GOTO 72  *OFF CYLINDER               FMD
*                                                                        FMD
/         SEEK TO CYLINDER 842 DECIMAL, HEAD 0, SECTOR 0.                FMD
*                                                                        FMD
   SEEK CYL B7,TRK B8,SEC,B9,ABT 56   *SEEK TO CYLINDER 842D             FMD
   STATUS,DETAIL,ABT 72                *GET DETAILED STATUS              FMD
26 IF(SB(9)AND DSV EQ 0)ERROR 17/2 GOTO 72  *STATUS VALID                FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 22/4 GOTO 72  *OFF CYLINDER               FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70        *READY AND SAFE ERROR             FMD
30 GOSUB 74                          *CHECK REPEAT CONDITION             FMD
   B13=1                             *CONDITION NUMBER 1                 FMD
*                                                                        FMD
/         WRITE ALL SECTORS ON CYLINDER 842.                             FMD
*                                                                        FMD
32 GOSUB 50                  *CONNECT TO CONTROLLER/DRIVE                FMD
   GOSUB 46                  *INITIALIZE B REGISTERS                     FMD
   MSG 4 (B7) TO DISPLAY     *DISPLAY RUNNING MESSAGE                    FMD
   WRITE B4 CODED SEC AT CYL B7,TRK B8,SEC B9,ABT 60  *WRITE             FMD
   IF(B13 EQ 2) GOTO 36      *IF CONDITION NUMBER 2 
   GOTO 40                   *GO TO REPEAT CONDITION CHECK               FMD
*                                                                        FMD
/         READ ALL SECTORS ON CYLINDER 842.                              FMD
*                                                                        FMD
36 VERIFY B4 CODED SEC AT CYL B7,TRK B8,SEC B9,ABT 64  *READ             FMD
40 GOSUB 74                    *CHECK REPEAT CONDITION                   FMD
   GOTO 32 WHILE(B13+1 NE 3)   *LOOP TO VERIFY THE DATA                  FMD
*                                                                        FMD
/         RELEASE THE CONTROLLER AND DRIVE.                              FMD
*                                                                        FMD
   IF(ES AND RM NE 0) GOTO 22  *IF REPEAT MODULE SELECTED                FMD
   REL,ABT 72                  *RELEASE DRIVE AND CONTROLLER             FMD
42 IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *REPORT ERRORS                      FMD
   EXIT                              *EXIT THE MODULE                    FMD
*                                                                        FMD
/         INITIALIZE THE B REGISTERS FOR THE TEST.                       FMD
*                                                                        FMD
*IF DEF,LSFMD,1 
46 B4=320D                    *SECTORS IN A CYLINDER
*IF -DEF,LSFMD,1
46 B4=1280D                  *SECTORS IN A CYLINDER                      FMD
   B7=1512                   *CYLINDER NUMBER                            FMD
   B8=0                      *TRACK NUMBER                               FMD
   B9=0                      *SECTOR NUMBER                              FMD
   RETURN                    *EXIT THE SUBROUTINE                        FMD
*                                                                        FMD
/         RESERVE THE CONTROLLER AND FIXED MODULE DRIVE.                 FMD
*                                                                        FMD
50 RES,DRIVE,ABT 54             *CONNECT TO CONTROLLER/DRIVE             FMD
52 IF(SB(9)AND DSR EQ 0)ERROR 15/1 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)GOTO 70            *READY/SAFE ERROR             FMD
   RETURN                               *EXIT THE SUBROUTINE             FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
54 IF(EC AND 77 NE 25) GOTO 72     *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DSRRS NE DSRRS)GOTO 72  *STATUS ERROR                     FMD
   GOTO 52                            *GO TO DETERMINE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON SEEK COMMAND.                                 FMD
*                                                                        FMD
56 IF(EC AND 77 LT 25) GOTO 72     *NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DRSVOT NE DRSVOT)GOTO 26  *STATUS ERROR                   FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON WRITE COMMAND.                                FMD
*                                                                        FMD
60 IF(EC AND 77 EQ 25) GOTO 62       *GENERAL STATUS ERROR               FMD
   IF(EC AND 77 NE 30) GOTO 72       *NOT SUCCESSFUL RETRY               FMD
62 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25             *IF RETRY ATTEMPTED                 FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READY AND SAFE ERROR             FMD
   IF(SB(B4+21)AND 1 NE 0)ERROR 17/45  *ADDRESS FIELD ERROR              FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS ABORT ON WRITE VERIFY COMMAND.                         FMD
*                                                                        FMD
64 IF(EC AND 77 EQ 25) GOTO 66       *GENERAL STATUS ERROR               FMD
   IF(EC AND 77 NE 30) GOTO 72       *NOT SUCCESSFUL RETRY               FMD
66 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25             *IF RETRY ATTEMPTED                 FMD
   IF(SB(B4+9)AND DRS EQ 0)GOTO 70     *READ AND SAFE ERROR              FMD
   IF(SB(B4+20)AND 1 NE 0)ERROR 22/46  *NOT DATA FIELD ERROR             FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         PROCESS READY AND SAFE ERRORS DETECTED.                        FMD
*                                                                        FMD
70 STATUS,DETAIL,ABT 72          *GET DETAILED STATUS                    FMD
   IF(ES AND SL EQ 0) CALL 98G   *IF NO SCOPING LOOP                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MODULE.                         FMD
*                                                                        FMD
72 B14=B14+1                    *INCREASE ERROR COUNT BY ONE             FMD
   B0=69D                       *MODULE NUMBER                           FMD
   IF(ES AND SL EQ 0) CALL 96L  *IF NO SCOPING LOOP                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 30  *IF CONDITION ZERO                       FMD
   IF(B13 EQ 3) ENDSUB GOTO 42  *IF CONDITION THREE                      FMD
   ENDSUB GOTO 40               *CONDITIONS ONE OR TWO                   FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREASE LOOP COUNT BY ONE              FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *IF CONDITION ZERO                       FMD
   ENDSUB GOTO 32               *CONDITIONS ONE OR TWO                   FMD
76 IF(B13 NE 0)RETURN           *IF CONDITION 0                          FMD
   MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
77 END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD70,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD70,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD70,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.70 SERVO TEST                                                    FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD70 VERIFIES THAT THE SERVO FOR THE POSITIONER IN THE FIXED  FMD
*ENDIF
*IF DEF,PFMD
*         FHD70 VERIFIES THAT THE SERVO FOR THE POSITIONER IN THE FIXED 
*ENDIF
*IF DEF,LSFMD 
*         FLD70 VERIFIES THAT THE SERVO FOR THE POSITIONER IN THE FIXED 
*ENDIF
*         MODULE DRIVE IS WITHIN THE VELOCITY SPECIFICATION DEFINED FOR  FMD
*         THE POSITIONER. IF IT IS NOT, THE OPERATOR CAN ADJUST THE      FMD
*         SERVO TO BRING IT WITHIN THE VELOCITY SPECIFICATION.           FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*             VERIFY THAT SELECT AND RESERVED STATUS IS ACTIVE.          FMD06
*         2.  ISSUE A RTZ (49) COMMAND TO THE DRIVE AND WAIT 300         FMD
*             DECIMAL MILLISECONDS FOR THE SEEK TO COMPLETE. VERIFY THAT FMD
*             ON CYLINDER STATUS IS ACTIVE.                              FMD
*         3.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         4.  ISSUE A SEEK (48) COMMAND TO THE DRIVE TO SEEK FROM        FMD
*             CYLINDER 0 TO CYLINDER 256 DECIMAL. TIME AND SAVE THE THE  FMD
*             TIME REQUIRED FOR THE POSITIONER TO MOVE FROM CYLINDER 246 FMD
*             DECIMAL TO CYLINDER 248 DECIMAL. DELAY 10 DECIMAL          FMD
*             MILLISECONDS. VERIFY THAT READY AND SAFE AND ON CYLINDER   FMD
*             STATUSES ARE ACTIVE.                                       FMD
*         5.  ISSUE A SEEK (48) COMMAND TO THE DRIVE TO SEEK FROM        FMD
*             CYLINDER 256 DECIMAL TO CYLINDER 0. DELAY 30 DECIMAL       FMD
*             MILLISECONDS. VERIFY THAT READY AND SAFE AND ON CYLINDER   FMD
*             STATUSES ARE ACTIVE.                                       FMD
*         6.  REPEAT STEPS 3, 4, AND 5 20 DECIMAL TIMES.                 FMD
*         7.  DETERMINE THE AVERAGE TIME REQUIRED FOR THE DRIVE TO SEEK  FMD
*             FROM CYLINDER 246 DECIMAL TO CYLINDER 248 DECIMAL.         FMD
*         8.  ISSUE A PRINT AND DISPLAY MESSAGE TO INDICATE THE POSITION FMD03
*             TIME.                                                      FMD03
*         9.  REPORT AN ERROR IF THE POSITION TIME IS TO HIGH OR TO      FMD03
*             LOW.                                                       FMD03
*         10. IF THE AVERAGE TIME IS TO LOW, ISSUE A 4D COMMAND TO THE   FMD03
*             DRIVE TO TURN ON THE LOW LIGHT IN THE DRIVE.               FMD
*         11. IF THE AVERAGE TIME IS TO HI, ISSUE A 4D COMMAND TO THE    FMD03
*             DRIVE TO TURN ON THE HI LIGHT IN THE DRIVE.                FMD
*         12. DELAY 4 SECONDS.                                           FMD03
*         13. RELEASE THE FIXED MODULE DRIVE AND 7155 CONTROLLER.        FMD03
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY PARAMETERS.                                           FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD96U - PROCESS ERRORS.                                       FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD96U - PROCESS ERRORS.
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD96U - PROCESS ERRORS.
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - SEEK COUNTER.                                    FMD
*         B5 REGISTER - SEEK TIME (UPPER BITS).                          FMD
*         B6 REGISTER - SEEK TIME (LOWER BITS).                          FMD
*         B7 REGISTER - CYLINDER, TRACK, AND SECTOR NUMBER.              FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         OB(00) - AVERAGE SEEK TIME.                                    FMD
*         SB(00-32) - CONTROLWARE STATUSES FROM THE 7155 CONTROLLER.     FMD
*                                                                        FMD
*IF DEF,SFMD
0  FORMAT FMD70 - SERVO TEST                                             FMD
1  FORMAT FMD70 - TIME = *DECD USEC                                      FMD
2  FORMAT FMD70 - INDICATE SEEK TIME                                     FMD
3  FORMAT FMD70 - EC = *DECD, LC = *DECD                                 FMD
4  FORMAT FMD70 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
0  FORMAT FHD70 - SERVO TEST
1  FORMAT FHD70 - TIME = *DECD USEC 
2  FORMAT FHD70 - INDICATE SEEK TIME
3  FORMAT FHD70 - EC = *DECD, LC = *DECD
4  FORMAT FHD70 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
0  FORMAT FLD70 - SERVO TEST
1  FORMAT FLD70 - TIME = *DECD USEC 
2  FORMAT FLD70 - INDICATE SEEK TIME
3  FORMAT FLD70 - EC = *DECD, LC = *DECD
4  FORMAT FLD70 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CDS=9, CH8=8D, CNT=40D, DRS=400, DRSOT=1400                    FMD
   EQUATE DSR=200, OTRK=1000, RTZ=111                                    FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 0 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 0 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   B13=0                     *CONDITION NUMBER 0                         FMD
*                                                                        FMD
/         CONNECT TO 7155 CONTROLLER AND FIXED MODULE DRIVE.             FMD
*                                                                        FMD
24 RES,DRIVE,ABT 72                 *RESERVE THE FMD CHANNEL             FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 4/0 GOTO 72  *SELECT ERROR               FMD
*                                                                        FMD
/         ISSUE A 49 (RTZ) DRIVE COMMAND.                                FMD
*                                                                        FMD
   OUT CH=CH8,0,RTZ,ABT 72        *ISSUE RTZ DRIVE COMMAND               FMD
   DELAY 300D MSEC                *DELAY FOR RTZ TO COMPLETE             FMD
   STATUS,DETAIL,ABT 72           *GET DETAILED STATUS                   FMD
   IF(SB(CDS)AND OTRK EQ 0)ERROR 6/1 GOTO 72  *OFF CYLINDER              FMD
26 GOSUB 74                       *REPEAT CONDITION CHECK                FMD
   B13=1                          *CONDITION NUMBER 1                    FMD
*                                                                        FMD
/         INITIALIZE LOCATIONS FOR TIMING THE POSITIONER.                FMD
*                                                                        FMD
30 B4=0                      *INITILAIZE LOOP COUNTER                    FMD
   B5=0                      *CLEAR UPPER BITS OF TIMER                  FMD
   B6=0                      *CLEAR LOWER BITS OF TIMER                  FMD
   B7=0                      *CYLINDER, HEAD, AND SECTOR NO.             FMD
   B8=0                      *INITIALIZE ERROR COUNT BAD VALUE
*                                                                        FMD
/         ISSUE SEEK TO CYLINDER 256 DECIMAL.                            FMD
*                                                                        FMD
32 RES,DRIVE,ABT 72             *RESERVE THE FMD                         FMD
   SEEK,CYL B7,TRK B7,SEC B7,ABT 66    *SEEK TO CYLINDER 0               FMD03
   STATUS,DETAIL,ABT 72                *GET DETAILED STATUS              FMD
34 IF(SB(CDS)AND DRS EQ 0)ERROR 7/2 GOTO 72  *DRIVE FAULT                FMD
   IF(SB(CDS)AND OTRK EQ 0)ERROR 10/3 GOTO 72  *OFF CYLINDER             FMD
   FMDPT,B2,B3,ABT 72           *FMD POSITION TIMER FUNCTION             FMD
   DELAY,10 MSEC                *WAIT FOR SEEK TO COMPLETE               FMD
   STATUS DETAIL,ABT 72         *GET DETAILED STATUS                     FMD
   IF(SB(CDS)AND DRS EQ 0)ERROR 7/2 GOTO 72  *DRIVE FAULT                FMD
   IF(SB(CDS)AND OTRK EQ 0)ERROR 10/3 GOTO 72  *OFF CYLINDER             FMD
*                                                                        FMD
/         UPDATE THE TOTAL TIME REQUIRED FOR THE SERVO TIME.             FMD
*                                                                        FMD
   IF(B3.AND.7000B.NE.7000B) GOTO 35
   GOTO 32 WHILE(B8+1.LT.2)  *RETRY FOR BAD VALUE 
35 B0=B3+B6.RS.14            *GET CARRY BIT FROM LOWER BITS 
   B5=B5+B0                  *ADD CARRY BIT TO UPPER COUNT               FMD
   B6=B6+B3                  *ADD LOWER BITS TO LOWER COUNT              FMD
*                                                                        FMD
/         UPDATE THE NUMBER OF SEEK DONE.                                FMD
*                                                                        FMD
36 GOSUB 74                    *REPEAT CONDITION CHECK                   FMD
   GOTO 32 WHILE(B4+1 NE CNT)  *LOOP FOR AVERAGE SEEK TIME               FMD
   B13=2                       *CONDITION NUMBER 2                       FMD
*                                                                        FMD
/         DIVIDE TOTAL POSITIONER TIME BY CNT.                           FMD
*                                                                        FMD
   GOSUB 76                  *DISPLAY RUNNING MESSAGE                    FMD
   B0=0                      *CLEAR AVERAGE TIME COUNTER                 FMD
40 IF(B6-CNT LT 0) GOTO 42   *IF B6 LESS THAN CNT                        FMD
   B6=B6-CNT                 *SUBTRACT CNT FROM B6                       FMD
   B0=B0+1                   *INCREMENT AVERAGE TIME                     FMD
   GOTO 40                   *LOOP                                       FMD
*                                                                        FMD
42 IF(B5 EQ 0) GOTO 44       *IF AVERAGE TIME DONE                       FMD
   B5=B5-1                   *DECREMENT B5                               FMD
   B6=B6-CNT                 *SUBTRACT CNT FROM B6                       FMD
   B6=B6+1                   *ADJUST FOR NEGATIVE ZERO                   FMD
   B0=B0+1                   *INCREMENT AVERAGE TIME                     FMD
   GOTO 40                   *LOOP                                       FMD
44 OB=B0                                                                 FMD
   MSG 1(B0)TO DISPLAY,PRINT  *DISPLAY TIME MESSAGE                      FMD03
   IF(B0.LT.325D)ERROR 17/4 GOTO 72    *POSITION LOW ERROR
   IF(B0.GT.345D)ERROR 21/5 GOTO 72    *POSITION HIGH ERROR 
46 B2=0                      *INITIALIZE B2                              FMD03
   IF(OB.LT.330D) B2=100     *IF POSITION FAST, 
   IF(OB.GT.340D) B2=40      *IF POSITION SLOW, 
50 B13=3                     *CONDITION NUMBER 3                         FMD03
   B1=0                                                                  FMD03
52 RES,DRIVE,ABT 72          *RESERVE FMD CHANNEL                        FMD03
   OUT,CH=8,B2,115,ABT 72    *ISSUE COMMAND TO TURN ON LIGHT             FMD
   B0=0                                                                  FMD
54 DELAY 500D MSEC           *DELAY ONE HALF SECOND                      FMD03
   GOTO 54 WHILE(B0+1 NE 4)  *DELAY TWO SECONDS                          FMD03
   GOTO 52 WHILE(B1+1 NE 2)  *DELAY FOUR SECONDS TOTAL                   FMD03
56 GOSUB 74                  *REPEAT CONDITION CHECK                     FMD03
*                                                                        FMD
/         RELEASE THE DRIVE AND CONTROLLER                               FMD
*                                                                        FMD
   B13=4                      *CONDITION NUMBER 4                        FMD03
   REL,ABT 72                 *RELEASE CONTROLLER AND DRIVE              FMD
60 IF(ES AND RM NE 0) GOTO 22  *IF REPEAT MODULE SELECTED                FMD03
   IF(B14 NE 0)MSG 4(B14)TO DAYFILE  *RECORD ERRORS                      FMD
   GOTO 77                           *GO TO EXIT THE MODULE              FMD03
*                                                                        FMD
/         PROCESS ABORT ON SEEK COMMAND.                                 FMD
*                                                                        FMD
66 IF(EC AND 77 LT 25) GOTO 72     *NOT GENERAL STATUS ERROR             FMD03
   IF(SB(9)AND DRSOT NE DRSOT)GOTO 34  *STATUS ERROR                     FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
*                                                                        FMD
/         REPORT ERRORS DETECTED.                                        FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNTER                  FMD
   B10 = B0                  *AVG TIME
   B0=70D                      *MODULE NUMBER                            FMD
   IF(ES AND SL EQ 0)CALL 96U  *REPORT ERROR IF NOT SCOPING              FMD03
   IF(B13 EQ 0)ENDSUB GOTO 26  *IF CONDITION ZERO                        FMD
   IF(B13 EQ 1)ENDSUB GOTO 36  *IF CONDITION ONE                         FMD
   IF(B13 EQ 2)ENDSUB GOTO 46  *IF CONDITION TWO                         FMD03
   IF(B13 EQ 3)ENDSUB GOTO 56  *IF CONDITION THREE                       FMD03
   ENDSUB GOTO 60              *IF CONDITION FOUR                        FMD03
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 3 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *IF CONDITION ZERO                       FMD
   IF(B13 EQ 1) ENDSUB GOTO 30  *IF CONDITION ONE                        FMD
   ENDSUB GOTO 50               *IF CONDITION THREE                      FMD03
76 MSG B13 (B3) TO DISPLAY      *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
77 END 20                       *END OF THE MODULE                       FMD03
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD71,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD71,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD71,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.71 RESONANCE TEST 1                                              FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD71 ATTEMPTS TO CREATE A RESONANCE CONDITION IN THE FIXED    FMD
*ENDIF
*IF DEF,PFMD
*         FHD71 ATTEMPTS TO CREATE A RESONANCE CONDITION IN THE FIXED 
*ENDIF
*IF DEF,LSFMD 
*         FLD71 ATTEMPTS TO CREATE A RESONANCE CONDITION IN THE FIXED 
*ENDIF
*         MODULE DRIVE BY SEEKING FROM CYLINDER 0 TO ANOTHER CYLINDER    FMD
*         AND BACK AGAIN A NUMBER OF TIMES AND THEN CHECKING FOR THE     FMD
*         RESONANCE CONDITION BY DOING A READ TRACK 0, SECTOR 0 OF THE   FMD
*         CYLINDER.                                                      FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  INITIALIZE THE CYLINDER ADDRESS IN B10 TO ONE.             FMD
*         2.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         3.  VERIFY THAT SELECT AND RESERVED AND READY AND SAFE ARE     FMD
*             ACTIVE.                                                    FMD
*         4.  ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND WAIT 300 DECIMAL FMD
*             MILLISECONDS.                                              FMD
*         5.  VERIFY THAT STATUS VALID, READY AND SAFE, AND ON           FMD
*             CYLINDER ARE ACTIVE.                                       FMD
*         6.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         7.  VERIFY THAT SELECT AND RESERVED AND READY AND SAFE ARE     FMD
*             ACTIVE.                                                    FMD
*         8.  SEEK TO THE CYLINDER ADDRESS IN B10.                       FMD
*         9.  SEEK TO THE CYLINDER ADDRESS ZERO.                         FMD
*         10. REPEAT STEPS 8 AND 9 TEN DECIMAL TIMES.                    FMD
*         11. SEEK TO THE CYLINDER ADDRESS IN B10 AND READ SECTOR 0      FMD
*             OF TRACK 0.                                                FMD
*         12. ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND WAIT 300 DECIMAL FMD
*             MILLISECONDS.                                              FMD
*         13. INCREMENT THE CYLINDER NUMBER IN B10 BY ONE.               FMD
*         14. REPEAT STEPS 6, 7, 8, 9, 10, 11, 12, AND 13 UNTIL THE      FMD
*             CYLINDER NUMBER IN B10 EQUALS 843 DECIMAL.                 FMD
*         15. RELEASE THE 7155 CONTROLLER AND FIXED MODULE DRIVE.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD96V - PROCESS ERRORS.                                       FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD96V - PROCESS ERRORS.
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD96V - PROCESS ERRORS.
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - TEMPORARY STORAGE.                               FMD
*         B7 REGISTER - SEEK CYLINDER NUMBER.                            FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - CYLINDER NUMBER.                                FMD
*         B11 REGISTER - TRACK NUMBER.                                   FMD
*         B12 REGISTER - SECTOR NUMBER.                                  FMD
*         B13 REGISTER - CONDITION NUMBER FLAG.                          FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - LOOP COUNTER.                                   FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*IF DEF,LSFMD,1 
*         OB(0-1) - SECTOR SIZE INDEX AND ABORT INDEX 
*                                                                        FMD
*         REMARKS-                                                       FMD
*                                                                        FMD
*IF DEF,SFMD
0  FORMAT FMD71 - RESONANCE TEST 1                                       FMD
1  FORMAT FMD71 - C=*OCT H=*OCT S=*OCT                                   FMD
2  FORMAT FMD71 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD71 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
0  FORMAT FHD71 - RESONANCE TEST 1
1  FORMAT FHD71 - C=*OCT H=*OCT S=*OCT
2  FORMAT FHD71 - EC *DECD, LC = *DECD
3  FORMAT FHD71 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
0  FORMAT FLD71 - RESONANCE TEST 1
1  FORMAT FLD71 - C=*OCT H=*OCT S=*OCT
2  FORMAT FLD71 - EC *DECD, LC = *DECD
3  FORMAT FLD71 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSRRS=600                FMD
   EQUATE DSV=40, OTRK=1000, RTZ=111                                     FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 0 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 0 TO DISPLAY          *DISPLAY MODULE NAME MESSAGE                FMD
*IF DEF,LSFMD,1 
   OB(0) = 0
   B7=0                      *SEEK CYLINDER NUMBER                       FMD
   B10=1                     *CYLINDER NUMBER                            FMD
   B11=0                     *TRACK NUMBER                               FMD
   B12=0                     *SECTOR NUMBER                              FMD
   B13=0                     *SET REPEAT CONDITION FLAG                  FMD
*                                                                        FMD
/         CONNECT TO CONTROLLER AND FIXED MODULE DRIVE.                  FMD
*                                                                        FMD
24 GOSUB 50                  *CONNECT TO CONTROLLER/DRIVE                FMD
*                                                                        FMD
/         ISSUE A RTZ COMMAND TO THE DRIVE.                              FMD
*                                                                        FMD
   OUT CH=CH8,0,RTZ,ABT 72   *ISSUE RTZ COMMAND                          FMD
   DELAY,300D MSEC           *DELAY FOR ON CYLINDER                      FMD
   STATUS,DETAIL,ABT 72      *GET DETAILED STATUS                        FMD
   IF(SB(9)AND DSV EQ 0)ERROR 10/2 GOTO 72  *STATUS VALID                FMD
   IF(SB(9)AND DRS EQ 0)ERROR 7/1 GOTO 72  *READY SAFE ERROR             FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 12/3 GOTO 72  *OFF CYLINDER               FMD
26 GOSUB 74                  *CHECK FOR REPEAT CONDITION                 FMD
   B13=1                     *SET REPEAT CONDITION FLAG                  FMD
*                                                                        FMD
/         SEEK TO CYLINDER 842 DECIMAL, HEAD 0, SECTOR 0.                FMD
*                                                                        FMD
32 B6=0                      *CLEAR REPEAT COUNTER                       FMD
   GOSUB 50                  *CONNECT TO CONTROLLER/DRIVE                FMD
34 B7=B7 XOR B10             *BUILD SEEK CYLINDER NUMBER                 FMD
   SEEK CYL B7,TRK B11,SEC,B12,ABT 60  *SEEK                             FMD
   STATUS,DETAIL,ABT 72      *GET DETAILED STATUS                        FMD
36 IF(SB(9)AND DSV EQ 0)ERROR 10/2 GOTO 72  *SELECT ERROR                FMD
   IF(SB(9)AND DRS EQ 0)ERROR 7/1 GOTO 72  *READY SAFE ERROR             FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 13/4 GOTO 72  *OFF CYLINDER               FMD
   IF(B7 NE 0) GOTO 34                                                   FMD
   GOTO 34 WHILE (B6+1 NE 12)  *REPEAT SEEK TEN TIMES                    FMD
*                                                                        FMD
/         READ SECTOR 0, HEAD 0, CYLINDER 842.                           FMD
*                                                                        FMD
   B6=1                          *NUMBER OF SECTORS TO READ              FMD
*IF DEF,LSFMD 
   CALL 71A 
   IF(OB(1).EQ.1) GOTO 62 
   IF(OB(1).EQ.2) GOTO 54 
40 RES,DRIVE,ABT 54 
   OUT CH=CH8,0,RTZ,ABT 72
*ENDIF
*IF -DEF,LSFMD,3
   MSG 1(B10,B11,B12) TO DISPLAY  *DISPLAY RUNNING MESSAGE               FMD
   READCW B6 SEC AT CYL B10,TRK B11,SEC B12,ABT 62  *READ                FMD
40 OUT CH=CH8,0,RTZ,ABT 72   *ISSUE RTZ COMMAND                          FMD
   DELAY,300D MSEC           *DELAY FOR ON CYLINDER                      FMD
42 GOSUB 74                  *CHECK FOR REPEAT CONDITION                 FMD
   GOTO 32 WHILE(B10+1 NE 843)  *LOOP TO DO ALL SEEKS                    FMD
*                                                                        FMD
/         RELEASE THE CONTROLLER AND DRIVE.                              FMD
*                                                                        FMD
   B13=2                     *SET REPEAT CONDITION FLAG                  FMD
   IF(ES AND RM NE 0)GOTO 22  *IF REPEAT MODULE SELECTED                 FMD
   REL,ABT 72                *RELEASE DRIVE AND CONTROLLER               FMD
44 IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *REPORT ERRORS                      FMD
   GOTO 77                   *GO TO EXIT THE MODULE                      FMD
*                                                                        FMD
/         RESERVE THE CONTROLLER AND FIXED MODULE DRIVE.                 FMD
*                                                                        FMD
50 RES,DRIVE,ABT 54          *CONNECT TO CONTROLLER/DRIVE                FMD
52 IF(SB(9)AND DSR EQ 0)ERROR 5/0 GOTO 72  *SELECT ERROR                 FMD08
   IF(SB(9)AND DRS EQ 0)ERROR 7/1 GOTO 72  *READY/SAFE ERROR             FMD
   RETURN                    *EXIT THE SUBROUTINE                        FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
54 IF(EC AND 77 NE 25)GOTO 72   *IF NOT GENERAL STATUS ERROR             FMD
   IF(SB(9) AND DSRRS NE DSRRS) GOTO 52  *STATUS ERROR                   FMD
   GOTO 72                      *GO TO REPORT THE ERROR                  FMD
*                                                                        FMD
/         PROCESS ABORT ON SEEK COMMAND.                                 FMD
*                                                                        FMD
60 IF(EC AND 77 LT 25) GOTO 72    *IF NOT GENERAL STATUS ERR             FMD
   IF(SB(9) AND DRSVOT NE DRSVOT)GOTO 36  *STATUS ERROR                  FMD
   GOTO 72                   *GO TO REPORT THE ERROR                     FMD
*                                                                        FMD
/         PROCESS ABORT ON READ COMMAND.                                 FMD
*                                                                        FMD
62 IF(EC AND 77 EQ 25) GOTO 64    *IF GENERAL STATUS ERROR               FMD
   IF(EC AND 77 NE 30) GOTO 72    *IF NOT SUCCESSFUL RETRY               FMD
64 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25          *IF RETRY ATTEMPTED                    FMD
   IF(SB(B4+21)AND 1 EQ 0) GOTO 66  *NOT ADDRESS FIELD                   FMD
   IF(SB(B4+5)AND 6000 NE 0)GOTO 40  *IF FLAWED AREA                     FMD
   IF(SB(B4+1)AND 10 NE 0)ERROR 14/5 GOTO 72  *ADDRESS FIELD             FMD
   GOTO 72                           *GO TO REPORT THE ERROR             FMD
66 IF(SB(B4+21) AND 2 NE 0) GOTO 42  *IGNORE DATA FIELD                  FMD
   GOTO 72                        *GO TO REPORT THE ERROR                FMD
*                                                                        FMD
/         REPORT ERRORS DETECTED.                                        FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNTER                  FMD
   B0=71D                      *MODULE NUMBER                            FMD
   IF(ES AND SL EQ 0)CALL 96V  *REPORT ERROR IF NOT SCOPING              FMD10
   IF(B13 EQ 0)ENDSUB GOTO 26  *IF CONDITION ZERO                        FMD
   IF(B13 EQ 1)ENDSUB GOTO 42  *IF CONDITION ONE                         FMD
   ENDSUB GOTO 44              *IF CONDITION TWO                         FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *IF CONDITION ZERO                       FMD
   ENDSUB GOTO 32               *IF CONDITION ONE                        FMD
76 IF(B13 EQ 1)RETURN           *IF CONDITION NUMBER 1                   FMD
   MSG 0 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
77 END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,LSFMD 
   MODULE FLD71A,LSFMD1,(16),LOCK 
**
* 
*         PURPOSE-
* 
*         FLD71A WILL CHECK THE SECTOR SIZE INDEX, THEN IT TRIES TO 
*         DO A LARGE SECTOR READ CHECKWORD, IF SUCCESSFULL IT WILL
*         EXIT TO PRIMARY MODULE AND CONTINUE NORMALLY IN THE 
*         PRIMARY;  IF NOT SUCCESSFULL IT WILL TRY TO DO A SMALL
*         SECTOR READ CHECWORD, THEN IT WILL EXIT TO PRIMARY MODULE.
* 
* 
*         METHOD- 
* 
*         1.  TEST FOR LARGE SECTOR INDEX;  IF NOT LARGE SECTOR, RESET
*             EVERY THING TO LARGE SECTOR.
*         2.  ATTEMPT A LARGE SECTOR READ CHECKWORD IF SUCCESSFULL
*             EXIT TO PRIMARY MODULE. 
*         3.  IF STEP 2 WAS NOT SUCCESSFUL, RESET SECTOR ADDRESS TO 
*             SMALL AND DO A SMALL SECTOR READ CHECKWORD. 
*         4.  EXIT TO PRIMARY MODULE AND CONTINUE NORMALLY. 
/ 
* 
* 
*         SUBMODULES REFERENCED-
* 
*         NONE
* 
* 
*         BUFFER USED-
* 
*         B1 = TEMPORARY STORAGE
*         OB(0) = SECTOR SIZE INDEX 
*         OB(1) = ABORT INDEX 
* 
1  FORMAT FLD71 - C=*OCT H=*OCT S=*OCT
2  FORMAT LARGE SECTOR READ CHECKWORD ATTEMPTED 
3  FORMAT SMALL SECTOR READ CHECKWORD ATTEMPTED 
* 
/                  MODULE INITILIZATION 
* 
20 OB(1) = 0                    INITILIZE THE ABORT INDEX 
* 
/                  MODULE TEST
* 
   RES,DRIVE,ABT 35 
   IF(OB(0).EQ.0) GOTO 25               *IF LARGE SEC.
   OB(0) = 0                           *RESET TO LARGE SEC. INDEX 
   B6 = 1                           *NUMBER OF LARGE SEC. 
25 MSG 2 TO LINE 45 
   MSG 1(B10,B11,B12) TO DISPLAY
   READCW B6 SEC AT CYL B10,TRK B11,SEC B12, ABT 27 
   EXIT                      *EXIT TO PRIMARY MODULE
27 OB(0) = 1                    *SMALL SEC. INDEX 
   B1=B12 
   B6=4                      *NUMBER OF SMALL SEC 
   B12=B12.LS.2                *ADD. OF SMALL SEC.
   MSG 3 TO LINE 45 
   MSG 1 (B10,B11,B12) TO DISPLAY     *DISPLAY RUNNING MSG
   READCW B6 SM SEC AT CYL B10 TRK B11 SEC B12, ABT 31
   B12=B1 
   GOTO 33
31 OB(1) = 1
   B12=B1 
33 EXIT 
35 OB(1)=2
   EXIT 
   END 20 
COMPILE 
*ENDIF
*IF DEF,SFMD
   MODULE FMD72,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD72,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD72,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.72 RESONANCE TEST 2                                              FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD72 ATTEMPTS TO CREATE A RESONANCE CONDITION IN THE FIXED    FMD
*ENDIF
*IF DEF,PFMD
*         FHD72 ATTEMPTS TO CREATE A RESONANCE CONDITION IN THE FIXED 
*ENDIF
*IF DEF,LSFMD 
*         FLD72 ATTEMPTS TO CREATE A RESONANCE CONDITION IN THE FIXED 
*ENDIF
*         MODULE DRIVE BY SEEKING FROM CYLINDER 0 TO ANOTHER CYLINDER    FMD
*         BY A PREDETERMINED NUMBER OF CYLINDERS (INITIALLY ONE) UNTIL   FMD
*         CYLINDER 842 DECIMAL IS REACHED AND THEN BACK TO ZERO AGAIN    FMD
*         AND CHECKING FOR THE RESONANCE CONDITION BY READING SECTOR 0,  FMD
*         OF TRACK 0 OF THE CYLINDER AFTER EACH SEEK.                    FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         2.  VERIFY THAT SELECT AND RESERVED AND READY AND SAFE ARE     FMD
*             ACTIVE.                                                    FMD
*         3.  ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND WAIT 300 DECIMAL FMD
*             MILLISECONDS.                                              FMD
*         4.  VERIFY THAT STATUS VALID, READY AND SAFE, AND ON           FMD
*             CYLINDER ARE ACTIVE.                                       FMD
*         5.  INITIALIZE THE SEEK INCREMENT VALUE IN B6 TO ONE.          FMD
*         6.  INITIALIZE THE FIRST CYLINDER NUMBER IN B10 TO ZERO.       FMD
*         7.  CONNECT TO THE 7155 CONTROLLER AND FIXED MODULE DRIVE.     FMD
*         8.  VERIFY THAT SELECT AND RESERVED AND READY AND SAFE ARE     FMD
*             ACTIVE.                                                    FMD
*         9.  INITIALIZE THE TOTAL SEEK TIME COUNTER IN B5 TO ZERO.      FMD
*         10. READ THE FIRST SECTOR OF THE FIRST TRACK OF THE CYLINDER   FMD
*             NUMBER IN B10.                                             FMD
*         11. INCREMENT THE CYLINDER NUMMBER IN B10 BY B6.               FMD
*         12. IF THE CYLINDER NUMBER IN B10 IS LESS THAN 841 DECIMAL,    FMD
*             GO TO STEP 15.                                             FMD
*         13. IF THE CYLINDER NUMBER IN B10 IS LESS THAN ZERO, GO TO     FMD
*             STEP 18.                                                   FMD
*         14. COMPLEMENT THE NUMBER IN B6 TO DECREMENT THE CYLINDER      FMD06
*             ADDRESS IN B5 BY THE AMOUNT IT WAS INCREMENTING IT.        FMD
*         15. UPDATE THE TOTAL SEEK TIME IN B5 BY THE TIME REQUIRED TO   FMD
*             DO THE LAST SEEK.                                          FMD
*         16. IF THE TOTAL SEEK TIME IS LESS THAN 3400 OCTAL, GO TO      FMD
*             STEP 10.                                                   FMD
*         17. GO TO STEP 7.                                              FMD
*         18. ISSUE A 49 (RTZ) COMMAND TO THE DRIVE AND WAIT 300 DECIMAL FMD
*             MILLISECONDS.                                              FMD
*         19. RESTORE THE ORIGINAL NUMBER IN THE B6 REGISTER.            FMD06
*         20. UPDATE THE NUMBER IN THE B6 REGISTER BY ONE AND IF THE     FMD
*             NUMBER IS LESS THAN 422D, GO TO STEP 6.                    FMD
*         21. RELEASE THE 7155 CONTROLLER AND FIXED MODULE DRIVE.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         NO ENTRY REQUIREMENTS.                                         FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD96V - PROCESS ERRORS.                                       FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD96V - PROCESS ERRORS.
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD96V - PROCESS ERRORS.
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - SEEK TIME COUNTER.                               FMD
*         B6 REGISTER - SEEK INCREMENT VALUE.                            FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - CYLINDER NUMBER.                                FMD
*         B11 REGISTER - TRACK NUMBER.                                   FMD
*         B12 REGISTER - SECTOR NUMBER.                                  FMD
*         B13 REGISTER - NOT USED.                                       FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - LOOP COUNTER.                                   FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*IF DEF,LSFMD,1 
*         OB(0-1) - SECTOR SIZE INDEX AND ABORT INDEX 
*                                                                        FMD
*         REMARKS-                                                       FMD
*                                                                        FMD
*IF DEF,SFMD
0  FORMAT FMD72 - RESONANCE TEST 2                                       FMD
1  FORMAT FMD72 - C=*OCT INC=*OCT                                        FMD
2  FORMAT FMD72 - EC *DECD, LC = *DECD                                   FMD
3  FORMAT FMD72 - *DECD ERRORS                                           FMD
*ENDIF
*IF DEF,PFMD
0  FORMAT FHD72 - RESONANCE TEST 2
1  FORMAT FHD72 - C=*OCT INC=*OCT 
2  FORMAT FHD72 - EC *DECD, LC = *DECD
3  FORMAT FHD72 - *DECD ERRORS
*ENDIF
*IF DEF,LSFMD 
0  FORMAT FLD72 - RESONANCE TEST 2
1  FORMAT FLD72 - C=*OCT INC=*OCT 
2  FORMAT FLD72 - EC = *DECD, LC = *DECD
3  FORMAT FLD72 - *DECD ERRORS
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CH8=8, DRS=200, DRSVOT=1240, DSR=400, DSRRS=600                FMD
   EQUATE DSV=40, OTRK=1000, RTZ=111                                     FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 0 TO PRINT            *PRINT MODULE NAME MESSAGE                  FMD
22 MSG 0 TO DISPLAY          *DISPLAY MODULE NAME MESSAGE                FMD
*IF DEF,LSFMD,1 
   OB(0) = 0
   B11=0                     *TRACK NUMBER                               FMD
   B12=0                     *SECTOR NUMBER                              FMD
   B13=0                     *SET REPEAT CONDITION FLAG                  FMD
*                                                                        FMD
/         CONNECT TO CONTROLLER.                                         FMD
*                                                                        FMD
24 GOSUB 50                  *CONNECT TO CONTROLLER/DRIVE                FMD
*                                                                        FMD
/         ISSUE A RTZ COMMAND TO THE DRIVE.                              FMD
*                                                                        FMD
   OUT CH=CH8,0,RTZ,ABT 72   *ISSUE RTZ COMMAND                          FMD
   DELAY,300D MSEC           *DELAY FOR ON TRACK                         FMD
   STATUS,DETAIL,ABT 72      *GET DETAILED STATUS                        FMD
   IF(SB(9)AND DSV EQ 0)ERROR 10/2 GOTO 72  *STATUS VALID                FMD
   IF(SB(9)AND DRS EQ 0)ERROR 7/1 GOTO 72  *READY SAFE ERROR             FMD
   IF(SB(9)AND OTRK EQ 0)ERROR 12/3 GOTO 72  *OFF CYLINDER               FMD
26 GOSUB 74                  *CHECK FOR REPEAT CONDITION                 FMD
   B13=1                     *SET REPEAT CONDITION FLAG                  FMD
   B6=1                      *NUMBER OF TRACKS TO SEEK                   FMD
*                                                                        FMD
/         SEEK TO THE CYLINDER IN B10, HEAD 0, SECTOR 0.                 FMD
*                                                                        FMD
32 B10=0                     *INITIALIZE SEEK ADD. REGISTER              FMD
34 GOSUB 50                  *CONNECT TO CONTROLLER/DRIVE                FMD
   B5=0                      *INITIALIZE SEEK COUNTER                    FMD
*                                                                        FMD
/         READ SECTOR 0, HEAD 0 OF THE CYLINDER IN B10.                  FMD
*                                                                        FMD
36 B0=1                      *NUMBER OF SECTORS TO READ                  FMD
*IF DEF,LSFMD 
   CALL 72A 
   IF(OB(1).EQ.1) GOTO 64 
   IF(OB(1).EQ.2) GOTO 54 
*ENDIF
*IF -DEF,LSFMD,2
   MSG 1 (B10,B6) TO DISPLAY  *DISPLAY RUNNING MESSAGE                   FMD
   READCW B0 SEC AT CYL B10,TRK B11,SEC B12,ABT 64  *READ                FMD
*                                                                        FMD
/         UPDATE B10 TO THE NEXT CYLINDER TO SEEK TO.                    FMD
*                                                                        FMD
*IF DEF,LSFMD,2 
37 RES,DRIVE, ABT 54
   B10=B10+B6               *BUILD NEW SEEK ADDRESS 
*IF -DEF,LSFMD,1
37 B10=B10+B6                 *BUILD NEW SEEK ADDRESS                    FMD
   IF(B10 LT 841D) GOTO 40                                               FMD
   IF(B6 AND 4000 NE 0) GOTO 42  *IF THIS PASS DONE                      FMD
   B6=B6-1 XOR 7777           *BUILD NUMBER FOR DECREMENT                FMD
   B10=B10+B6                 *RESTORE OLD SEEK ADDRESS                  FMD
   B10=B10+B6                 *DECREMENT SEEK ADDRESS                    FMD
40 GOTO 36 WHILE (B5+SB(60) LT 3400)                                     FMD
   GOTO 34                                                               FMD
42 OUT CH=CH8,0,RTZ,ABT 72   *ISSUE RTZ COMMAND                          FMD
   DELAY,300D MSEC           *DELAY FOR ON TRACK                         FMD
   GOSUB 74                  *CHECK FOR REPEAT CONDITION                 FMD
   B6=B6-1 XOR 7777          *RESTORE ORIGINAL NUMBER                    FMD
   GOTO 32 WHILE(B6+1 NE 422D)  *LOOP TO DO ALL SEEKS                    FMD
*                                                                        FMD
/         RELEASE THE CONTROLLER AND DRIVE.                              FMD
*                                                                        FMD
   IF(ES AND RM NE 0) GOTO 22  *IF REPEAT MODULE SELECTED                FMD
   B13=2                     *SET REPEAT CONDITION FLAG                  FMD
   REL,ABT 72                *RELEASE DRIVE AND CONTROLLER               FMD
44 IF(B14 NE 0)MSG 3(B14)TO DAYFILE  *REPORT ERRORS                      FMD
   GOTO 77                   *GO TO EXIT THE MODULE                      FMD
*                                                                        FMD
/         RESERVE THE CONTROLLER AND FIXED MODULE DRIVE.                 FMD
*                                                                        FMD
50 RES,DRIVE,ABT 54          *CONNECT TO CONTROLLER/DRIVE                FMD
52 IF(SB(9)AND DSR EQ 0)ERROR 5/0 GOTO 72  *SELECT ERROR                 FMD
   IF(SB(9)AND DRS EQ 0)ERROR 7/1 GOTO 72  *READY/SAFE ERROR             FMD
   RETURN                    *EXIT THE SUBROUTINE                        FMD
*                                                                        FMD
/         PROCESS ABORT ON RESERVE COMMAND.                              FMD
*                                                                        FMD
54 IF(EC AND 77 NE 25)GOTO 72   *IF NOT GENERAL STATUS ERROR             FMD
   IF(SB(9)AND DSRRS NE DSRRS)GOTO 52  *STATUS ERROR                     FMD
   GOTO 72                      *GO TO REPORT THE ERROR                  FMD
*                                                                        FMD
/         PROCESS ABORT ON READ COMMAND.                                 FMD
*                                                                        FMD
64 IF(EC AND 77 EQ 25) GOTO 66    *IF GENERAL STATUS ERROR               FMD
   IF(EC AND 77 NE 30) GOTO 72    *IF NOT SUCCESSFUL RETRY               FMD
66 B4=0                                                                  FMD
   IF(SB(25) NE 0) B4=25          *IF RETRY ATTEMPTED                    FMD
   IF(SB(B4+21)AND 1 EQ 0) GOTO 70  *IF NOT ADD. FIELD ERR.              FMD
   IF(SB(B4+5)AND 6000 NE 0) GOTO 37  *IF FLAWED AREA                    FMD
   IF(SB(B4+1)AND 10 NE 0)ERROR 14/5 GOTO 72  *ADRESS FIELD              FMD
   GOTO 72                                *REPORT THE ERROR              FMD
70 IF(SB(B4+21) AND 2 NE 0) GOTO 37  *IGNORE DATA FIELD ERR.             FMD
   GOTO 72                        *GO TO REPORT THE ERROR                FMD
*                                                                        FMD
/         REPORT ERRORS DETECTED.                                        FMD
*                                                                        FMD
72 B14=B14+1                   *INCREMENT ERROR COUNTER                  FMD
   B0=72D                      *MODULE NUMBER                            FMD
   IF(ES AND SL EQ 0)CALL 96V  *REPORT ERROR IF NOT SCOPING              FMD10
   IF(B13 EQ 0)ENDSUB GOTO 26  *IF CONDITION ZERO                        FMD
   IF(B13 EQ 1)ENDSUB GOTO 34  *IF CONDITION ONE
   ENDSUB GOTO 44              *IF CONDITION TWO                         FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 2 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *IF CONDITION ZERO                       FMD
   ENDSUB GOTO 32               *IF CONDITION ONE                        FMD
76 IF(B13 NE 1) MSG 0 TO DISPLAY  *DISPLAY RUNNING MESSAGE               FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
77 END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,LSFMD 
   MODULE FLD72A,LSFMD1,(16),LOCK 
**
* 
*         PURPOSE-
* 
*         FLD72A WILL CHECK THE SECTOR SIZE INDEX, THEN IT TRIES TO 
*         DO A LARGE SECTOR READ CHECKWORD, IF SUCCESSFULL IT WILL
*         EXIT TO PRIMARY MODULE AND CONTINUE NORMALLY IN THE 
*         PRIMARY;  IF NOT SUCCESSFULL IT WILL TRY TO DO A SMALL
*         SECTOR READ CHECWORD, THEN IT WILL EXIT TO PRIMARY MODULE.
* 
* 
*         METHOD- 
* 
*         1.  TEST FOR LARGE SECTOR INDEX;  IF NOT LARGE SECTOR, RESET
*             EVERY THING TO LARGE SECTOR.
*         2.  ATTEMPT A LARGE SECTOR READ CHECKWORD IF SUCCESSFULL
*             EXIT TO PRIMARY MODULE. 
*         3.  IF STEP 2 WAS NOT SUCCESSFUL, RESET SECTOR ADDRESS TO 
*             SMALL AND DO A SMALL SECTOR READ CHECKWORD. 
*         4.  EXIT TO PRIMARY MODULE AND CONTINUE NORMALLY. 
/ 
* 
* 
*         SUBMODULES REFERENCED-
* 
*         NONE
* 
* 
*         BUFFER USED-
* 
*         B1 = TEMPORARY STORAGE
*         OB(0) = SECTOR SIZE INDEX 
*         OB(1) = ABORT INDEX 
* 
1  FORMAT FLD72 - C=*OCT H=*OCT S=*OCT
2  FORMAT LARGE SECTOR READ CHECKWORD ATTEMPTED 
3  FORMAT SMALL SECTOR READ CHECKWORD ATTEMPTED 
* 
/                  MODULE INITILIZATION 
* 
20 OB(1) = 0                    INITILIZE THE ABORT INDEX 
* 
/                  MODULE TEST
* 
   RES,DRIVE,ABT 35 
   IF(OB(0).EQ.0) GOTO 25               *IF LARGE SEC.
   OB(0) = 0                           *RESET TO LARGE SEC. INDEX 
   B0 = 1                           *NUMBER OF LARGE SEC. 
25 MSG 2 TO LINE 45 
   MSG 1(B10,B11,B12) TO DISPLAY
   READCW B0 SEC AT CYL B10,TRK B11,SEC B12, ABT 27 
   EXIT                      *EXIT TO PRIMARY MODULE
27 OB(0) = 1                    *SMALL SEC. INDEX 
   B1=B12 
   B0=4                      *NUMBER OF SMALL SEC 
   B12=B12.LS.2                *ADD. OF SMALL SEC.
   MSG 3 TO LINE 45 
   MSG 1 (B10,B11,B12) TO DISPLAY     *DISPLAY RUNNING MSG
   READCW B0 SM SEC AT CYL B10 TRK B11 SEC B12, ABT 31
   B12=B1 
   GOTO 33
31 OB(1) = 1
   B12=B1 
33 EXIT 
35 OB(1)=2
   EXIT 
   END 20 
COMPILE 
*ENDIF
*IF DEF,SFMD
   MODULE,FMD73,6000,(07),LOCK                                           FMD
*ENDIF
*IF DEF,PFMD
   MODULE,FHD73,6000,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE,FLD73,6000,(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.73 TEST DUAL ACCESS                                              FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         TO TEST THE RESERVE LOGIC IN THE FIXED MODULE DRIVE USING THE  FMD
*         TWO ACCESSES TO THE DRIVE.  MANUAL OPERATIONS ARE REQUIRED TO  FMD
*         RUN THIS TEST.                                                 FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  EXIT THE MODULE IF OPERATOR INTERVENTION IS DISABLED IN    FMD
*             PARAMETER WORD P5.                                         FMD
*         2.  CHECK PARAMETER WORD 8 FOR HAVING ONE OF THE COPY BITS SET FMD
*             IN THE PARAMETER WORD AND ONLY ONE OF THE BITS. ISSUE      FMD
*             MESSAGES IF ANY OF THE ERRORS ARE DETECTED                 FMD
*         3.  CHECK PARAMETER WORD 8 FOR HAVING ANY EXTRA BITS SET IN    FMD
*             THE PARAMETER WORD. ISSUE MESSAGES IF EXTRA BITS ARE SET.  FMD
*         4.  REPORT A SUSPECTED PARAMETER ENTRY ERROR IF ERRORS WERE    FMD
*             DETECTED IN STEPS 1 AND 2.                                 FMD
*         5.  IF NEITHER OR BOTH OF THE COPY BITS WERE SET IN PARAMETER  FMD
*             WORD 8, LOOP WAITING FOR THE OPERATOR TO ENTRY A NEW RUN   FMD
*             COMMAND.                                                   FMD
*         6.  EXIT TO THE MODULE CONTAINING THE COPY OF THE OF THE TEST  FMD
*             TO BE RUN.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         OPERATOR INTERVENTION BIT INITIALIZED IN PARAMETER WORD 5 AND  FMD
*         THE COPY BIT INITIALIZED IN PARAMETER WORD 8.                  FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*IF DEF,SFMD
*         EXIT TO MODULE FMD98A IF OPERATOR INTERVENTION IS DISABLED IN  FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO MODULE FHD98A IF OPERATOR INTERVENTION IS DISABLED IN 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO MODULE FLD98A IF OPERATER INTERVENTION IS DISABLED IN 
*ENDIF
*         PARAMETER WORD 5 AND REPEAT MODULE IS ENABLED.                 FMD
*IF DEF,SFMD
*         EXIT TO MODULE FMD73A IF THE COPY 0 BIT IS SET IN PARAMETER    FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO MODULE FHD73A IF THE COPY 0 BIT IS SET IN PARAMETER 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO MODULE FLD73A IF THE COPY 0 BIT IS SET IN PARAMETER 
*ENDIF
*         WORD 8.                                                        FMD
*IF DEF,SFMD
*         EXIT TO MODULE FMD73B IF THE COPY 1 BIT IS SET IN PARAMETER    FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO MODULE FHD73B IF THE COPY 1 BIT IS SET IN PARAMETER 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO MODULE FLD73B IF THE COPY 1 BIT IS SET IN PARAMETER 
*ENDIF
*         WORD 8.                                                        FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD73A - COPY 0 OF THE TEST.                                   FMD
*         FMD73B - COPY 0 OF THE TEST.                                   FMD
*ENDIF
*IF DEF,PFMD
*         FHD73A - COPY 0 OF THE TEST.
*         FHD73B - COPY 0 OF THE TEST.
*ENDIF
*IF DEF,LSFMD 
*         FLD73A - COPY 0 OF THE TEST 
*         FLD73B - COPY 0 OF THE TEST 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - MASK FOR UNUSED P8 BITS.                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ILLEGAL PARAMETER FLAG.                          FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NO BUFFER REQUIREMENTS.                                        FMD
*                                                                        FMD
*         REMARKS-                                                       FMD
*         COPY 0 OF THE TEST MUST BE STARTED BEFORE COPY 1 OF THE TEST.  FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD73 - TEST DUAL ACCESS                                       FMD
2  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
3  FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD73 - TEST DUAL ACCESS
2  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
3  FORMAT PRESERVICE FORECAST GROUP FHDD
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD73 - TEST DUAL ACCESS
2  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
3  FORMAT PRESERVICE FORECAST GROUP FMDD
*ENDIF
4  FORMAT SUSPECTED PARAMETER ENTRY ERROR                                FMD
5  FORMAT CHECK P8 - NOT COPY BITS SET                                   FMD
6  FORMAT CHECK P8 - TWO CONFLICTING BITS SET                            FMD
7  FORMAT CHECK P8 - UNUSED BITS ARE SET                                 FMD
10 FORMAT P0 - P4  *OCT *OCT *OCT *OCT *OCT                              FMD
11 FORMAT P5 - P9  *OCT *OCT *OCT *OCT *OCT                              FMD
*IF DEF,SFMD
12 FORMAT PARAMETERS ARE DESCRIBED IN MODULE FMD99                       FMD
13 FORMAT FMD73 - PARAMETER ERROR                                        FMD
*ENDIF
*IF DEF,PFMD
12 FORMAT PARAMETERS ARE DESCRIBED IN MODULE FHD99
13 FORMAT FHD73 - PARAMETER ERROR 
*ENDIF
*IF DEF,LSFMD 
12 FORMAT PARAMETERS ARE DISCRIBED IN MODULE FLD99
13 FORMAT FLD73 - PARAMETER ERROR 
*ENDIF
14 FORMAT P8 PARAMETER WORD MUST BE SET AS FOLLOWS -                     FMD
15 FORMAT P8=100 IN FIRST COMPUTER SYSTEM                                FMD
16 FORMAT P8=200 IN SECOND COMPUTER SYSTEM                               FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CPYS=300 CPY0=100, CPY1=200, DOPIN=10                          FMD
*                                                                        FMD
/         CHECK FOR OPERATOR INTERVENTION ENABLED.                       FMD
*                                                                        FMD
20 IF(P5 AND DOPIN EQ 0) GOTO 22  *IF MANUAL OP. ENABLED                 FMD
   IF(ES AND RM NE 0) EXIT TO 98A  *IF RM ENABLED                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD20
*                                                                        FMD
22 MSG 1 TO PRINT            *PRINT MODULE TITLE MESSAGE                 FMD
   MSG 1 TO DISPLAY          *DISPLAY THE RUNNING MESSAGE                FMD
   B2=0                      *FLAG FOR ILLEGAL PARAMETER                 FMD
   B1=14                     *STARTING LINE NUMBER                       FMD
*                                                                        FMD
/         CHECK PARAMETER WORD P8.                                       FMD
*                                                                        FMD
   IF(P8 AND CPYS NE 0) GOTO 24  *IF NOT COPY BITS SET                   FMD
   MSG 5 TO LINE B1          *P8 PARAMETER ERROR MESSAGE                 FMD
   B1=B1+1                   *INCREMENT LINE NUMBER                      FMD
   B2=1                      *SET ILLEGAL PARAMETER FLAG                 FMD
*                                                                        FMD
/         CHECK P8 FOR TWO COPY BITS SET.                                FMD
*                                                                        FMD
24 IF(P8 AND CPYS NE CPYS) GOTO 26  *IF NOT TWO BITS SET                 FMD
   MSG 6 TO LINE B1          *P8 PARAMETER ERROR MESSAGE                 FMD
   B1=B1+1                   *INCREMENT LINE NUMBER                      FMD
   B2=1                      *SET ILLEGAL PARAMETER FLAG                 FMD
*                                                                        FMD
/         CHECK P8 FOR EXTRA BITS SET IN THE WORD.                       FMD
*                                                                        FMD
26 B0=CPYS XOR 7777          *BUILD MASK FOR EXTRA BITS                  FMD
   IF(P8 AND B0 EQ 0) GOTO 30  *IF NO EXTRA BIT IN P8                    FMD
   MSG 7 TO LINE B1          *EXTRA BITS IN P8 MESSAGE                   FMD
   B1=B1+1                   *INCREMENT LINE NUMBER                      FMD
30 IF(B1 EQ 14) GOTO 34      *IF P8 PARAMETER WORD OK                    FMD
*                                                                        FMD
/         DISPLAY THE PARAMETER ERROR MESSAGES.                          FMD
*                                                                        FMD
   MSG 2 TO LINE 1           *TITLE LINE                                 FMD
   MSG 1 TO LINE 2           *MODULE NUMBER AND NAME                     FMD
   MSG 3 TO LINE 3           *PRESERVICE GROUP NUMBER                    FMD
   MSG 10 (P0,P1,P2,P3,P4) TO LINE 7  *DISPLAY PARAMETERS                FMD
   MSG 11 (P5,P6,P7,P8,P9) TO LINE 10  *DISPLAY PARAMETERS               FMD
   MSG 4 TO LINE 12          *ERROR MESSAGE                              FMD
   MSG 12 TO LINE B1         *DIRECTIONS TO CE                           FMD
   B1=B1+1                   *INCREMENT LINE NUMBER                      FMD
   MSG 14 TO LINE B1         *DISPLAY EXPECTED PARAMETERS                FMD
   B1=B1+1                   *INCREMENT LINE NUMBER                      FMD
   MSG 15 TO LINE B1                                                     FMD
   B1=B1+1                   *INCREMENT LINE NUMBER                      FMD
   MSG 16 TO LINE B1                                                     FMD
32 MSG 13 TO DISPLAY         *DISPLAY MESSAGE                            FMD
   PAUSE                     *WAIT FOR GO                                FMD
   IF(B2 NE 0) GOTO 32       *LOOP IF ILLEGAL PARAMETER                  FMD
*                                                                        FMD
/         EXIT THE MODULE TO THE CORRECT SUBMODULE.                      FMD
*                                                                        FMD
34 IF(P8 EQ CPY0) EXIT TO 73A  *EXIT TO COPY 0                           FMD
   IF(P8 EQ CPY1) EXIT TO 73B  *EXIT TO COPY 1                           FMD
   END 20                      *END OF THE MODULE                        FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE,FMD73A,6000,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE,FHD73A,6000,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE,FLD73A,6000,(16),LOCK 
*ENDIF
**                                                                       FMD
*   5.2.73.1 DUAL ACCESS TEST COPY 0                                     FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         TO TEST ONE ACCESS TO THE FIXED MODULE DRIVE WHILE ANOTHER     FMD
*         COPY (COPY 1) USES THE OTHER ACCESS TO THE DRIVE.              FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT THE THE 7155 CONTROLLER AND THEN TO THE FIXED      FMD
*             MODULE DRIVE.                                              FMD
*         2.  CHECK THE GENERAL STATUS TO VERIFY THAT THE FIXED MODULE   FMD
*             DRIVE IS SELECTED.                                         FMD
*         3.  INFORM OPERATOR TO START COPY 1 ON THE TEST.               FMD06
*         4.  AFTER RECEIVING A GO, RELEASE THE FIXED MODULE DRIVE.      FMD06
*         5.  INFORM OPERATOR TO START COPY 1 ON THE TEST.               FMD
*         6.  AFTER RECEIVING A GO, VERIFY THAT THE FIXED MODULE DRIVE   FMD
*             IS RESERVED BY THE OTHER ACCESS.                           FMD
*         7.  INFORM OPERATOR TO START COPY 1 ON THE TEST.               FMD
*         8.  AFTER RECEIVING A GO, CONNECT TO THE FIXED MODULE DRIVE.   FMD
*             CHECK THE GENERAL STATUS TO VERIFY THAT THE DRIVE IS       FMD
*             SELECTED.                                                  FMD
*         9.  RELEASE THE FIXED MODULE DRIVE AND EXIT THE MODULE.        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         SB(72) CONTAINS THE FIXED MODULE DRIVE NUMBER.                 FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD73C - PROCESS AND REPORT ERRORS.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD73C - PROCESS AND REPORT ERRORS. 
*ENDIF
*IF DEF,LSFMD 
*         FLD73C - PROCESS AND REPORT ERRORS. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CONTROLLER CONNECT RETRY COUNTER.                FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - EXPECTED GENERAL STATUS.                         FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         IB(0) CONTIANS ACTUAL GENERAL STATUS.                          FMD
*                                                                        FMD
*         REMARKS-                                                       FMD
*         COPY 0 OF THE TEST MUST BE STARTED BEFORE COPY 1 OF THE TEST.  FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD73 - TEST DUAL ACCESS                                       FMD
2  FORMAT FMD73 - EC = *DECD, LC = *DECD                                 FMD
3  FORMAT FMD73 - *DECD ERRORS                                           FMD
4  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
5  FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD
6  FORMAT MANUAL OPERATION STOP                                          FMD
7  FORMAT START COPY 1 OF THE FMD CONNECT TEST (FMD73)                   FMD
10 FORMAT FMD73 - START COPY 1                                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD73 - TEST DUAL ACCESS
2  FORMAT FHD73 - EC = *DECD, LC = *DECD
3  FORMAT FHD73 - *DECD ERRORS
4  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
5  FORMAT PRESERVICE FORECAST GROUP FHDD
6  FORMAT MANUAL OPERATION STOP 
7  FORMAT START COPY 1 OF THE FMD CONNECT TEST (FHD73)
10 FORMAT FHD73 - START COPY 1
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD73 - TEST DUAL ACCESS
2  FORMAT FLD73 - EC = *DECD, LC = *DECD
3  FORMAT FLD73 - *DECD ERRORS
4  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
5  FORMAT PRESERVICE FORECAST GROUP FMDD
6  FORMAT MANUAL OPERATION STOP 
7  FORMAT START COPY 1 OF THE FLD CONNECT TEST (FLD73)
10 FORMAT FLD073 - START COPY 1 
*ENDIF
11 FORMAT THE FMD CONTROLLER AND DRIVE HAVE BEEN RESERVED                FMD
12 FORMAT BY COPY 0.                                                     FMD
13 FORMAT THE FMD CONTROLLER AND DRIVE HAVE BEEN RELEASED                FMD
14 FORMAT BY COPY 0.                                                     FMD
15 FORMAT COPY 0 HAS DETECTED THAT THE FMD CONTROLLER AND                FMD
16 FORMAT DRIVE HAVE BEEN RESERVED BY COPY 1.                            FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CGS=12, CNDV=0, CRSVD=2000, OPCOM=10, RELD=20                  FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
*                                                                        FMD
/         SELECT AND RESERVE THE FIXED MODULE DRIVE.                     FMD
*                                                                        FMD
22 B13=0                     *CONDITION NUMBER 0                         FMD
   GOSUB 62                  *CONNECT TO CONTROLLER/DRIVE                FMD
   B2=0                      *EXPECTED GENERAL STATUS                    FMD
   IF(IB NE B2) ERROR 11/3 GOTO 72  *IF DRIVE NOT RESERVED               FMD
24 GOSUB 74                  *REPEAT CONDITION CHECK                     FMD
   GOSUB 60                  *START COPY 1                               FMD
*                                                                        FMD
/         RELEASE THE FIXED MODULE DRIVE.                                FMD
*                                                                        FMD
26 B13=1                     *CONDITION NUMBER 1                         FMD
   GOSUB 62                  *CONNECT TO CONTROLLER/DRIVE                FMD
   GOSUB 70                  *RELEASE TO FMD DRIVE
30 GOSUB 74                  *REPEAT CONDITION CHECK                     FMD
   GOSUB 60                  *START COPY 1                               FMD
*                                                                        FMD
/         TEST FOR FMD RESERVED BY COPY 1.                               FMD
*                                                                        FMD
32 B13=2                     *CONDITION NUMBER 2                         FMD
   GOSUB 62                  *CONNECT TO CONTROLLER/DRIVE                FMD
   B2=10                     *EXPECTED GENERAL STATUS                    FMD
   IF(IB NE B2) ERROR 10/2 GOTO 72  *IF DRIVE NOT RESERVED               FMD
34 GOSUB 74                  *REPEAT CONDITION CHECK                     FMD
   GOSUB 60                  *START COPY 1                               FMD
*                                                                        FMD
/         ATTEMPT TO RESERVE THE FMD AGAIN.                              FMD
*                                                                        FMD
36 B13=3                     *CONDITION NUMBER 3                         FMD
   GOSUB 62                  *CONNECT TO CONTROLLER/DRIVE                FMD
   B2=0                      *EXPECTED GENERAL STATUS                    FMD
   IF(IB NE B2) ERROR 12/4 GOTO 72  *IF NOT SELECTED                     FMD
40 GOSUB 74                  *REPEAT CONDITION CHECK                     FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER AND FMD.                           FMD
*                                                                        FMD
   RES                       *RESERVE 7155 CHANNEL                       FMD
   FUNC,OPCOM                *RELEASE CONTROLLER AND DRIVE               FMD
   REL                       *RELEASE FMD CHANNEL                        FMD
   IF(ES AND RM NE 0) GOTO 20  *IF REPEAT MODULE SELECTED                FMD
   IF(B14 NE 0) MSG 3 (B14) TO DAYFILE  *IF ERRORS DETECTED              FMD
   GOTO 77                   *GO TO EXIT THE MODULE                      FMD
*                                                                        FMD
/         INFORM OPERATOR TO GIVE COPY 1 A GO COMMAND.                   FMD
*                                                                        FMD
60 MSG 4 TO LINE 1           *TITLE LINE                                 FMD
   MSG 1 TO LINE 2           *MODULE NUMBER AND NAME                     FMD
   MSG 5 TO LINE 3           *PRESERVICE GROUP NUMBER                    FMD
   MSG 6 TO LINE 12          *MANUAL OPERATION STOP                      FMD
   IF(B13 EQ 0)MSG 11 TO LINE 14  *IF CONDITION NUMBER 0                 FMD
   IF(B13 EQ 0)MSG 12 TO LINE 15  *IF CONDITION NUMBER 0                 FMD
   IF(B13 EQ 1)MSG 13 TO LINE 14  *IF CONDITION NUMBER 1                 FMD
   IF(B13 EQ 1)MSG 14 TO LINE 15  *IF CONDITION NUMBER 1                 FMD
   IF(B13 EQ 2)MSG 15 TO LINE 14  *IF CONDITION NUMBER 2                 FMD
   IF(B13 EQ 2)MSG 16 TO LINE 15  *IF CONDITION NUMBER 2                 FMD
   IF(B13 EQ 3)MSG 11 TO LINE 14  *IF CONDITION NUMBER 3                 FMD
   IF(B13 EQ 3)MSG 12 TO LINE 15  *IF CONDITION NUMBER 3                 FMD
   MSG 7 TO LINE 17          *DIRECTIONS TO CE                           FMD
   MSG 10 TO DISPLAY         *DISPLAY MESSAGE                            FMD
   PAUSE                     *WAIT FOR GO                                FMD
   BLANK                     *CLEAR DISPLAY BUFFER                       FMD
   MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
   RETURN                    *EXIT THE SUBROUTINE                        FMD
*                                                                        FMD
/         CONNECT TO FIXED MODULE CONTROLLER.                            FMD
*                                                                        FMD
62 BA=0                                                                  FMD
   WC=1                                                                  FMD
   B0=0                                                                  FMD
   B2=0                      *EXPECTED GENERAL STATUS                    FMD
64 RES                       *RESERVE 7155 CHANNEL                       FMD
   FIN CGS, ABT 72            *SEND GENERAL STATUS FUNCTION              FMD
   IF(IB AND CRSVD EQ 0)GOTO 66  *IF 7155 CONNECTED                      FMD
   GOTO 64 WHILE (B0+1 NE 1000)  *RETRY 1000 TIMES                       FMD
   ERROR 7/1 GOTO 72            *CONTROLLER CONNECT ERROR                FMD
*                                                                        FMD
/         CONNECT TO FIXED MODULE DRIVE.                                 FMD
*                                                                        FMD
66 OB=SB(72)                 *DRIVE NUMBER                               FMD
   WC=1                                                                  FMD
   FOUT,CNDV,ABT 72          *SEND DRIVE CONNECT FUNCTION                FMD
   FIN CGS, ABT 72           *SEND GENERAL STATUS FUNCTION               FMD
   RETURN                    *EXIT THE SUBROUTINE                        FMD
*                                                                        FMD
/         RELEASE FIXED MODULE DRIVE.                                    FMD
*                                                                        FMD
70 WC=1                                                                  FMD
   FUNC,RELD,ABT 72           *SEND RELEASE DRIVE FUNCTION               FMD
   FIN CGS, ABT 72            *SEND GENERAL STATUS FUNCTION              FMD
   B2=0                       *EXPECTED GENERAL STATUS                   FMD
   IF(IB NE B2)ERROR 14/7 GOTO 72  *DRIVE RELEASE ERROR                  FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
*                                                                        FMD
/         REPORT ERRORS DETECTED.                                        FMD
*                                                                        FMD
72 B14=B14+1                  *INCREMENT ERROR COUNTER                   FMD
   IF(ES AND SL EQ 0) CALL 73C  *REPORT ERROR IF NOT SCOPING             FMD
   IF(B13 EQ 0) ENDSUB GOTO 24  *IF CONDITION ZERO                       FMD
   IF(B13 EQ 1) ENDSUB GOTO 30  *IF CONDITION ONE                        FMD
   IF(B13 EQ 2) ENDSUB GOTO 34  *IF CONDITION TWO                        FMD
   ENDSUB GOTO 40               *IF CONDITION THREE                      FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 3 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 22  *IF CONDITION ZERO                       FMD
   IF(B13 EQ 1) ENDSUB GOTO 26  *IF CONDITION ONE                        FMD
   IF(B13 EQ 2) ENDSUB GOTO 32  *IF CONDITION TWO                        FMD
   ENDSUB GOTO 36               *IF CONDITION THREE                      FMD
76 MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
77 END 20                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE,FMD73B,6000,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE,FHD73B,6000,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE,FLD73B,6000,(16),LOCK 
*ENDIF
**                                                                       FMD
*   5.2.73.2 DUAL ACCESS TEST COPY 1                                     FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         TO TEST ONE ACCESS TO THE FIXED MODULE DRIVE WHILE ANOTHER     FMD
*         COPY (COPY 0) USES THE OTHER ACCESS TO THE DRIVE.              FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         1.  CONNECT THE THE 7155 CONTROLLER AND THEN TO THE FIXED      FMD
*             MODULE DRIVE.                                              FMD
*         2.  VERIFY THAT THE FIXED MODULE DRIVE IS RESERVED BY THE      FMD
*             OTHER ACCESS.                                              FMD
*         3.  INFORM OPERATOR TO START COPY 0 ON THE TEST.               FMD
*         4.  AFTER RECEIVING A GO, CONNECT TO THE FIXED MODULE DRIVE.   FMD
*             CHECK THE GENERAL STATUS TO VERIFY THAT THE DRIVE IS       FMD
*             SELECTED.                                                  FMD
*         5.  RELEASE THE FIXED MODULE DRIVE AND EXIT THE MODULE. INFORM FMD
*             THE OPERATOR TO START COPY 0 OF THE TEST.                  FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         SB(72) CONTAINS THE FIXED MODULE DRIVE NUMBER.                 FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD73D - PROCESS AND REPORT ERRORS                             FMD
*ENDIF
*IF DEF,PFMD
*         FHD73D - PROCESS AND REPORT ERRORS
*ENDIF
*IF DEF,LSFMD 
*         FLD73D - PROCESS AND REPORT ERRORS
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CONTROLLER CONNECT RETRY COUNTER.                FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - EXPECTED GENERAL STATUS.                         FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         IB(0) CONTIANS ACTUAL GENERAL STATUS.                          FMD
*                                                                        FMD
*         REMARKS-                                                       FMD
*         COPY 0 OF THE TEST MUST BE STARTED BEFORE COPY 1 OF THE TEST.  FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD73 - TEST DUAL ACCESS                                       FMD
2  FORMAT FMD73 - EC = *DECD, LC = *DECD                                 FMD
3  FORMAT FMD73 - *DECD ERRORS                                           FMD
4  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
5  FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD
6  FORMAT MANUAL OPERATION STOP                                          FMD
7  FORMAT START COPY 0 OF THE FMD CONNECT TEST (FMD73)                   FMD
10 FORMAT FMD73 - START COPY 0                                           FMD
11 FORMAT START COPY 0 AND 1 OF THE FMD CONNECT TEST (FMD73)             FMD
12 FORMAT FMD73 - START COPIES 0 AND 1                                   FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD73 - TEST DUAL ACCESS
2  FORMAT FHD73 - EC = *DECD, LC = *DECD
3  FORMAT FHD73 - *DECD ERRORS
4  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
5  FORMAT PRESERVICE FORECAST GROUP FHDD
6  FORMAT MANUAL OPERATION STOP 
7  FORMAT START COPY 0 OF THE FMD CONNECT TEST (FHD73)
10 FORMAT FHD73 - START COPY 0
11 FORMAT START COPY 0 AND 1 OF THE FMD CONNECT TEST (FHD73)
12 FORMAT FHD73 - START COPIES 0 AND 1
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD73 - TEST DUAL ACCESS
2  FORMAT FLD - EC = *DECD, LC = *DECD
3  FORMAT FLD73 - *DECD ERRORS
4  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
5  FORMAT PRESERVICE FORECAST GROUP FMDD
6  FORMAT MANUAL OPERATION STOP 
7  FORMAT START COPY0 OF THE FLD CONNECT TEST (FLD73) 
10 FORMAT FLD73 - START COPY 0
11 FORMAT START COPY 0 AND 1 OF THE FLD CONNECT TEST (FLD73)
12 FORMAT FLD - START COPIES 0 AND 1
*ENDIF
13 FORMAT THE FMD CONTROLLER AND DRIVE HAVE BEEN RESERVED                FMD
14 FORMAT BY COPY 1.                                                     FMD
15 FORMAT THE FMD CONTROLLER AND DRIVE HAVE BEEN RELEASED                FMD
16 FORMAT BY COPY 1.                                                     FMD
17 FORMAT COPY 1 HAS DETECTED THAT THE FMD CONTROLLER AND                FMD
20 FORMAT DRIVE HAVE BEEN RESERVED BY COPY 0.                            FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CGS=12, CNDV=0, CRSVD=2000, OPCOM=10, RELD=20                  FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
30 MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
*                                                                        FMD
/         TEST FOR FMD RESERVED BY COPY 0.                               FMD
*                                                                        FMD
32 B13=0                     *CONDITION NUMBER 0                         FMD
   GOSUB 62                  *CONNECT TO FMD CONTROLLER                  FMD
   GOSUB 66                  *CONNECT TO FIXED MODULE DRIVE              FMD
   B2=10                     *EXPECTED GENERAL STATUS                    FMD
   IF(IB NE B2) ERROR 10/5 GOTO 72  *IF DRIVE NOT RESERVED               FMD
34 GOSUB 74                  *REPEAT CONDITION CHECK                     FMD
   GOSUB 60                  *START COPY 0                               FMD
*                                                                        FMD
/         ATTEMPT TO RESERVE THE FIXED MODULE DRIVE                      FMD
*                                                                        FMD
36 B13=1                     *CONDITION NUMBER 1                         FMD
   GOSUB 62                  *CONNECT TO FMD CONTROLLER                  FMD
   GOSUB 66                  *CONNECT TO FIXED MODULE DRIVE              FMD
   B2=0                      *EXPECTED GENERAL STATUS                    FMD
   IF(IB NE B2) ERROR 11/6 GOTO 72  *IF NO SELECT                        FMD
40 GOSUB 74                  *REPEAT CONDITION CHECK                     FMD
   GOSUB 60                  *START COPY 0                               FMD
*                                                                        FMD
/         RELEASE THE FIXED MODULE DRIVE.                                FMD
*                                                                        FMD
42 B13=2                     *CONDITION NUMBER 2                         FMD
   GOSUB 62                  *CONNECT TO FMD CONTROLLER                  FMD
   GOSUB 70                  *RELEASE FIXED MODULE DRIVE                 FMD
44 GOSUB 74                  *REPEAT CONDITION CHECK                     FMD
   GOSUB 60                  *START COPY 0                               FMD
*                                                                        FMD
/         RELEASE THE 7155 CONTROLLER.                                   FMD
*                                                                        FMD
   RES                       *RESERVE 7155 CHANNEL                       FMD
   FUNC,OPCOM                *RELEASE CONTROLLER AND DRIVE               FMD
*IF DEF,SFMD
   REL                       *RELEASE FMD CHANNEL                        FMD
*ENDIF
*IF DEF,PFMD
   REL                       *RELEASE FHD CHANNEL 
*ENDIF
*IF DEF,LSFMD 
   REL                           *RELEASE FLD CHANNEL 
*ENDIF
   IF(ES AND RM NE 0) GOTO 30  *IF REPEAT MODULE SELECTED                FMD
   IF(B14 NE 0) MSG 3 (B14) TO DAYFILE  *IF ERRORS DETECTED              FMD
   GOTO 77                   *GO TO EXIT THE MODULE                      FMD
*                                                                        FMD
/         INFORM OPERATOR TO GIVE COPY 0 A GO COMMAND.                   FMD
*                                                                        FMD
60 MSG 4 TO LINE 1           *TITLE LINE                                 FMD
   MSG 1 TO LINE 2           *MODULE NUMBER AND NAME                     FMD
   MSG 5 TO LINE 3           *PRESERVICE GROUP NUMBER                    FMD
   MSG 6 TO LINE 12          *MANUAL OPERATION STOP                      FMD
   IF(B13 EQ 0)MSG 17 TO LINE 14  *IF CONDITION NUMBER 0                 FMD
   IF(B13 EQ 0)MSG 20 TO LINE 15  *IF CONDITION NUMBER 0                 FMD
   IF(B13 EQ 1)MSG 13 TO LINE 14  *IF CONDITION NUMBER 1                 FMD
   IF(B13 EQ 1)MSG 14 TO LINE 15  *IF CONDITION NUMBER 1                 FMD
   IF(B13 EQ 2)MSG 15 TO LINE 14  *IF CONDITION NUMBER 2                 FMD
   IF(B13 EQ 2)MSG 16 TO LINE 15  *IF CONDITION NUMBER 2                 FMD
   IF(B13 EQ 2)MSG 11 TO LINE 17  *DIRECTIONS TO CE                      FMD
   IF(B13 NE 2)MSG 7 TO LINE 17   *DIRECTIONS TO CE                      FMD
   IF(B13 EQ 2)MSG 12 TO DISPLAY  *DISPLAY MESSAGE                       FMD
   IF(B13 NE 2)MSG 10 TO DISPLAY  *DISPLAY MESSAGE                       FMD
   PAUSE                     *WAIT FOR GO                                FMD
   BLANK                     *CLEAR DISPLAY BUFFER                       FMD
   RETURN                    *EXIT THE SUBROUTINE                        FMD
*                                                                        FMD
/         CONNECT TO FIXED MODULE CONTROLLER.                            FMD
*                                                                        FMD
62 BA=0                                                                  FMD
   WC=1                                                                  FMD
   B0=0                                                                  FMD
   B2=0                      *EXPECTED GENERAL STATUS                    FMD
64 RES                       *RESERVE 7155 CHANNEL                       FMD
   FIN CGS, ABT 72            *SEND GENERAL STATUS FUNCTION              FMD
   IF(IB AND CRSVD EQ 0) RETURN  *EXIT IF 7155 CONNECTED                 FMD
   GOTO 64 WHILE (B0+1 NE 1000)  *RETRY 1000 TIMES                       FMD
   ERROR 7/1 GOTO 72            *CONTROLLER CONNECT ERROR                FMD
*                                                                        FMD
/         CONNECT TO FIXED MODULE DRIVE.                                 FMD
*                                                                        FMD
66 OB=SB(72)                 *DRIVE NUMBER                               FMD
   WC=1                                                                  FMD
   FOUT,CNDV,ABT 72          *SEND DRIVE CONNECT FUNCTION                FMD
   FIN CGS, ABT 72           *SEND GENERAL STATUS FUNCTION               FMD
   RETURN                    *EXIT THE SUBROUTINE                        FMD
*                                                                        FMD
/         RELEASE FIXED MODULE DRIVE.                                    FMD
*                                                                        FMD
70 WC=1                                                                  FMD
   FUNC,RELD,ABT 72           *SEND RELEASE DRIVE FUNCTION               FMD
   FIN CGS, ABT 72            *SEND GENERAL STATUS FUNCTION              FMD
   B2=0                       *EXPECTED GENERAL STATUS                   FMD
   IF(IB NE B2)ERROR 13/10 GOTO 72  *DRIVE RELEASE ERROR                 FMD
   RETURN                     *EXIT THE SUBROUTINE                       FMD
*                                                                        FMD
/         REPORT ERRORS DETECTED.                                        FMD
*                                                                        FMD
72 B14=B14+1                  *INCREMENT ERROR COUNTER                   FMD
   IF(ES AND SL EQ 0) CALL 73D  *REPORT ERROR IF NOT SCOPING             FMD
   IF(B13 EQ 0) ENDSUB GOTO 34  *IF CONDITION ZERO                       FMD
   IF(B13 EQ 1) ENDSUB GOTO 40  *IF CONDITION ONE                        FMD
   ENDSUB GOTO 44               *IF CONDITION TWO                        FMD
*                                                                        FMD
/         PROCESS REPEAT CONDITION.                                      FMD
*                                                                        FMD
74 IF(ES AND RC EQ 0) GOTO 76   *IF NO REPEAT CONDITION                  FMD
   B15=B15+1                    *INCREMENT LOOP COUNT BY ONE             FMD
   MSG 3 (B14,B15) TO DISPLAY   *DISPLAY RC MESSAGE                      FMD
   IF(B13 EQ 0) ENDSUB GOTO 32  *IF CONDITION ZERO                       FMD
   IF(B13 EQ 1) ENDSUB GOTO 36  *IF CONDITION ONE                        FMD
   ENDSUB GOTO 42               *IF CONDITION TWO                        FMD
76 MSG 1 TO DISPLAY             *DISPLAY RUNNING MESSAGE                 FMD
   RETURN                       *EXIT THE SUBROUTINE                     FMD
77 END 30                       *END OF THE MODULE                       FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE,FMD73C,6000,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE,FHD73C,6000,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE,FLD73C,6000,(16),LOCK 
*ENDIF
**                                                                       FMD
*   5.2.73.3 PROCESS ERROR FOR DUAL ACCESS TEST COPY 0                   FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         PROCESS AND REPORT ERRORS DETECTED BY COPY 0 (MODULE FMD73A)   FMD
*ENDIF
*IF DEF,PFMD
*         PROCESS AND REPORT ERRORS DETECTED BY COPY 0 (MODULE FHD73A)
*ENDIF
*         OF THE TEST.                                                   FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         BUILD THE ERROR DISPLAY TO REPORT PRODUCT OVERLAY ERRORS OR    FMD
*         MODULE DETECTED ERRORS.                                        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         EA, EC, AND EM REGISTERS CONTAIN THE ERROR ADDRESS, ERROR      FMD
*         CODE, AND ERROR MESSAGE NUMBER FOR THE ERROR TO BE REPORTED.   FMD
*         IB(0) CONTAINS THE ACTUAL GENERAL STATUS WORD.                 FMD
*         B2 CONTAINS THE EXPECTED GENERAL STATUS WORD.                  FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE                                                           FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - STATUS DIFFERENCE REGISTER.                      FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - EXPECTED GENERAL STATUS.                         FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         IB(0) CONTIANS ACTUAL GENERAL STATUS.                          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
2  FORMAT FMD73 - TEST DUAL ACCESS                                       FMD
3  FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD
4  FORMAT FMD73 - LINE *OCT - ERROR CODE *OCT                            FMD
5  FORMAT FMD73 - LINE *OCT - ERROR CODE 0D*HE                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
2  FORMAT FHD73 - TEST DUAL ACCESS
3  FORMAT PRESERVICE FORECAST GROUP FHDD
4  FORMAT FHD73 - LINE *OCT - ERROR CODE *OCT 
5  FORMAT FHD73 - LINE *OCT - ERROR CODE 0D*HE
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
2  FORMAT FLD73 - TEST DUAL ACCESS
3  FORMAT PRESERVICE FORECAST GROUP FMDD
4  FORMAT FLD73 - LINE *OCT - ERROR CODE *OCT 
5  FORMAT FLD73 - LINE *OCT - ERROR CODE 0D*HE
*ENDIF
6  FORMAT STATUS ERROR W0000  E*OCT  A*OCT  D*OCT                        FMD
7  FORMAT COPY 0 UNABLE TO RESERVE THE FMD CONTROLLER.                   FMD
10 FORMAT COPY 0 UNABLE TO DETECT DRIVE RESERVED BY COPY 1.              FMD
11 FORMAT COPY 0 UNABLE TO RESERVE THE FIXED MODULE DRIVE.               FMD
12 FORMAT COPY 0 UNABLE TO RESERVE THE FIXED MODULE DRIVE                FMD
13 FORMAT AFTER IT WAS RELEASED BY COPY 1.                               FMD
14 FORMAT COPY 0 UNABLE TO RELEASE THE FIXED MODULE DRIVE.               FMD
*                                                                        FMD
/         BUILD THE ERROR DISPLAY FOR REPORTING THE ERROR.               FMD
*                                                                        FMD
30 MSG 1 TO LINE 1           *TITLE LINE                                 FMD
   MSG 2 TO LINE 2           *MODULE NUMBER AND NAME                     FMD
   MSG 3 TO LINE 3           *PRESERVICE GROUP NUMBER                    FMD
   IF(EC AND 4000 EQ 0) GOTO 32  *IF PRODUCT OVERLAY ERROR               FMD16
*                                                                        FMD
/         PROCESS PRODUCT OVERLAY ERRORS.                                FMD16
*                                                                        FMD
   MSG 4 (EA,EC) TO LINE 5      *DISPLAY ERROR LINE AND CODE             FMD
   MSG EM TO LINE 12           *DISPLAY ERROR MESSAGE                    FMD
   GOTO 34                    *GO TO STOP ON ERROR                       FMD
*                                                                        FMD
/         PROCESS MODULE ERRORS.                                         FMD
*                                                                        FMD
32 MSG 5 (EA,EC) TO LINE 5   *DISPLAY ERROR LINE AND CODE                FMD
   B0=IB XOR B2               *BUILD DIFFERENCE IN STATUSES              FMD
   MSG 6 (B2,IB,B0) TO LINE 6  *DISPLAY GENERAL STATUS                   FMD
   MSG EM TO LINE 12          *DISPLAY ERROR MESSAGE                     FMD
   IF(EM NE 12) GOTO 34      *IF NOT TWO LINE ERROR MESSAGE              FMD
   MSG 13 TO LINE 13         *DISPLAY SECOND LINE OF MESSAGE             FMD
*                                                                        FMD
/         REPORT THE ERROR TO THE OPERATOR.                              FMD
*                                                                        FMD
34 PICTURE                   *SAVE ERROR DISPLAY                         FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR DISPLAY BUFFER                       FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE,FMD73D,6000,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE,FHD73D,6000,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE,FLD73D,6000(16),LOCK
*ENDIF
**                                                                       FMD
*   5.2.73.4 PROCESS ERROR FOR DUAL ACCESS TEST COPY 1                   FMD
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         PROCESS AND REPORT ERRORS DETECTED BY COPY 1 (MODULE FMD73B)   FMD
*ENDIF
*IF DEF,PFMD
*         PROCESS AND REPORT ERRORS DETECTED BY COPY 1 (MODULE FHD73B)
*ENDIF
*IF DEF,LSFMD 
*         PROCESS AND REPORT ERRORS DETECTED BY COPY 1 (MODULE FLD73B)
*ENDIF
*         OF THE TEST.                                                   FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         BUILD THE ERROR DISPLAY TO REPORT PRODUCT OVERLAY ERRORS OR    FMD
*         MODULE DETECTED ERRORS.                                        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         EA, EC, AND EM REGISTERS CONTAIN THE ERROR ADDRESS, ERROR      FMD
*         CODE, AND ERROR MESSAGE NUMBER FOR THE ERROR TO BE REPORTED.   FMD
*         IB(0) CONTAINS THE ACTUAL GENERAL STATUS WORD.                 FMD
*         B2 CONTAINS THE EXPECTED GENERAL STATUS WORD.                  FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         NO EXIT REQUIREMENTS.                                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE                                                           FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - STATUS DIFFERENCE REGISTER.                      FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - EXPECTED GENERAL STATUS.                         FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         IB(0) CONTIANS ACTUAL GENERAL STATUS.                          FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
2  FORMAT FMD73 - TEST DUAL ACCESS                                       FMD
3  FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD
4  FORMAT FMD73 - LINE *OCT - ERROR CODE *OCT                            FMD
5  FORMAT FMD73 - LINE *OCT - ERROR CODE 0D*HE                           FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
2  FORMAT FHD73 - TEST DUAL ACCESS
3  FORMAT PRESERVICE FORECAST GROUP FHDD
4  FORMAT FHD73 - LINE *OCT - ERROR CODE *OCT 
5  FORMAT FHD73 - LINE *OCT - ERROR CODE 0D*HE
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
2  FORMAT FLD73 - TEST DUAL ACCESS
3  FORMAT PRESERVICE FORECAST GROUP FMDD
4  FORMAT FLD73 - LINE *OCT - ERROR CODE *OCT 
5  FORMAT FLD73 - LINE *OCT - ERROR CODE 0D*HE
*ENDIF
6  FORMAT STATUS ERROR W0000  E*OCT  A*OCT  D*OCT                        FMD
7  FORMAT COPY 1 UNABLE TO RESERVE THE FMD CONTROLLER.                   FMD
10 FORMAT COPY 1 UNABLE TO DETECT DRIVE RESERVED BY COPY 0.              FMD
11 FORMAT COPY 1 UNABLE TO RESERVE THE FIXED MODULE DRIVE                FMD
12 FORMAT AFTER IT WAS RELEASED BY COPY 0.                               FMD
13 FORMAT COPY 1 UNABLE TO RELEASE THE FIXED MODULE DRIVE.               FMD
*                                                                        FMD
/         BUILD THE ERROR DISPLAY FOR REPORTING THE ERROR.               FMD
*                                                                        FMD
30 MSG 1 TO LINE 1           *TITLE LINE                                 FMD
   MSG 2 TO LINE 2           *MODULE NUMBER AND NAME                     FMD
   MSG 3 TO LINE 3           *PRESERVICE GROUP NUMBER                    FMD
   IF(EC AND 4000 EQ 0) GOTO 32  *IF PRODUCT OVERLAY ERROR               FMD16
*                                                                        FMD
/         PROCESS PRODUCT OVERLAY ERRORS.                                FMD16
*                                                                        FMD
   MSG 4 (EA,EC) TO LINE 5      *DISPLAY ERROR LINE AND CODE             FMD
   MSG EM TO LINE 12           *DISPLAY ERROR MESSAGE                    FMD
   GOTO 34                    *GO TO STOP ON ERROR                       FMD
*                                                                        FMD
/         PROCESS MODULE ERRORS.                                         FMD
*                                                                        FMD
32 MSG 5 (EA,EC) TO LINE 5   *DISPLAY ERROR LINE AND CODE                FMD
   B0=IB XOR B2               *BUILD DIFFERENCE IN STATUSES              FMD
   MSG 6 (B2,IB,B0) TO LINE 6  *DISPLAY GENERAL STATUS                   FMD
   MSG EM TO LINE 12          *DISPLAY ERROR MESSAGE                     FMD
   IF(EM NE 11) GOTO 34      *IF NOT TWO LINE ERROR MESSAGE              FMD
   MSG 12 TO LINE 13         *DISPLAY SECOND LINE OF MESSAGE             FMD
*                                                                        FMD
/         REPORT THE ERROR TO THE OPERATOR.                              FMD
*                                                                        FMD
34 PICTURE                   *SAVE ERROR DISPLAY                         FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR DISPLAY BUFFER                       FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96A,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96A,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96A,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96A - PROCESS ISOLATION INFORMATION FOR TEST 8.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD96A - PROCESS ISOLATION INFORMATION FOR TEST 8.
*ENDIF
*IF DEF,LSFMD 
*         FLD96A - PROCESS ISOLATION INFORMATION FOR TEST 8.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD96A PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD46, FMD47, FMD48, FMD49, AND FMD
*         FMD50 WITH THE ISOLATION NUMBERS 34 THROUGH 43 OCTAL.          FMD
*ENDIF
*IF DEF,PFMD
*         FHD96A PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD46, FHD47, FHD48, FHD49, AND
*         FHD50 WITH THE ISOLATION NUMBERS 22 THROUGH 43 OCTAL. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96A PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD46, FLD47, FLD49, FLD48, AND
*         FLD50 WITH THE ISOLATION NUMBERS 22 THROUGH 43 OCTAL. 
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO OR THREE OR FOUR LINE MESSAGE WILL BE APPENDED ONE LINE  FMD
*         AFTER THE END OF THE ERROR MESSAGE FOR THE ISOLATION NUMBERS   FMD
*         34 THROUGH 43 OCTAL. THE ERROR MESSAGE WILL THEN BE DISPLAYED  FMD
*         TO THE OPERATOR.                                               FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE REFERENCED.                                               FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
7  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D,              FMD
12 FORMAT         A/B*D, A/B*D. 
14 FORMAT POSSIBLE SERVO ERROR. GO TO TABLE 3-1 IN                       FMD
15 FORMAT TROUBLESHOOTING GUIDE.                                         FMD
16 FORMAT RERUN TEST.                                                    FMD
20 FORMAT CHECK FOR LOOSE POWER SEQ CABLE.                               FMD
*IF DEF,PFMD
22 FORMAT ORDER - DECK BOARDS, A/B*D, A/B*D.
23 FORMAT ORDER - A/B*D, A/B*D, DECK BOARDS, A/B*D. 
24 FORMAT VERIFY READ ONLY SWITCH IS NOT ACTIVE.
*ENDIF
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
*IF DEF,PFMD
* 
/         ISOLATION INFORMATION FOR ERROR 0801A.
* 
30 IF(B2 EQ 26) MSG 22(30D,24D)TO LINE B1 
* 
/         ISOLATION INFORMATION FOR ERROR 0801B.
* 
   IF(B2 EQ 27) MSG 22(30D,29D,24D)TO LINE B1 
* 
/         ISOLATION INFORMATION FOR ERROR 0801C.
* 
   IF(B2 EQ 30) MSG 2(24D,30D)TO LINE B1
   IF(B2 NE 31) GOTO 32      *IF NOT ISOLATION NUMBER 31
* 
/         ISOLATION INFORMATION FOR ERROR 0801D.
* 
   MSG 3(24D,31D,34D)TO LINE B1 
   MSG 24 TO LINE B1+1       *NEXT LINE OF ISOLATION MESSAGE
* 
/         ISOLATION INFORMATION FOR ERROR 0801E.
* 
32 IF(B2 EQ 32) MSG 3(24D,23D,21D)TO LINE B1
* 
/         ISOLATION INFORMATION FOR ERROR 0801F.
* 
   IF(B2 EQ 33) MSG 7(24D,23D,22D,21D,29D,30D)TO LINE B1
   IF(B2 EQ 33) MSG 12(28D,20D)TO LINE B1+1 
*ENDIF
/         ISOLATION INFORMATION FOR ERROR 08020.                         FMD
*                                                                        FMD
*IF DEF,SFMD
30 IF(B2 NE 34) GOTO 32      *IF NOT ISOLATION NUMBER 34                 FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 NE 34) GOTO 34      *IF NOT ISOLATION NUMBER 34
*ENDIF
*IF DEF,LSFMD 
30 IF(B2 NE 34) GOTO 32       *IF NOT ISOLATION NUMBER 34 
*ENDIF
   MSG 2(23D,24D)TO LINE B1                                              FMD
   MSG 16 TO LINE B1+1       *NEXT LINE OF ISOLATION MESSAGE             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08023.                         FMD
*                                                                        FMD
*IF DEF,SFMD
32 IF(B2 EQ 35) MSG 3(31D,32D,40D)TO LINE B1                             FMD
   IF(B2 NE 36) GOTO 34      *IF NOT ISOLATION NUMBER 36                 FMD
*ENDIF
*IF DEF,PFMD
34 IF(B2 EQ 35) MSG 3(31D,32D,40D)TO LINE B1
   IF(B2 NE 36) GOTO 36      *IF NOT ISOLATION NUMBER 36
*ENDIF
*IF DEF,LSFMD 
32 IF(B2 EQ 35) MSG 3(31D,32D,40D)TO LINE B1
   IF(B2 NE 36) GOTO 34      *IF NOT ISOLATION NUMBER 36
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08024.                         FMD
*                                                                        FMD
   MSG 3(27D,32D,31D)TO LINE B1                                          FMD
   MSG 20 TO LINE B1+1       *NEXT LINE OF ISOLATION MESSAGE             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08025.                         FMD
*                                                                        FMD
*IF DEF,SFMD
34 IF(B2 EQ 37) MSG 3(28D,38D,40D)TO LINE B1                             FMD
   IF(B2 NE 40) GOTO 36      *IF NOT ISOLATION NUMBER 40                 FMD
*ENDIF
*IF DEF,PFMD
36 IF(B2 EQ 37) MSG 3(28D,38D,40D)TO LINE B1
   IF(B2 NE 40) GOTO 40      *IF NOT ISOLATION NUMBER 40
*ENDIF
*IF DEF,LSFMD 
34 IF(B2 EQ 37) MSG 3(28D,38D,40D)TO LINE B1
   IF(B2 NE 40) GOTO 36      *IF NOT ISOLATION NUMBER 40
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08026.                         FMD
*                                                                        FMD
   MSG 4(28D,38D,39D,40D)TO LINE B1                                      FMD
   MSG 14 TO LINE B1+1       *NEXT LINE OF ISOLATION MESSAGE             FMD
   MSG 15 TO LINE B1+2       *NEXT LINE OF ISOLATION MESSAGE             FMD
*IF DEF,SFMD
36 IF(B2 NE 41) GOTO 40      *IF NOT ISOLATION NUMBER 41                 FMD
*ENDIF
*IF DEF,PFMD
40 IF(B2 NE 41) GOTO 42      *IF NOT ISOLATION NUMBER 41
*ENDIF
*IF DEF,LSFMD 
36 IF(B2 NE 41) GOTO 40      *IF NOT ISOLATION NUMBER 41
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08027.                         FMD
*                                                                        FMD
   MSG 2(27D,23D)TO LINE B1                                              FMD
   MSG 16 TO LINE B1+1       *NEXT LINE OF ISOLATION MESSAGE             FMD
*IF DEF,SFMD
40 IF(B2 NE 42) GOTO 42      *IF NOT ISOLATION NUMBER 42                 FMD
*ENDIF
*IF DEF,PFMD
42 IF(B2 NE 42) GOTO 44      *IF NOT ISOLATION NUMBER 42
*ENDIF
*IF DEF,LSFMD 
40 IF(B2 NE 42) GOTO 42      *IF NOT ISOLATION NUMBER 42
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08028.                         FMD
*                                                                        FMD
   MSG 3(23D,26D,27D)TO LINE B1                                          FMD
   MSG 16 TO LINE B1+1       *NEXT LINE OF ISOLATION MESSAGE             FMD
*IF DEF,SFMD
42 IF(B2 NE 43) GOTO 60      *IF NOT ISOLATION NUMBER 43                 FMD
*ENDIF
*IF DEF,PFMD
44 IF(B2 NE 43) GOTO 60      *IF NOT ISOLATION NUMBER 43
*ENDIF
*IF DEF,LSFMD 
42 IF(B2 NE 43) GOTO 60         *IF NOT ISOLATION NUMBER 43 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08029.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   MSG 7(23D,22D,26D,27D,15D,16D)TO LINE B1 
*ENDIF
*IF DEF,PFMD
   MSG 7(23D,22D,26D,27D,29D,30D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   MSG 7(23D,22D,26D,27D,15D,16D)TO LINE B1 
*ENDIF
   MSG 12(28D,20D)TO LINE B1+1
   MSG 16 TO LINE B1+2       *NEXT LINE OF ISOLATION MESSAGE
*                                                                        FMD
/         DISPLAY ERROR MESSAGE AND STOP ON THE ERROR.                   FMD
*                                                                        FMD
60 PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96B,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96B,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96B,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96B - PROCESS RETRY COUNT FOR TEST 9.                       FMD
*ENDIF
*IF DEF,PFMD
*         FHD96B - PROCESS RETRY COUNT FOR TEST 9.
*ENDIF
*IF DEF,LSFMD 
*         FLD96B - PROCESS RETRY COUNT FOR TEST 9.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         DETERMINE THE ERROR CODE TO BE DISPLAYED FOR THE STROBE AND    FMD
*         OFFSET MARGINS REQUIRED TO SUCCESSFULLY READ A SECTOR OR THE   FMD06
*         ERROR CODE IF THE SECTOR COULD NOT BE READ FOR THE MODULES IN  FMD
*         TEST 9.                                                        FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE RETRY COUNT IN THE STATUS BUFFER WILL BE INTERROGATED TO   FMD
*         DETERMINE THE MARGINS CONDITIONS ENABLED IF THE SECTOR WAS     FMD
*         SUCCESSFULLY READ OR IF THE SECTOR COULD NOT BE READ. THE EA,  FMD06
*         EC, AND EM REGISTERS WILL BE LOADED FOR THE ERROR TO BE        FMD
*         REPORTED.                                                      FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         SB(00) CONTAINS THE GENERAL STATUS.                            FMD
*         SB(52) CONTAINS THE RETRY COUNT.                               FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         EA, EC, AND EM REGISTER LOADED FOR THE ERROR TO BE REPORTED.   FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NO SUBMODULES REFERENCED.                                      FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER                                  FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTOR NUMBER.                                   FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         STATUS BUFFER CONTAINS THE GENERAL AND DETAILED STATUS.        FMD
*                                                                        FMD
*                                                                        FMD
/         SAVE THE RETRY COUNT IN THE B1 REGISTER.                       FMD
*                                                                        FMD
20 B1=SB(52)                 *SAVE RETRY COUNT                           FMD
*                                                                        FMD
/         CHECK FOR UNRECOVERABLE ERROR.                                 FMD
*                                                                        FMD
   IF(SB EQ 5000)ERROR 11/41 GOTO 30  *UNRECOVERABLE ERROR               FMD
*                                                                        FMD
/         CHECK FOR NORMAL STROBE AND NO OFFSET.                         FMD
*                                                                        FMD
   IF(B1-3 LT 0) EXIT        *EXIT THE MODULE NO MARGINS                 FMD
*                                                                        FMD
/         CHECK FOR EARLY STROBE AND NO OFFSET.                          FMD
*                                                                        FMD
   IF(B1-6 LT 0)ERROR 22/31 GOTO 30  *EARLY MARGIN                       FMD
*                                                                        FMD
/         CHECK FOR LATE STROBE AND NO OFFSET.                           FMD
*                                                                        FMD
   IF(B1-9D LT 0)ERROR 23/32 GOTO 30  *LATE MARGIN                       FMD
*                                                                        FMD
/         CHECK FOR NORMAL STROBE AND REVERSE OFFSET.                    FMD
*                                                                        FMD
   IF(B1-12D LT 0)ERROR 25/34 GOTO 30  *REVERSE MARGIN                   FMD
*                                                                        FMD
/         CHECK FOR EARLY STROBE AND REVERSE OFFSET.                     FMD
*                                                                        FMD
   IF(B1-15D LT 0)ERROR 2/35 GOTO 30   *EARLY, REV. MARGIN               FMD
*                                                                        FMD
/         CHECK FOR LATE STROBE AND REVERSE OFFSET.                      FMD
*                                                                        FMD
   IF(B1-18D LT 0)ERROR 4/36 GOTO 30   *LATE, REV. MARGIN                FMD
*                                                                        FMD
/         CHECK FOR NORMAL STROBE AND FORWARD OFFSET.                    FMD
*                                                                        FMD
   IF(B1-21D LT 0)ERROR 24/33 GOTO 30  *FORWARD MARGIN                   FMD
*                                                                        FMD
/         CHECK FOR EARLY STROBE AND FORWARD OFFSET.                     FMD
*                                                                        FMD
   IF(B1-24D LT 0)ERROR 6/37 GOTO 30   *EARLY, FWD. MARGIN               FMD
*                                                                        FMD
/         CHECK FOR LATE STROBE AND FORWARD OFFSET.                      FMD
*                                                                        FMD
   ERROR 7/40                          *LATE, FWD. MARGIN                FMD
30 EXIT                                *EXIT THE MODULE                  FMD
   END 20                              *END OF THE MODULE                FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96C,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96C,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96C,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96C - PROCESS ERRORS FOR TEST 9.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD96C - PROCESS ERRORS FOR TEST 9. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96C - PROCESS ERRORS FOR TEST 9. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 09000, 09001, 09002,   FMD06
*         09003, 09004, AND 09005.                                       FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE FIRST THREE LINES FOR THE ERROR DISPLAY WILL BE PLACED IN  FMD
*         THE DISPLAY BUFFER.  IF THE ERROR CODE NUMBER IN THE EC        FMD
*         REGISTER IS A PRODUCT OVERLAY ERROR CODE, THE MODULE WILL EXIT FMD
*IF DEF,SFMD
*         TO THE FMD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE FMD
*ENDIF
*IF DEF,PFMD
*         TO THE FHD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*IF DEF,LSFMD 
*         TO THE FLD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*         ERROR. THE ERROR CODE LINE WILL BE PLACED IN THE DISPLAY       FMD
*         BUFFER. IF THE EC REGISTER CONTAINS THE ERROR CODES 00, OR 01, FMD
*         OR 02, OR 03, OR 04, OR 05, THE ERROR DISPLAY WILL BE BUILT    FMD
*         FOR THE ERROR. IF THE EC REGISTER DOES NOT CONTAIN ONE OF      FMD
*IF DEF,SFMD
*         THESE ERROR CODES, THE MODULE WILL EXIT TO THE FMD96D MODULE.  FMD
*ENDIF
*IF DEF,PFMD
*         THESE ERROR CODES, THE MODULE WILL EXIT TO THE FHD96D MODULE. 
*ENDIF
*IF DEF,LSFMD 
*         THESE ERROR CODES, THE MODULE WILL EXIT TO THE FLD96D MODULE. 
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD96I TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD96I TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD96I TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98B -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98B - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98B - 
*ENDIF
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         THE FIRST THREE LINES OF THE ERROR DISPLAY PLACED IN THE       FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96D -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96D - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96D - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96I -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96I - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96I - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD96D - PROCESS ERRORS.                                       FMD
*         FMD96I - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96J - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD96D - PROCESS ERRORS.
*         FHD96I - PROCESS ISOLATION INFORMATION. 
*         FHD96J - PROCESS ISOLATION INFORMATION. 
*         FHD96K - PROCESS ISOLATION INFORMATION. 
*         FHD96Y - PROCESS ISOLATION INFORMATION. 
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD96D - PROCESS ERRORS.
*         FLD96I - PROCESS ISOLATION INFORMATION. 
*         FLD96J - PROCESS ISOLATION INFORMATION. 
*         FLD96K - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CALLING MODULE NUMBER.                           FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER.                                 FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTOR NUMBER.                                   FMD
*         B10 REGISTER - UPPER CYLINDER NUMBER.                          FMD
*         B11 REGISTER - UPPER TRACK NUMBER.                             FMD
*         B12 REGISTER - UPPER SECTOR NUMBER.                            FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*IF DEF,SFMD
0  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
1  FORMAT FMD51 - COMPARE DATA FIELD                                     FMD
2  FORMAT FMD52 - WRITE/READ TEST                                        FMD
3  FORMAT FMD53 - W/R LATE STROBE                                        FMD
4  FORMAT FMD54 - W/R EARLY STROBE                                       FMD
5  FORMAT FMD55 - W/R REVERSE OFFSET                                     FMD
6  FORMAT FMD56 - W/R REV/LATE MARGIN                                    FMD
7  FORMAT FMD57 - W/R REV/EARLY MARGIN                                   FMD
10 FORMAT FMD58 - W/R FORWARD OFFSET                                     FMD
11 FORMAT FMD59 - W/R FWD/LATE MARGIN                                    FMD
12 FORMAT FMD60 - W/R FWD/EARLY MARGIN                                   FMD
13 FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD05
14 FORMAT FMD*D - LINE *OCT ERROR CODE 09*HE                             FMD
*ENDIF
*IF DEF,PFMD
0  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FHD51 - COMPARE DATA FIELD
2  FORMAT FHD52 - WRITE/READ TEST 
3  FORMAT FHD53 - W/R LATE STROBE 
4  FORMAT FHD54 - W/R EARLY STROBE
5  FORMAT FHD55 - W/R REVERSE OFFSET
6  FORMAT FHD56 - W/R REV/LATE MARGIN 
7  FORMAT FHD57 - W/R REV/EARLY MARGIN
10 FORMAT FHD58 - W/R FORWARD OFFSET
11 FORMAT FHD59 - W/R FWD/LATE MARGIN 
12 FORMAT FHD60 - W/R FWD/EARLY MARGIN
13 FORMAT PRESERVICE FORECAST GROUP FHDD
14 FORMAT FHD*D - LINE *OCT ERROR CODE 09*HE
*ENDIF
*IF DEF,LSFMD 
0  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FLD51 - COMPARE DATA FIELD
2  FORMAT FLD52 - WRITE/READ TEST 
3  FORMAT FLD53 - W/R LATE STROBE 
4  FORMAT FLD54 - W/R EARLY STROBE
5  FORMAT FLD55 - W/R REVERSE STROBE
6  FORMAT FLD56 - W/R REV/LATE MARGIN 
7  FORMAT FLD57 - W/R REV/EARLY MARGIN
10 FORMAT FLD58 - W/R FORWARD OFFSET
11 FORMAT FLD59 - W/R FWD/LATE MARGIN 
12 FORMAT FLD60 - W/R FWD/EARLY MARGIN
13 FORMAT PRESERVICE FORECAST GROUP FMDD
14 FORMAT FLD*D - LINE *OCT ERROR CODE 09*HE
*ENDIF
*                                                                        FMD
/         ERROR MESSAGE 09000.                                           FMD
*                                                                        FMD
15 FORMAT SELECT AND RESERVE NOT ACTIVE AFTER DROPPING AND               FMD
16 FORMAT RAISING SELECT.                                                FMD
*                                                                        FMD
/         ERROR MESSAGE 09001.                                           FMD
*                                                                        FMD
17 FORMAT ON CYL NOT ACTIVE AFTER ENTERING TEST 9.                       FMD
*                                                                        FMD
/         ERROR MESSAGE 09002.                                           FMD
*                                                                        FMD
20 FORMAT STATUS VALID NOT RETURNED FROM DEVICE AFTER A                  FMD
21 FORMAT NORMAL CMD.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 09003.                                           FMD
*                                                                        FMD
22 FORMAT ON CYL DID NOT COME ACTIVE AFTER AN RTZ CMD.                   FMD
*                                                                        FMD
/         ERROR MESSAGE 09004.                                           FMD
*                                                                        FMD
23 FORMAT ON CYL NOT ACTIVE ISSUING A SEEK CMD.                          FMD
*                                                                        FMD
/         ERROR MESSAGE 09005.                                           FMD
*                                                                        FMD
24 FORMAT NO SYNC BYTE WAS FOUND WHILE ATTEMPTING TO READ AN             FMD
25 FORMAT ADDRESS FIELD.                                                 FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT CYLINDER = *OCT, TRACK = *OCT, SECTOR = *OCT                   FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 MSG 0 TO LINE 1           *DIAGNOSTIC TITLE MESSAGE                   FMD
   B1=B0-50D                 *CALL MODULE NAME MESSAGE                   FMD
   MSG B1 TO LINE 2          *MODULE NUMBER AND NAME MESSAGE             FMD
   MSG 13 TO LINE 3           *PRESERVICE FORECAST MESSAGE               FMD05
   IF(EC GT 3777) EXIT TO 98B  *IF PRODUCT OVERLAY ERROR                 FMD
   MSG 14(B0,EA,EC) TO LINE 5  *ERROR CODE TO DISPLAY                    FMD
   B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=6                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 0) GOTO 34       *IF ERROR CODE 09000                        FMD
   B2=7                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 1) GOTO 36       *IF ERROR CODE 09001                        FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 2) GOTO 34       *IF ERROR CODE 09002                        FMD
   B2=11                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 3) GOTO 36       *IF ERROR CODE 09003                        FMD
   B2=11                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 4) GOTO 36       *IF ERROR CODE 09004                        FMD
   B2=12                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 5) GOTO 34       *IF ERROR CODE 09005                        FMD
   EXIT TO 96D               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 09000, 09002, AND 09005.                   FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 09001, 09003, AND 09004.                   FMD
*                                                                        FMD
36 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC NE 5)GOTO 60        *IF NOT ERROR CODE 09005                    FMD
   MSG 27 (B7,B8,B9) TO LINE 7  *DISPLAY DISK ADDRESS                    FMD
60 PASS                                                                  FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 96I  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96D,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96D,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96D,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96D - PROCESS ERRORS FOR TEST 9.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD96D - PROCESS ERRORS FOR TEST 9. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96D - PROCESS ERRORS FOR TEST 9. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 09006, 09007, 09008    FMD06
*         09009, 0900A, 0900B, 0900C, 0900D, AND 0900E.                  FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 06, OR 07, OR 08,  FMD
*         OR 09, OR 0A, OR 0B, OR 0C, OR 0D, OR 0E, THE ERROR DISPLAY    FMD
*         WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER DOES NOT       FMD
*         CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE  FMD
*IF DEF,SFMD
*         FMD96E MODULE.                                                 FMD
*ENDIF
*IF DEF,PFMD
*         FHD96E MODULE.
*ENDIF
*IF DEF,LSFMD 
*         FLD96E MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD96I TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD96I TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD96I TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96E -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96E - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96I - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96I -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96I - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD96E - PROCESS ERRORS.                                       FMD
*         FMD96I - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96J - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD96E - PROCESS ERRORS.
*         FHD96I - PROCESS ISOLATION INFORMATION. 
*         FHD96J - PROCESS ISOLATION INFORMATION. 
*         FHD96K - PROCESS ISOLATION INFORMATION. 
*         FHD96Y - PROCESS ISOLATION INFORMATION. 
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96E - PROCESS ERRORS.
*         FLD96I - PROCESS ISOLATION INFORMATION. 
*         FLD96J - PROCESS ISOLATION INFORMATION. 
*         FLD96K - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - TEMPORARY STORAGE.                               FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER.                                 FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTOR NUMBER.                                   FMD
*         B10 REGISTER - UPPER CYLINDER NUMBER.                          FMD
*         B11 REGISTER - UPPER TRACK NUMBER.                             FMD
*         B12 REGISTER - UPPER SECTOR NUMBER.                            FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         FIRST LINE OF ERROR MESSAGES 09006 AND 09007.                  FMD
*                                                                        FMD
0  FORMAT AFTER ISSUING A READ ADDRESS AND FINDING THE SYNC              FMD
*                                                                        FMD
/         ERROR MESSAGE 09006.                                           FMD
*                                                                        FMD
1  FORMAT BYTE, THE ADDRESS READ WAS NOT AS EXPECTED.                    FMD
*                                                                        FMD
/         ERROR MESSAGE 09007.                                           FMD
*                                                                        FMD
2  FORMAT BYTE AND RECEIVING AN ADDRESS COMPARE, AN ECC                  FMD
3  FORMAT ERROR WAS DETECTED IN THE ADDRESS FIELD.                       FMD
*                                                                        FMD
/         FIRST LINE OF ERROR MESSAGES 09008 - 0900A.                    FMD
*                                                                        FMD
4  FORMAT AFTER ISSUING A READ ADDRESS AND RECEIVING NO                  FMD
*                                                                        FMD
/         ERROR MESSAGE 09008.                                           FMD
*                                                                        FMD
5  FORMAT ERRORS, AN ATTEMPT TO READ THE DATA FIELD WAS MADE             FMD
6  FORMAT AND NO SYNC BYTE FOR THE DATA FIELD WAS FOUND.                 FMD
*                                                                        FMD
/         ERROR MESSAGE 09009.                                           FMD
*                                                                        FMD
7  FORMAT ERRORS, AN ATTEMPT TO READ THE DATA FIELD WAS                  FMD
10 FORMAT MADE. SYNC BYTE WAS FOUND, BUT A DATA FIELD                    FMD
11 FORMAT MISCOMPARE WAS FOUND.                                          FMD
*                                                                        FMD
/         ERROR MESSAGE 0900A.                                           FMD
*                                                                        FMD
12 FORMAT ERRORS, AN ATTEMPT TO READ THE DATA FIELD WAS                  FMD
13 FORMAT MADE. SYNC BYTE WAS FOUND, NO DATA MISCOMPARE                  FMD
14 FORMAT OCCURRED, BUT A DATA ECC ERROR OCCURRED.                       FMD
*                                                                        FMD
/         ERROR MESSAGE 0900B.                                           FMD
*                                                                        FMD
15 FORMAT ON CYL FAILED TO COME ACTIVE AFTER ISSUING A RESET             FMD
16 FORMAT OFFSET CMD.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 0900C.                                           FMD
*                                                                        FMD
17 FORMAT INCORRECT STATUS AFTER SETTING LATE STROBE.                    FMD
*                                                                        FMD
/         ERROR MESSAGE 0900D.                                           FMD
*                                                                        FMD
20 FORMAT INCORRECT STATUS AFTER ISSUING A RESET MARGINS                 FMD
21 FORMAT CMD.                                                           FMD
*                                                                        FMD
/         ERROR MESSAGE 0900E.                                           FMD
*                                                                        FMD
22 FORMAT INCORRECT STATUS AFTER ISSUING A SET EARLY STROBE              FMD
23 FORMAT CMD.                                                           FMD
*                                                                        FMD
/         STATUS DISPLAY LINES.                                          FMD
*                                                                        FMD
25 FORMAT CYLINDER = *OCT, TRACK = *OCT, SECTOR = *OCT                   FMD
26 FORMAT EXP   CYLINDER = *OCT, TRACK = *OCT, SECTOR = *OCT             FMD
27 FORMAT RCVD  CYLINDER = *OCT, TRACK = *OCT, SECTOR = *OCT             FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=1                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 6) GOTO 34       *IF ERROR CODE 09006                        FMD
   B2=2                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 7) GOTO 34       *IF ERROR CODE 09007                        FMD
   B2=13                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 10) GOTO 36      *IF ERROR CODE 09008                        FMD
   B2=14                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 11) GOTO 36      *IF ERROR CODE 09009                        FMD
   B2=14                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 12) GOTO 36      *IF ERROR CODE 0900A                        FMD
   B2=15                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 13) GOTO 40      *IF ERROR CODE 0900B                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 14) GOTO 42      *IF ERROR CODE 0900C                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 15) GOTO 40      *IF ERROR CODE 0900D                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 16) GOTO 40      *IF ERROR CODE 0900E                        FMD
   EXIT TO 96E               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 09006 AND 09007.                           FMD
*                                                                        FMD
34 MSG 0 TO LINE B1          *FIRST LINE OF ERROR MESSAGE                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   IF(EC EQ 6) GOTO 42       *IF ERROR CODE 09006                        FMD
   GOTO 40                   *ERROR CODE 09007                           FMD
*                                                                        FMD
/         PROCESS ERROR CODES 09008, 09009, AND 0900A.                   FMD
*                                                                        FMD
36 MSG 4 TO LINE B1          *FIRST LINE OF ERROR MESSAGE                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   IF(EC EQ 10) GOTO 40      *IF ERROR CODE 09008                        FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0900B, 0900D, AND 0900E.                   FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODE 0900C.                                      FMD
*                                                                        FMD
42 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC NE 6) GOTO 44       *IF NOT ERROR CODE 09006                    FMD
   B0=SB(5) AND 77 LS 4      *ASSEMBLE CYLINDER ADDRESS                  FMD
   B0=SB(6) RS 8 XOR B0                                                  FMD
   B3=SB(6) AND 377          *TRACK ADDRESS                              FMD
   B4=SB(7) RS 4             *SECTOR ADDRESS                             FMD
   MSG 26 (B7,B8,B9) TO LINE 6  *DISPLAY DISK ADDRESS                    FMD
   MSG 27 (B0,B3,B4) TO LINE 7  *DISPLAY DISK ADDRESS                    FMD
   GOTO 60                    *GO TO DISPLAY ERROR MESSAGE               FMD
44 IF(EC GE 13) GOTO 60      *IF NOT ERROR 09007 - 0900A                 FMD
   MSG 25 (B7,B8,B9) TO LINE 7  *DISPLAY DISK ADDRESS                    FMD
60 PASS                                                                  FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 96I  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96E,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96E,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96E,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96E - PROCESS ERRORS FOR TEST 9.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD96E - PROCESS ERRORS FOR TEST 9. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0900F, 09010, 09011,   FMD06
*         09012, 09013, 09014, 09015, 09016, 09017, 09018, 09019, 0901A, FMD06
*         0901B, AND 0901C.                                              FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 0F, OR 10, OR 11,  FMD
*         OR 12, OR 13, OR 14, OR 15, OR 16, OR 17, OR 18, OR 19, OR 1A, FMD
*         OR 1B, OR 1C, THE ERROR DISPLAY WILL BE BUILT FOR THE ERROR.   FMD
*         IF THE EC REGISTER DOES NOT CONTAIN ONE OF THESE ERROR CODES,  FMD
*IF DEF,SFMD
*         THE MODULE WILL EXIT TO THE FMD96F MODULE.                     FMD
*ENDIF
*IF DEF,PFMD
*         THE MODULE WILL EXIT TO THE FHD96F MODULE.
*ENDIF
*IF DEF,LSFMD 
*         THE MODULE WILL EXIT TO THE FLD96F MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD96I TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD96I TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD96I TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96F -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96F - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96F - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96I -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96I - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96I - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD96F - PROCESS ERRORS.                                       FMD
*         FMD96I - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96J - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD96F - PROCESS ERRORS.
*         FHD96I - PROCESS ISOLATION INFORMATION. 
*         FHD96J - PROCESS ISOLATION INFORMATION. 
*         FHD96K - PROCESS ISOLATION INFORMATION. 
*         FHD96Y - PROCESS ISOLATION INFORMATION. 
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96F - PROCESS ERRORS.
*         FLD96I - PROCESS ISOLATION INFORMATION. 
*         FLD96J - PROCESS ISOLATION INFORMATION. 
*         FLD96K - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER.                                 FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTOR NUMBER.                                   FMD
*         B10 REGISTER - UPPER CYLINDER NUMBER.                          FMD
*         B11 REGISTER - UPPER TRACK NUMBER.                             FMD
*         B12 REGISTER - UPPER SECTOR NUMBER.                            FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0900F.                                           FMD
*                                                                        FMD
0  FORMAT UNIT NOT ON CYL AFTER ISSUING A RESET MARGINS CMD.             FMD
*                                                                        FMD
/         ERROR MESSAGE 09010.                                           FMD
*                                                                        FMD
1  FORMAT INCORRECT STATUS AFTER ISSUING LD DIFF UPPER WITH              FMD
2  FORMAT ALL ZEROS.                                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 09011.                                           FMD
*                                                                        FMD
3  FORMAT ON CYL FAILED TO COME ACTIVE AFTER SETTING REV                 FMD
4  FORMAT OFFSET.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 09012.                                           FMD
*                                                                        FMD
5  FORMAT INCORRECT STATUS AFTER ISSUING A SET REV OFFSET                FMD
6  FORMAT CMD.                                                           FMD
*                                                                        FMD
/         ERROR MESSAGE 09013.                                           FMD
*                                                                        FMD
7  FORMAT ON CYL FAILED TO COME ACTIVE AFTER SETTING A FWD               FMD
10 FORMAT OFFSET.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 09014.                                           FMD
*                                                                        FMD
11 FORMAT INCORRECT STATUS AFTER RESET OFFSET CMD IS ISSUED.             FMD
*                                                                        FMD
/         ERROR MESSAGE 09015.                                           FMD
*                                                                        FMD
12 FORMAT INCORRECT STATUS AFTER LOADING UPPER DIFF CTR.                 FMD
*                                                                        FMD
/         ERROR MESSAGE 09016.                                           FMD
*                                                                        FMD
13 FORMAT UNIT FAILED TO COME ON CYL AFTER ISSUING A FWD                 FMD
14 FORMAT OFFSET.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 09017.                                           FMD
*                                                                        FMD
15 FORMAT INCORRECT STATUS AFTER ISSUING A FWD OFFSET CMD.               FMD
*                                                                        FMD
/         ERROR MESSAGE 09018.                                           FMD
*                                                                        FMD
16 FORMAT ON CYL FAILED TO COME ACTIVE AFTER CLEARING A FWD              FMD
17 FORMAT OFFSET.                                                        FMD
*                                                                        FMD
/         FIRST LINE OF ERROR MESSAGES 09019 - 0901C.                    FMD
*                                                                        FMD
20 FORMAT A READ ERROR OCCURRED THAT WAS DEFINED BY AN                   FMD
*                                                                        FMD
/         SECOND LINE OF ERROR MESSAGES 09019 - 0901C.                   FMD
*                                                                        FMD
21 FORMAT EARLIER ERROR CODE. AN ATTEMPT TO RECOVER THIS                 FMD
*                                                                        FMD
/         ERROR MESSAGE 09019.                                           FMD
*                                                                        FMD
22 FORMAT ERROR USING EARLY STROBE MARGINS WAS SUCCESSFUL.               FMD
*                                                                        FMD
/         ERROR MESSAGE 0901A.                                           FMD
*                                                                        FMD
23 FORMAT ERROR USING LATE STROBE WAS SUCCESSFUL.                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0901B.                                           FMD
*                                                                        FMD
24 FORMAT ERROR USING FWD STROBE WAS SUCCESSFUL.                         FMD10
*                                                                        FMD
/         ERROR MESSAGE 0901C.                                           FMD
*                                                                        FMD
25 FORMAT ERROR USING REV OFFSET WAS SUCCESSFUL.                         FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=20                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 17) GOTO 40      *IF ERROR CODE 0900F                        FMD
   B2=21                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 20) GOTO 36      *IF ERROR CODE 09010                        FMD
   B2=22                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 21) GOTO 36      *IF ERROR CODE 09011                        FMD
   B2=23                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 22) GOTO 36      *IF ERROR CODE 09012                        FMD
   B2=24                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 23) GOTO 36      *IF ERROR CODE 09013                        FMD
   B2=25                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 24) GOTO 40      *IF ERROR CODE 09014                        FMD
   B2=21                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 25) GOTO 40      *IF ERROR CODE 09015                        FMD
   B2=24                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 26) GOTO 36      *IF ERROR CODE 09016                        FMD
   B2=25                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 27) GOTO 40      *IF ERROR CODE 09017                        FMD
   B2=24                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 30) GOTO 36      *IF ERROR CODE 09018                        FMD
   B2=26                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 31) GOTO 34      *IF ERROR CODE 09019                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 32) GOTO 34      *IF ERROR CODE 0901A                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 33) GOTO 34      *IF ERROR CODE 0901B                        FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 34) GOTO 34      *IF ERROR CODE 0901C                        FMD
   EXIT TO 96F               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 09019, 0901A, 0901B, AND                   FMD
/         0901C.                                                         FMD
*                                                                        FMD
34 MSG 20 TO LINE B1         *FIRST LINE OF ERROR MESSAGE                FMD
   MSG 21 TO LINE B1+1       *SECOND LINE OF ERROR MESSAGE               FMD
   B1=B1+2                   *INCREMENT DISPLAY LINE NUMBER              FMD
   GOTO 40                   *GO TO COMPLETE THE MESSAGE                 FMD
*                                                                        FMD
/         PROCESS ERROR CODES 09010, 09011, 09012, 09013,                FMD
/         09016, AND 09018.                                              FMD
*                                                                        FMD
36 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0900F, 09014, 09015, AND                   FMD
/         09017.                                                         FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 96I  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96F,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96F,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96F,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96F - PROCESS ERRORS FOR TEST 9.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD96F - PROCESS ERRORS FOR TEST 9. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96F - PROCESS ERRORS FOR TEST 9. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0901D, 0901E, 0901F    FMD06
*         09020, 09021, 09022, 09023, 09024, AND 09025.                  FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 1D, OR 1C, OR 1E,  FMD
*         OR 1F, OR 20, OR 21, OR 22, OR 23, OR 24, OR 25, THE ERROR     FMD
*         DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER DOES   FMD
*         NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO  FMD
*IF DEF,SFMD
*         THE FMD96G MODULE.                                             FMD
*ENDIF
*IF DEF,PFMD
*         THE FHD96G MODULE.
*ENDIF
*IF DEF,LSFMD 
*         THE FLD96G MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD96I TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD96I TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD96I TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96G -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96G - 
*ENDIF
*IF DEF,LSFMD 
          IF EXIT TO FLD96G - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96I -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96I - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96I - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD96G - PROCESS ERRORS.                                       FMD
*         FMD96I - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96J - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD96G - PROCESS ERRORS.
*         FHD96I - PROCESS ISOLATION INFORMATION. 
*         FHD96J - PROCESS ISOLATION INFORMATION. 
*         FHD96K - PROCESS ISOLATION INFORMATION. 
*         FHD96Y - PROCESS ISOLATION INFORMATION. 
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96G - PROCESS ERRORS.
*         FLD96I - PROCESS ISOLATION INFORMATION. 
*         FLD96J - PROCESS ISOLATION INFORMATION. 
*         FLD96K - PROCESS ISOLATION INFORMATION. 
*         FLD96Y - PROCESS ISOLATION INFORMATION. 
*         FLD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER.                                 FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTOR NUMBER.                                   FMD
*         B10 REGISTER - UPPER CYLINDER NUMBER.                          FMD
*         B11 REGISTER - UPPER TRACK NUMBER.                             FMD
*         B12 REGISTER - UPPER SECTOR NUMBER.                            FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         FIRST LINE OF ERROR MESSAGES 0901D - 09021.                    FMD
*                                                                        FMD
0  FORMAT A READ ERROR OCCURRED THAT WAS DEFINED BY AN                   FMD
*                                                                        FMD
/         SECOND LINE OF ERROR MESSAGES 0901D - 09021.                   FMD
*                                                                        FMD
1  FORMAT EARLIER ERROR CODE. AN ATTEMPT TO RECOVER THIS                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0901D.                                           FMD
*                                                                        FMD
2  FORMAT ERROR WITH REV OFFSET AND EARLY STROBE WAS                     FMD
3  FORMAT SUCCESSFUL.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 0901E.                                           FMD
*                                                                        FMD
4  FORMAT ERROR WITH REV OFFSET AND LATE STROBE WAS                      FMD
5  FORMAT SUCCESSFUL.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 0901F.                                           FMD
*                                                                        FMD
6  FORMAT ERROR WITH FWD OFFSET WAS SUCCESSFUL.                          FMD
*                                                                        FMD
/         ERROR MESSAGE 09020.                                           FMD
*                                                                        FMD
7  FORMAT ERROR WITH FWD OFFSET AND EARLY STROBE WAS                     FMD
10 FORMAT SUCCESSFUL.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 09021.                                           FMD
*                                                                        FMD
11 FORMAT ERROR USING ALL COMBINATIONS OF STROBES AND                    FMD
12 FORMAT OFFSETS WAS UNSUCCESSFUL.                                      FMD
*                                                                        FMD
/         FIRST LINE OF ERROR MESSAGES 09022 - 09025.                    FMD
*                                                                        FMD
13 FORMAT READY AND SAFE BECAME NOT ACTIVE. INITIAL STATUS               FMD
*                                                                        FMD
/         ERROR MESSAGE 09022.                                           FMD
*                                                                        FMD
14 FORMAT INDICATED AN ACCESS ERROR. EXTENDED STATUS UNDER               FMD
*                                                                        FMD
/         ERROR MESSAGE 09023.                                           FMD
*                                                                        FMD
16 FORMAT INDICATED AN ACCESS ERROR. DETAILED STATUS                     FMD
17 FORMAT INDICATED NO FURTHER INFORMATION.                              FMD
*                                                                        FMD
/         SECOND LINE OF ERROR MESSAGES 09024 - 09025.                   FMD
*                                                                        FMD
20 FORMAT INDICATED A R/W CHECK. DETAILED STATUS WORD 5                  FMD
*                                                                        FMD
/         ERROR MESSAGE 09024.                                           FMD
*                                                                        FMD
21 FORMAT INDICATED A HEAD SHORT ERROR.                                  FMD
*                                                                        FMD
/         ERROR MESSAGE 09025.                                           FMD
*                                                                        FMD
22 FORMAT INDICATED AN INDEX CHECK.                                      FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
24 FORMAT STATUS WORD 2 INDICATED SERVO OFF TRACK.
25 FORMAT STATUS WORD 2 INDICATED A SEEK ERROR (OVERSHOOT). 
26 FORMAT STATUS WORD 2 INDICATED A SEEK TIME OUT ERROR.
27 FORMAT STATUS WORD 05 = *H.                                           FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 35) GOTO 34      *IF ERROR CODE 0901D                        FMD
   B2=31                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 36) GOTO 34      *IF ERROR CODE 0901E                        FMD
   B2=31                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 37) GOTO 34      *IF ERROR CODE 0901F                        FMD
   B2=31                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 40) GOTO 34      *IF ERROR CODE 09020                        FMD
   B2=32                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 41) GOTO 34      *IF ERROR CODE 09021                        FMD
   B2=11                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 42) GOTO 36      *IF ERROR CODE 09022                        FMD
   B2=11                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 43) GOTO 36      *IF ERROR CODE 09023                        FMD
   B2=33                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 44) GOTO 40      *IF ERROR CODE 09024                        FMD
   B2=34                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 45) GOTO 40      *IF ERROR CODE 09025                        FMD
   EXIT TO 96G               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0901D, 0901E, 0901F, 09020,                FMD
/         AND 09021.                                                     FMD
*                                                                        FMD
34 MSG 0 TO LINE B1          *FIRST LINE OF ERROR MESSAGE                FMD
   MSG 1 TO LINE B1+1        *SECOND LINE OF ERROR MESSAGE               FMD
   B1=B1+2                   *INCREMENT DISPLAY LINE NUMBER              FMD
   IF(EC EQ 37) GOTO 44      *IF ERROR CODE 0901F                        FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   GOTO 44                   *GO TO COMPLETE THE MESSAGE                 FMD
*                                                                        FMD
/         PROCESS ERROR CODES 09022 AND 09023.                           FMD
*                                                                        FMD
36 MSG B0 TO LINE B1+1       *SECOND LINE OF ERROR MESSAGE               FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   IF(EC NE 42) GOTO 42         *IF NOT ERROR 09022 
   IF(SB(9)AND 2 NE 0)B0=24     *SERVO OFF TRACK
   IF(SB(9)AND 4 NE 0)B0=25     *SEEK OVERSHOOT 
   IF(SB(9)AND 10 NE 0)B0=26    *SEEK TIMEOUT 
   GOTO 42                   *GO TO COMPLETE THE MESSAGE                 FMD
*                                                                        FMD
/         PROCESS ERROR CODES 09024 AND 09025.                           FMD
*                                                                        FMD
40 MSG 20 TO LINE B1+1       *SECOND LINE OF ERROR MESSAGE               FMD
42 MSG 13 TO LINE B1         *FIRST LINE OF ERROR MESSAGE                FMD
   B1=B1+2                   *INCREMENT DISPLAY LINE NUMBER              FMD
44 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
46 IF(EC EQ 44) GOTO 50      *IF ERROR CODE 09024                        FMD
   IF(EC NE 45) GOTO 60      *IF NOT ERROR CODE 09025                    FMD
50 B0=SB(11D) RS 4           *STATUS WORD 5                              FMD
   MSG 27 (B0) TO LINE 7     *DISPLAY STATUS WORD 5                      FMD
60 PASS                                                                  FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 96I  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96G,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96G,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96G,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96G - PROCESS ERRORS FOR TEST 9.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD96G - PROCESS ERRORS FOR TEST 9. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96G - PROCESS ERRORS FOR TEST 9. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 09026, 09027, 09028    FMD06
*         09029, 0902A, 0902B, 0902C, 0902D, 0902E, 0902F, AND 09030.    FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 26, OR 27, OR 28,  FMD
*         OR 29, OR 2A, OR 2B, OR 2C, OR 2D, OR 2E, OR 2F, OR 30, THE    FMD
*         ERROR DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER  FMD
*         DOES NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL     FMD
*IF DEF,SFMD
*         EXIT TO THE FMD96H MODULE.                                     FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO THE FHD96H MODULE.
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO THE FLD96H MODULE 
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD96I TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD96I TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD96I TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96H -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96H - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96H - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96I -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96I - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96I - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD96H - PROCESS ERRORS.                                       FMD
*         FMD96I - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96J - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD96H - PROCESS ERRORS.
*         FHD96I - PROCESS ISOLATION INFORMATION. 
*         FHD96J - PROCESS ISOLATION INFORMATION. 
*         FHD96K - PROCESS ISOLATION INFORMATION. 
*         FHD96Y - PROCESS ISOLATION INFORMATION. 
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96H - PROCESS ERRORS.
*         FLD96I - PROCESS ISOLATION INFORMATION. 
*         FLD96J - PROCESS ISOLATION INFORMATION. 
*         FLD96K - PROCESS ISOLATION INFORMATION. 
*         FLD96Y - PROCESS ISOLATION INFORMATION. 
*         FLD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - TEMPORARY STORAGE.                               FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER.                                 FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTOR NUMBER.                                   FMD
*         B10 REGISTER - UPPER CYLINDER NUMBER.                          FMD
*         B11 REGISTER - UPPER TRACK NUMBER.                             FMD
*         B12 REGISTER - UPPER SECTOR NUMBER.                            FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         FIRST LINE OF ERROR MESSAGES 09026 - 09030.                    FMD
*                                                                        FMD
0  FORMAT READY AND SAFE BECAME NOT ACTIVE. INITIAL STATUS               FMD
*                                                                        FMD
/         SECOND LINE OF ERROR MESSAGES 09026 - 0902B.                   FMD
*                                                                        FMD
1  FORMAT INDICATED A R/W CHECK. DETAILED STATUS WORD 5                  FMD
*                                                                        FMD
/         ERROR MESSAGE 09026.                                           FMD
*                                                                        FMD
2  FORMAT INDICATED A CONTROL ERROR.                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 09027.                                           FMD
*                                                                        FMD
3  FORMAT INDICATED A WRITE TRANSITION ERROR.                            FMD
*                                                                        FMD
/         ERROR MESSAGE 09028.                                           FMD
*                                                                        FMD
4  FORMAT INDICATED A WRITE CURRENT ERROR.                               FMD
*                                                                        FMD
/         ERROR MESSAGE 09029.                                           FMD
*                                                                        FMD
5  FORMAT INDICATED A MULTIHEAD ERROR.                                   FMD
*                                                                        FMD
/         ERROR MESSAGE 0902A.                                           FMD
*                                                                        FMD
6  FORMAT INDICATED A WRITE OVERRUN ERROR.                               FMD
*                                                                        FMD
/         ERROR MESSAGE 0902B.                                           FMD
*                                                                        FMD
7  FORMAT INDICATED A CAPABLE ENABLE ERROR.                              FMD
*                                                                        FMD
/         ERROR MESSAGE 0902C.                                           FMD
*                                                                        FMD
10 FORMAT INDICATED A R/W CHECK. DETAILED STATUS WORD 6                  FMD
11 FORMAT INDICATED A WRITE IN OFFSET ERROR.                             FMD
*                                                                        FMD
/         ERROR MESSAGE 0902D.                                           FMD
*                                                                        FMD
12 FORMAT INDICATED A R/W CHECK. DETAILED STATUS INDICATED A             FMD10
13 FORMAT WRT OR READ WAS ISSUED AND CONTROL SELECT WAS NOT              FMD
14 FORMAT ACTIVE.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0902E.                                           FMD
*                                                                        FMD
15 FORMAT INDICATED A R/W CHECK. DETAILED STATUS WORDS 5 AND             FMD
16 FORMAT 6 INDICATED NO FURTHER INFORMATION.                            FMD10
*                                                                        FMD
/         ERROR MESSAGE 0902F.                                           FMD
*                                                                        FMD
17 FORMAT INDICATED A DRIVE CHECK. DETAILED STATUS INDICATED             FMD
20 FORMAT DRIVE MOTOR NOT AT SPEED.                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 09030.                                           FMD
*                                                                        FMD
21 FORMAT INDICATED A DRIVE CHECK. DETAIL STATUS WORD 1                  FMD
22 FORMAT INDICATED DRIVE START SWITCH NOT ON.                           FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT STATUS WORD *O = *H.                                           FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B3=5                      *STATUS WORD NUMBER                         FMD
   B4=SB(11D) RS 4           *STATUS WORD 5                              FMD
   B2=13                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 46) GOTO 34      *IF ERROR CODE 09026                        FMD
   B2=35                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 47) GOTO 34      *IF ERROR CODE 09027                        FMD
   B2=36                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 50) GOTO 34      *IF ERROR CODE 09028                        FMD
   B2=37                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 51) GOTO 34      *IF ERROR CODE 09029                        FMD
   B2=40                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 52) GOTO 34      *IF ERROR CODE 0902A                        FMD
   B2=41                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 53) GOTO 34      *IF ERROR CODE 0902B                        FMD
   B3=6                      *STATUS WORD NUMBER                         FMD
   B4=SB(11D) AND 17 LS 4    *ASSEMBLE STATUS WORD 6                     FMD
   B4=SB(12D) RS 8 XOR B4                                                FMD
   B2=42                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 54) GOTO 36      *IF ERROR CODE 0902C                        FMD
   B2=43                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 55) GOTO 36      *IF ERROR CODE 0902D                        FMD
   B2=44                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 56) GOTO 36      *IF ERROR CODE 0902E                        FMD
   B3=1                      *STATUS WORD NUMBER                         FMD
   B4=SB(8D) AND 377         *STATUS WORD 1                              FMD
   B2=3                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 57) GOTO 36      *IF ERROR CODE 0902F                        FMD
   B2=4                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 60) GOTO 36      *IF ERROR CODE 09030                        FMD
   EXIT TO 96H               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 09026, 09027, 09028, 09029,                FMD
/         0902A, AND 0902B.                                              FMD
*                                                                        FMD
34 MSG 1 TO LINE B1+1        *SECOND LINE OF ERROR MESSAGE               FMD
   GOTO 40                   *GO TO COMPLETE THE MESSAGE                 FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0902C, 0902D, 0902E, 00902F                FMD
/         AND 09030.                                                     FMD
*                                                                        FMD
36 MSG B0 TO LINE B1+1       *SECOND LINE OF ERROR MESSAGE               FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
40 MSG 0 TO LINE B1          *FIRST LINE OF ERROR MESSAGE                FMD
   B1=B1+2                   *INCREMENT DISPLAY LINE NUMBER              FMD
   IF(EC NE 55) GOTO 42      *IF NOT ERROR CODE 0902D                    FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
42 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 56) GOTO 60      *IF ERROR CODE 0902E                        FMD
   MSG 27 (B3,B4) TO LINE 7  *DISPLAY STATUS WORD                        FMD
60 PASS                                                                  FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 96I  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96H,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96H,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96H,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96H - PROCESS ERRORS FOR TEST 9.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD96H - PROCESS ERRORS FOR TEST 9. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96H - PROCESS ERRORS FOR TEST 9. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 09031, 09032, 09033,   FMD06
*         09034, 09035, 09036, AND 09037.                                FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE ERROR DISPLAY WILL BE BUILT FOR ERROR CODES 31, 32, 33,    FMD
*         34, 35, 36, AND 37.                                            FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD96I TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD96I TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD96I TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96I -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96I - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96I - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD96I - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96J - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD96I - PROCESS ISOLATION INFORMATION. 
*         FHD96J - PROCESS ISOLATION INFORMATION. 
*         FHD96K - PROCESS ISOLATION INFORMATION. 
*         FHD96Y - PROCESS ISOLATION INFORMATION. 
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96I - PROCESS ISOLATION INFORMATION. 
*         FLD96J - PROCESS ISOLATION INFORMATION. 
*         FLD96K - PROCESS ISOLATION INFORMATION. 
*         FLD96Y - PROCESS ISOLATION INFORMATION. 
*         FLD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - TEMPORARY STORAGE.                               FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER.                                 FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTOR NUMBER.                                   FMD
*         B10 REGISTER - UPPER CYLINDER NUMBER.                          FMD
*         B11 REGISTER - UPPER TRACK NUMBER.                             FMD
*         B12 REGISTER - UPPER SECTOR NUMBER.                            FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         FIRST LINE OF ERROR MESSAGES 09031 - 09036.                    FMD
*                                                                        FMD
0  FORMAT READY AND SAFE BECAME NOT ACTIVE. INITIAL STATUS               FMD
*                                                                        FMD
/         ERROR MESSAGE 09031.                                           FMD
*                                                                        FMD
1  FORMAT INDICATED A DRIVE CHECK. DETAILED STATUS WORD 4                FMD
2  FORMAT INDICATED THE SEQUENCE CHECK LATCH WAS ACTIVE.                 FMD
*                                                                        FMD
/         ERROR MESSAGE 09032.                                           FMD
*                                                                        FMD
3  FORMAT INDICATED A DRIVE CHECK. DETAILED STATUS WORD 4                FMD
4  FORMAT INDICATED HDA SEQUENCE WAS NOT COMPLETE.                       FMD
*                                                                        FMD
/         ERROR MESSAGE 09033.                                           FMD
*                                                                        FMD
5  FORMAT INDICATED A DRIVE CHECK. DETAILED STATUS WORD 5                FMD
6  FORMAT INDICATED AN INDEX CHECK.                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 09034.                                           FMD
*                                                                        FMD
7  FORMAT INDICATED A DRIVE CHECK. DETAILED STATUS WORD 7                FMD
10 FORMAT INDICATED A SECTOR COMPARE ERROR.                              FMD
*                                                                        FMD
/         ERROR MESSAGE 09035.                                           FMD
*                                                                        FMD
11 FORMAT INDICATED A DRIVE CHECK. DETAILED STATUS INDICATED             FMD
12 FORMAT NO FURTHER INFORMATION.                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 09036.                                           FMD
*                                                                        FMD
13 FORMAT INDICATED NO ERROR STATUS.                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 09037.                                           FMD
*                                                                        FMD
14 FORMAT READY AND SAFE BECAME NOT ACTIVE. EXAMINING THE                FMD
15 FORMAT BUS IN INDICATED THE CMD OR BUS OUT WAS RECEIVED.              FMD
16 FORMAT THIS INDICATES ONE OF THREE CONDITIONS - AN                    FMD
17 FORMAT ILLEGAL CMD WAS ISSUED, A CMD PARITY ERROR                     FMD
20 FORMAT OCCURRED, OR A BUS OUT PARITY ERROR OCCURRED.                  FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT STATUS WORD *O = *H.                                           FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=45                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=4                      *STATUS WORD NUMBER                         FMD
   B4=SB(2) AND 377          *STATUS WORD 4                              FMD
   IF(EC EQ 61) GOTO 34      *IF ERROR CODE 09031                        FMD
   B2=46                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 62) GOTO 34      *IF ERROR CODE 09032                        FMD
   B2=47                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=5                      *STATUS WORD NUMBER                         FMD
   B4=SB(11D) RS 4           *STATUS WORD 5                              FMD
   IF(EC EQ 63) GOTO 34      *IF ERROR CODE 09033                        FMD
   B2=50                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=7                      *STATUS WORD NUMBER                         FMD
   B4=SB(12D) AND 377        *STATUS WORD 7                              FMD
   IF(EC EQ 64) GOTO 34      *IF ERROR CODE 09034                        FMD
   B2=51                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 65) GOTO 34      *IF ERROR CODE 09035                        FMD
   B2=5                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 66) GOTO 34      *IF ERROR CODE 09036                        FMD
   B2=52                     *SET INFORMATION FLAG FOR ERROR             FMD
   GOTO 36                   *ERROR CODE 09037                           FMD
*                                                                        FMD
/         PROCESS ERROR CODES 09031, 09032, 09033, 09034,                FMD
/         09035, AND 09036.                                              FMD
*                                                                        FMD
34 MSG 0 TO LINE B1          *FIRST LINE OF ERROR MESSAGE                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   IF(EC EQ 66) GOTO 42      *IF ERROR CODE 09036                        FMD
   GOTO 40                   *GO TO COMPLETE THE MESSAGE                 FMD
*                                                                        FMD
/         PROCESS ERROR CODE 09037.                                      FMD
*                                                                        FMD
36 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
42 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 65) GOTO 60      *IF ERROR CODE 09035                        FMD
   IF(EC EQ 67) GOTO 60      *IF ERROR CODE 09037                        FMD
   MSG 27 (B3,B4) TO LINE 7  *DISPLAY STATUS WORD                        FMD
60 PASS                                                                  FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 96I  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96I,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96I,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96I,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96I - PROCESS ISOLATION INFORMATION FOR TEST 9.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD96I - PROCESS ISOLATION INFORMATION FOR TEST 9.
*ENDIF
*IF DEF,LSFMD 
*         FLD96I - PROCESS ISOLATION INFORMATION FOR TEST 9.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD96I PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD51 THROUGH FMD60 FOR         FMD
*ENDIF
*IF DEF,PFMD
*         FHD96I PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD51 THROUGH FHD60 FOR
*ENDIF
*IF DEF,LSFMD 
*         FLD96I PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD51 THROUGH FLD60 FOR
*ENDIF
*         ISOLATION NUMBERS 1 THROUGH 11 OCTAL.                          FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO OR THREE OR FOUR OR FIVE LINE MESSAGE WILL BE APPENDED   FMD
*         ONE LINE AFTER THE END OF THE ERROR MESSAGE FOR ISOLATION      FMD
*         NUMBERS 1 THROUGH 11 OCTAL. EXIT WILL BE MADE TO THE NEXT      FMD
*IF DEF,SFMD
*         ISOLATION MODULE (FMD96J).                                     FMD
*ENDIF
*IF DEF,PFMD
*         ISOLATION MODULE (FHD96J).
*ENDIF
*IF DEF,LSFMD 
*         ISOLATION MODULE (FLD96J).
*ENDIF
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*IF DEF,SFMD
*         EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE (FMD96J).       FMD
*ENDIF
*IF DEF,PFMD
*         EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE (FHD96J).
*ENDIF
*IF DEF,LSFMD 
*         EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE (FLD96J).
*ENDIF
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD96J - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD96J - PROCESS ISOLATION INFORMATION. 
*         FHD96K - PROCESS ISOLATION INFORMATION. 
*         FHD96Y - PROCESS ISOLATION INFORMATION. 
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96J - PROCESS ISOLATION INFORMATION. 
*         FLD96K - PROCESS ISOLATION INFORMATION. 
*         FLD96Y - PROCESS ISOLATION INFORMATION. 
*         FLD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
0  FORMAT REPLACE PWBS ONE AT A TIME IN THE FOLLOWING                    FMD
1  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
2  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
*                                                                        FMD
/         ERROR MESSAGE 09006 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
4  FORMAT A SEEK ERROR OR A READ ERROR HAS OCCURRED.                     FMD
5  FORMAT ASSUMING THE SEEK HAS WORKED FROM PREVIOUS TESTS               FMD
6  FORMAT REPLACE PWBS ONE AT A TIME IN THE FOLLOWING                    FMD
*IF DEF,SFMD
7  FORMAT ORDER - A/B11, (A/B09, A/B10) MATCHED PAIR,                    FMD
10 FORMAT A/B07, DECK BOARDS.                                            FMD
*ENDIF
*IF DEF,PFMD
7  FORMAT ORDER - A/B*D, (A/B*D, A/B*D) MATCHED PAIR, 
10 FORMAT A/B*D, DECK BOARDS. 
*ENDIF
*IF DEF,LSFMD 
7  FORMAT ORDER - A/B11, (A/B09, A/B10) MATCHED PAIR
10 FORMAT A/B07, DECK BOARDS
*ENDIF
*                                                                        FMD
/         ERROR MESSAGE 09007 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
11 FORMAT REPLACE PWBS ONE AT A TIME IN THE FOLLOWING                    FMD
*IF DEF,SFMD
12 FORMAT ORDER - (A/B09, A/B10) MATCHED PAIR, CHECK CABLES              FMD
13 FORMAT FROM DECK TO LOGIC CHASSIS, A/B11, DECK BOARDS.                FMD
*ENDIF
*IF DEF,PFMD
12 FORMAT ORDER - (A/B*D, A/B*D) MATCHED PAIR, CHECK CABLES 
13 FORMAT FROM DECK TO LOGIC CHASSIS, A/B*D, DECK BOARDS. 
*ENDIF
*IF DEF,LSFMD 
12 FORMAT ORDER - (A/B09, A/B10) MATCHED PAIR, CHECK CABLES 
13 FORMAT FROM DECK TO LOGIC CHASSIS, A/B11, DECK BOARDS. 
*ENDIF
*                                                                        FMD
/         ERROR MESSAGE 0902F ISOLATION INFORMATION.                     FMD
*                                                                        FMD
14 FORMAT IF SPINDLE POWERED DOWN, REPLACE A/B31, A/B32, AND             FMD
15 FORMAT A/B40.  CHECK AIR SWITCH FOR PROPER OPERATION. IF              FMD
16 FORMAT SPINDLE IS NOT POWERED DOWN, REPLACE A/B38, A/B31,             FMD
17 FORMAT A/B32 AND A/B40.                                               FMD
*                                                                        FMD
/         ERROR MESSAGE 09030 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
20 FORMAT IF SPINDLE IS POWERED DOWN REPLACE A/B31 AND                   FMD
21 FORMAT A/B32. IF SPINDLE IS NOT POWERED DOWN, REPLACE                 FMD
22 FORMAT A/B27 AND A/B31.                                               FMD
*                                                                        FMD
/         ERROR MESSAGE 09036 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
23 FORMAT RE-RUN TEST AND SCOPE READY AND SAFE AND VERIFY                FMD
24 FORMAT ERROR HAS OCCURRED.                                            FMD
25 FORMAT RE-ADJUST SERVO AFTER EACH BOARD REPLACEMENT.                  FMD
26 FORMAT POSSIBLE SERVO ERROR. GO TO TABLE 3-1 IN                       FMD
27 FORMAT TROUBLESHOOTING GUIDE.                                         FMD
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
*                                                                        FMD
30 B1=B1+2                   *INSERT BLANK LINE                          FMD
   B0=4                      *FORMAT MESSAGE NUMBER                      FMD
   IF(B2 EQ 1) GOTO 40       *IF ERROR CODE IS 09006                     FMD
   B0=11                     *FORMAT MESSAGE NUMBER                      FMD
   IF(B2 EQ 2) GOTO 44       *IF ERROR CODE IS 09007                     FMD
   B0=14                     *FORMAT MESSAGE NUMBER                      FMD
   IF(B2 EQ 3) GOTO 42       *IF ERROR CODE IS 0902F                     FMD
   B0=20                     *FORMAT MESSAGE NUMBER                      FMD
   IF(B2 EQ 4) GOTO 44       *IF ERROR CODE IS 09030                     FMD
   B0=23                     *FORMAT MESSAGE NUMBER                      FMD
   IF(B2 EQ 5) GOTO 46       *IF ERROR CODE IS 09036                     FMD
   IF(EC NE 43)GOTO 32       *IF NOT ERROR CODE 09023                    FMD
   MSG 26 TO LINE B1         *NEXT LINE OF THE MESSAGE                   FMD
   MSG 27 TO LINE B1+1       *NEXT LINE OF THE MESSAGE                   FMD
   B1=B1+2                   *INCREMENT DISPLAY NUMBER                   FMD
32 MSG 0 TO LINE B1          *BOARDS MSG TO NEXT LINE                    FMD
   B1=B1+1                   *INCREMENT DISPLAY NUMBER                   FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 09000.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 6) MSG 1(03D,20D,21D)TO LINE B1                              FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 6) MSG 1(02D,20D,21D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 6) MSG 1(03D,20D,21D)TO LINE B1 
*ENDIF
   IF(B2 NE 7) GOTO 34       *IF NOT ISOLATION NUMBER 7                  FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 09001.                         FMD
*                                                                        FMD
   MSG 1(37D,36D,39D)TO LINE B1                                          FMD
   GOTO 52                   *APPEND LAST PART OF MESSAGE                FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 09002                          FMD
*                                                                        FMD
34 IF(B2 EQ 10) MSG 2(22D,23D,21D,20D)TO LINE B1                         FMD
   IF(B2 NE 11) GOTO 36       *IF NOT ISOLATION NUMBER 11                FMD
/         ISOLATION INFORMATION FOR ERRORS 09003, 09004,                 FMD
/         09022, AND 09023.                                              FMD
   MSG 2(37D,39D,36D,35D)TO LINE B1                                      FMD
   IF(EC EQ 3) MSG 25 TO LINE B1+1   *IF ERROR CODE 09003                FMD
   IF(EC EQ 4) MSG 25 TO LINE B1+1   *IF ERROR CODE 09004                FMD
   IF(EC EQ 42)GOTO 52               *IF ERROR CODE 09022                FMD
36 EXIT TO 96J               *EXIT TO NEXT ISOLATION MODULE              FMD
*                                                                        FMD
/         BUILD ISOLATION MESSAGES FOR ISOLATION NUMBERS                 FMD
/         1, 2, 3, 4, AND 5.                                             FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *MOVE MESSAGE TO DISPLAY BUFFER             FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY NUMBER                   FMD
42 MSG B0 TO LINE B1         *MOVE MESSAGE TO DISPLAY BUFFER             FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY NUMBER                   FMD
44 MSG B0 TO LINE B1         *MOVE MESSAGE TO DISPLAY BUFFER             FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY NUMBER                   FMD
*IF DEF,PFMD
   IF(B2.EQ.1) GOTO 60       *IF ERROR CODE 09006 
   IF(B2.EQ.2) GOTO 62       *IF ERROR CODE 09007 
*ENDIF
46 MSG B0 TO LINE B1         *MOVE MESSAGE TO DISPLAY BUFFER             FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY NUMBER                   FMD
   MSG B0 TO LINE B1         *MOVE MESSAGE TO DISPLAY BUFFER             FMD
   EXIT TO 96J               *EXIT TO NEXT ISOLATION MODULE              FMD
52 MSG 26 TO LINE B1+1       *NEXT LINE OF THE MESSAGE                   FMD
   MSG 27 TO LINE B1+2       *NEXT LINE OF THE MESSAGE                   FMD
   EXIT TO 96J               *EXIT TO NEXT ISOLATION MODULE              FMD
*IF DEF,PFMD
* 
/         ISOLATION INFORMATION FOR ERROR 09006.
* 
60 B0=SB(B4+24).RS.8D           *PARALLEL HEADS ERROR BITS
   IF(B0.EQ.0) B0=1          *IF NO FAILING HEAD INDICATED
   IF(B0.EQ.10) MSG 7 (19D,17D,18D) TO LINE B1  *HEAD 3 
   IF(B0.AND.7.EQ.4) MSG 7 (15D,15D,16D) TO LINE B1  *HEAD 2
   IF(B0.AND.3.EQ.2) MSG 7 (11D,09D,10D) TO LINE B1  *HEAD 1
   IF(B0.AND.1.EQ.1) MSG 7 (07D,05D,06D) TO LINE B1  *HEAD 0
   B1=B1+1                   *INCREMENT DISPLAY NUMBER
   IF(B0.EQ.10) MSG 10 (16D) TO LINE B1  *HEAD 3
   IF(B0.AND.7.EQ.4) MSG 10 (12D) TO LINE B1  *HEAD 2 
   IF(B0.AND.3.EQ.2) MSG 10 (08D) TO LINE B1  *HEAD 1 
   IF(B0.AND.1.EQ.1) MSG 10 (04D) TO LINE B1  *HEAD 0 
* 
/         ISOLATION INFORMATION FOR ERROR 09007.
* 
62 B0=SB(B4+20).RS.7.AND.17     *PARALLEL HEADS CHECKWORD 
   IF(B0.EQ.0) B0=1          *IF NO FAILING HEAD INDICATED
   IF(B0.EQ.10) MSG 12 (17D,18D) TO LINE B1  *HEAD 3
   IF(B0.AND.7.EQ.4) MSG 12 (13D,14D) TO LINE B1  *HEAD 2 
   IF(B0.AND.3.EQ.2) MSG 12 (09D,10D) TO LINE B1  *HEAD 1 
   IF(B0.AND.1.EQ.1) MSG 12 (05D,06D) TO LINE B1  *HEAD 0 
   B1=B1+1                   *INCREMENT DISPLAY NUMBER
   IF(B0.EQ.10) MSG 13 (19D) TO LINE B1  *HEAD 3
   IF(B0.AND.7.EQ.4) MSG 13 (15D) TO LINE B1  *HEAD 2 
   IF(B0.AND.3.EQ.2) MSG 13 (11D) TO LINE B1  *HEAD 1 
   IF(B0.AND.1.EQ.1) MSG 13 (07D) TO LINE B1  *HEAD 0 
   EXIT TO 96J               *EXIT TO NEXT ISOLATION MODULE 
*ENDIF
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96J,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96J,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96J,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96J - PROCESS ISOLATION INFORMATION FOR TEST 9.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD96J - PROCESS ISOLATION INFORMATION FOR TEST 9.
*ENDIF
*IF DEF,LSFMD 
*         FLD96J - PROCESS ISOLATION INFORMATION FOR TEST 9.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD96J PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD51 THROUGH FMD60 FOR         FMD
*         ISOLATION NUMBERS 11 THROUGH 34 OCTAL.                         FMD
*ENDIF
*IF DEF,PFMD
*         FHD96J PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD51 THROUGH FHD60 FOR
*         ISOLATION NUMBERS 11 THROUGH 34 OCTAL EXCEPT FOR ISOLATION
*         NUMBERS 12, 14, 26, 27, 30, 31, AND 32. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96J PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD51 THROUGH FLD60 FOR
*         ISOLATION NUMBERS 11 THROUGH 34 OCTAL EXCEPT FOR ISOLATION
*         NUMBERS 12, 14, 26, 27, 30, 31, AND 32. 
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO OR THREE LINE MESSAGE WILL BE APPENDED ONE LINE AFTER    FMD
*         THE END OF THE ERROR MESSAGE FOR ISOLATION NUMBERS 11 THROUGH  FMD
*IF DEF,SFMD
*         34 OCTAL. EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE       FMD
*         (FMD96K).                                                      FMD
*ENDIF
*IF DEF,PFMD
*         34 OCTAL EXCEPT FOR ISOLATION NUMBERS 12, 14, 26, 27, 30, 31, 
*         AND 32. EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE
*         (FHD96K OR FHD96Y). 
*ENDIF
*IF DEF,LSFMD 
*         34 OCTAL. EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE
*         (FLD96K). 
*ENDIF
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*IF DEF,SFMD
*         EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE (FMD96K).       FMD
*ENDIF
*IF DEF,PFMD
*         EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE (FHD96K OR 
*         FHD96Y).
*ENDIF
*IF DEF,LSFMD 
*         EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE (FLD96K).
*ENDIF
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD96K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD96K - PROCESS ISOLATION INFORMATION. 
*         FHD96Y - PROCESS ISOLATION INFORMATION. 
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96K - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
11 FORMAT         A/B*D, A/B*D.                                          FMD
13 FORMAT ORDER - A/B*D, A/B*D, (A/B09, A/B10) MATCHED PAIR,             FMD
14 FORMAT         DECK BOARDS, A/B*D.                                    FMD
15 FORMAT ORDER - (A/B09, A/B10) MATCHED PAIR, A/B*D, DECK               FMD
16 FORMAT         BOARDS, A/B*D.                                         FMD
17 FORMAT         BOARDS.                                                FMD
20 FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, DECK BOARDS.               FMD
21 FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, DECK BOARDS,               FMD
22 FORMAT ORDER - A/B*D, A/B*D, A/B*D, DECK BOARDS.                      FMD
24 FORMAT POSSIBLE SERVO ERROR. GO TO TABLE 3-1 IN                       FMD
25 FORMAT TROUBLESHOOTING GUIDE.                                         FMD
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
*                                                                        FMD
*IF DEF,SFMD
30 IF(B2 NE 12) GOTO 32      *IF NOT ISOLATION NUMBER 12                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 09005.                         FMD
*                                                                        FMD
   MSG 13(24D,11D)TO LINE B1                                             FMD
   MSG 14(21D)TO LINE B1 +1                                              FMD
*ENDIF
*IF DEF,PFMD
/         ISOLATION INFORMATION FOR ERROR 09005.
* 
30 IF(B2 EQ 12) EXIT TO 96Y  *EXIT TO NEXT MODULE 
*ENDIF
*IF DEF,LSFMD 
30 IF(B2 NE 12) GOTO 32            *IF NOT ISOLATION NUMBER 12
* 
/         ISOLATION INFORMATION FOR ERROR 09005.
* 
   MSG 13(24D,11D)TO LINE B1
   MSG 14(21D)TO LINE B1 +1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 09008 AND 09026.              FMD
*                                                                        FMD
32 IF(B2 EQ 13) MSG 2(24D,21D)TO LINE B1                                 FMD
*IF DEF,SFMD
   IF(B2 NE 14) GOTO 34      *IF NOT ISOLATION NUMBER 14                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 09009 AND 0900A.              FMD
*                                                                        FMD
   MSG 15(11D)TO LINE B1                                                 FMD
   MSG 16(07D)TO LINE B1+1                                               FMD
*ENDIF
*IF DEF,PFMD
* 
/         ISOLATION INFORMATION FOR ERRORS 09009 AND 0900A. 
* 
   IF(B2 EQ 14) EXIT TO 96Y  *EXIT TO NEXT MODULE 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 NE 14) GOTO 34           *IF NOT ISOLATION NUMBER 14 
* 
/         ISOLATION INFORMATION FOR ERRORS 09990 AND 0900A. 
* 
   MSG 15(11D)TO LINE B1
   MSG 16(07D)TO LINE B1+1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0900B.                         FMD
*                                                                        FMD
34 IF(B2 EQ 15) MSG 3(23D,35D,22D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0900C AND 0900D.              FMD
*                                                                        FMD
   IF(B2 EQ 16) MSG 3(22D,23D,27D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0900E.                         FMD
*                                                                        FMD
   IF(B2 EQ 17) MSG 2(27D,20D)TO LINE B1                                 FMD
   IF(B2 NE 20) GOTO 36      *IF NOT ISOLATION NUMBER 20                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0900F.                         FMD
*                                                                        FMD
   MSG 3(37D,39D,40D)TO LINE B1                                          FMD
   GOTO 52                            *APPEND EXTRA MESSAGES             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 09010 AND 09015.              FMD
*                                                                        FMD
*IF DEF,SFMD
36 IF(B2 EQ 21) MSG 2(15D,25D)TO LINE B1                                 FMD
*ENDIF
*IF DEF,PFMD
36 IF(B2 EQ 21) MSG 2(29D,25D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
36 IF(B2 EQ 21) MSG 2(15D,25D)TO LINE B1
*ENDIF
   IF(B2 NE 22) GOTO 40      *IF NOT ISOLATION NUMBER 22                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 09011.                         FMD
*                                                                        FMD
   MSG 4(23D,35D,37D,39D)TO LINE B1                                      FMD
   GOTO 52                            *APPEND EXTRA MESSAGES             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 09012                          FMD
*                                                                        FMD
40 IF(B2 EQ 23) MSG 4(23D,22D,26D)TO LINE B1                             FMD
   IF(B2 NE 24) GOTO 42      *IF NOT ISOLATION NUMBER 24                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 09013, 09016,                 FMD
/         AND 09018.                                                     FMD
*                                                                        FMD
   MSG 4(23D,35D,36D,37D)TO LINE B1                                      FMD
   GOTO 52                            *APPEND EXTRA MESSAGES             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 09014 AND 09017               FMD
*                                                                        FMD
42 IF(B2 EQ 25) MSG 2(23D,26D)TO LINE B1                                 FMD
*IF DEF,SFMD
   IF(B2 NE 26) GOTO 44      *IF NOT ISOLATION NUMBER 26                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 09019.                         FMD
*                                                                        FMD
   MSG 15(07D)TO LINE B1                                                 FMD
   MSG 17 TO LINE B1+1                                                   FMD
*ENDIF
*IF DEF,PFMD
* 
/         ISOLATION INFORMATION FOR ERROR 09019.
* 
   IF(B2 EQ 26) EXIT TO 96Y  *EXIT TO NEXT MODULE 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 NE 26) GOTO 44          *IF NOT ISOLATION NUMBER 26
* 
/         ISOLATION INFORMATION FOR ERROR 09019.
* 
   MSG 15(07D)TO LINE B1
   MSG 17 TO LINE B1+1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0901A AND 0901B.              FMD
*                                                                        FMD
*IF DEF,SFMD
44 IF(B2 EQ 27) MSG 4(07D,11D,03D,02D)TO LINE B1                         FMD
*ENDIF
*IF DEF,PFMD
44 IF(B2 EQ 27) EXIT TO 96Y  *EXIT TO NEXT MODULE 
*ENDIF
*IF DEF,LSFMD 
44 IF(B2 EQ 27) MSG 4(07D,11D,03D,02D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0901C AND 0901D.              FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 30) MSG 20(07D,11D,03D,02D)TO LINE B1                        FMD
   IF(B2 NE 31) GOTO 46      *IF NOT ISOLATION NUMBER 31                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0901E, 0901F,                 FMD
/         AND 09020.                                                     FMD
*                                                                        FMD
   MSG 21(07D,11D,03D,02D)TO LINE B1                                     FMD
   MSG 11(15D,16D)TO LINE B1+1                                           FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 30) EXIT TO 96Y  *EXIT TO NEXT MODULE 
* 
/         ISOLATION INFORMATION FOR ERRORS 0901E, 0901F,
/         AND 09020.
* 
   IF(B2 EQ 31) EXIT TO 96Y  *EXIT TO NEXT MODULE 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 30) MSG 20(07D,11D,03D,02D)TO LINE B1 
   IF(B2 NE 31) GOTO 46           *IF NOT ISOLATION NUMBER 31 
* 
/         ISOLATION INFORMATION FOR ERRORS 0901E, 0901F,
/         AND 09020.
* 
   MSG 21(07D,11D,03D,02D)TO LINE B1
   MSG 11(15D,16D)TO LINE B1+1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 09021.                         FMD
*                                                                        FMD
*IF DEF,SFMD
46 IF(B2 EQ 32) MSG 22(07D,15D,16D)TO LINE B1                            FMD
*ENDIF
*IF DEF,PFMD
46 IF(B2 EQ 32) EXIT TO 96Y  *EXIT TO NEXT MODULE 
*ENDIF
*IF DEF,LSFMD 
46 IF(B2 EQ 32) MSG 22(07D,15D,16D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 09024.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 33)MSG 4(16D,24D,15D,23D)TO LINE B1                          FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 33)MSG 4(30D,24D,29D,23D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 33)MSG 4(16D,24D,15D,23D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 09025.                         FMD
*                                                                        FMD
   IF(B2 EQ 34) MSG 3(38D,28D,40D)TO LINE B1                             FMD
   EXIT TO 96K               *EXIT TO NEXT ISOLATION MODULE              FMD
52 MSG 24 TO LINE B1+1       *APPEND EXTRA MESSAGE                       FMD
   MSG 25 TO LINE B1+2                                                   FMD
   EXIT TO 96K               *EXIT TO NEXT ISOLATION MODULE              FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96K,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96K,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96K,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96K - PROCESS ISOLATION INFORMATION FOR TEST 9.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD96K - PROCESS ISOLATION INFORMATION FOR TEST 9.
*ENDIF
*IF DEF,LSFMD 
*         FLD96K PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLY 
*         FOR ERRORS REPORTED BY MODULES FLD51 THROUGH FLD60 FOR
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD96K PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD51 THROUGH FMD60 FOR         FMD
*ENDIF
*IF DEF,PFMD
*         FHD96K PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD51 THROUGH FHD60 FOR
*ENDIF
*         ISOLATION NUMBERS 35 THROUGH 52 OCTAL.                         FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO OR THREE OR FOUR OR FIVE LINE MESSAGE WILL BE APPENDED   FMD
*         ONE LINE AFTER THE END OF THE ERROR MESSAGE FOR ISOLATION      FMD
*         NUMBERS 35 THROUGH 52 OCTAL. THE ERROR MESSAGE WILL THEN BE    FMD
*         REPORTED TO THE OPERATOR.                                      FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
7  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D,              FMD
11 FORMAT         A/B*D.
12 FORMAT         A/B*D, A/B*D. 
13 FORMAT ORDER - DECK BOARDS, A/B*D, A/B*D.                             FMD
14 FORMAT ORDER - DECK BOARDS, A/B*D, A/B*D, A/B*D.                      FMD
15 FORMAT ORDER - A/B*D, A/B*D, A/B*D, DECK BOARDS.                      FMD
*IF DEF,PFMD
16 FORMAT ORDER - DECK BOARDS, A/B*D, A/B*D, A/B*D, A/B*D,
*ENDIF
17 FORMAT POSSIBLE SERVO ERROR. GO TO TABLE 3-1 IN                       FMD
20 FORMAT TROUBLESHOOTING GUIDE.                                         FMD
21 FORMAT VERIFY READ ONLY SWITCH IS NOT ENABLED.                        FMD10
22 FORMAT RE-RUN TEST.                                                   FMD
23 FORMAT CHECK FOR LOOSE POWER SEQ CABLE.                               FMD
24 FORMAT RE-ADJUST SERVO AFTER REPLACING A/B38 AND A/B40                FMD
25 FORMAT BOARDS.                                                        FMD
*IF DEF,PFMD
26 FORMAT DECK BOARDS, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, 
*ENDIF
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
/         ISOLATION INFORMATION FOR ERROR 09027.                         FMD
*                                                                        FMD
*IF DEF,SFMD
30 IF(B2 EQ 35) MSG 14(16D,21D,07D)TO LINE B1                            FMD
*ENDIF
*IF DEF,PFMD
30 IF(B2 EQ 35) MSG 16(30D,21D,04D,08D)TO LINE B1 
   IF(B2 EQ 35) MSG 12(12D,16D)TO LINE B1+1 
*ENDIF
*IF DEF,LSFMD 
30 IF(B2 EQ 35) MSG 14(16D,21D,07D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 09028.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 36) MSG 13(16D,24D)TO LINE B1                                FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 36) MSG 13(30D,24D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 36) MSG 13(16D,24D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 09029.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 37) MSG 15(16D,15D,24D)TO LINE B1                            FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 37) MSG 15(30D,29D,24D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 37) MSG 15(16D,15D,24D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0902A.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 40) MSG 2(24D,16D)TO LINE B1                                 FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 40) MSG 2(24D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 40) MSG 2(24D,16D)TO LINE B1
*ENDIF
   IF(B2 NE 41) GOTO 32      *IF NOT ISOLATION NUMBER 41                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0902B.                         FMD
*                                                                        FMD
   MSG 3(24D,31D,34D)TO LINE B1                                          FMD
   MSG 21 TO LINE B1+1                                                   FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0902C                          FMD
*                                                                        FMD
32 IF(B2 EQ 42) MSG 3(24D,23D,21D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0902D.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 43) MSG 7(24D,23D,22D,21D,15D,16D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 43) MSG 7(24D,23D,22D,21D,29D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 43) MSG 7(24D,23D,22D,21D,15D,16D)TO LINE B1
*ENDIF
   IF(B2 EQ 43) MSG 12(28D,20D)TO LINE B1+1 
   IF(B2 NE 44) GOTO 34      *IF NOT ISOLATION NUMBER 44                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0902E.                         FMD
*                                                                        FMD
   MSG 2(24D,23D)TO LINE B1                                              FMD
   MSG 22 TO LINE B1+1                                                   FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 09031.                         FMD
*                                                                        FMD
34 IF(B2 EQ 45) MSG 3(31D,32D,40D)TO LINE B1                             FMD
   IF(B2 NE 46) GOTO 36      *IF NOT ISOLATION NUMBER 46                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 09032.                         FMD
*                                                                        FMD
   MSG 3(27D,32D,31D)TO LINE B1                                          FMD
   MSG 23 TO LINE B1+1                                                   FMD
36 IF(B2 NE 47) GOTO 40      *IF NOT ISOLATION NUMBER 47                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 09033.                         FMD
*                                                                        FMD
   MSG 3(28D,38D,40D)TO LINE B1                                          FMD
   MSG 24 TO LINE B1+1                                                   FMD
   MSG 25 TO LINE B1+2                                                   FMD
40 IF(B2 NE 50) GOTO 42      *IF NOT ISOLATION NUMBER 50                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 09034.                         FMD
*                                                                        FMD
   MSG 4(28D,38D,39D,40D)TO LINE B1                                      FMD
   MSG 17 TO LINE B1+1                                                   FMD
   MSG 20 TO LINE B1+2                                                   FMD
42 IF(B2 NE 51) GOTO 44      *IF NOT ISOLATION NUMBER 51                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 09035.                         FMD
*                                                                        FMD
   MSG 2(27D,23D)TO LINE B1                                              FMD
   MSG 22 TO LINE B1+1                                                   FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 09037.                         FMD
*                                                                        FMD
*IF DEF,SFMD
44 IF(B2 EQ 52) MSG 7(23D,22D,02D,21D,15D,16D)TO LINE B1
*ENDIF
*IF DEF,PFMD
44 IF(B2 EQ 52) MSG 7(23D,22D,01D,21D,29D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
44 IF(B2 EQ 52) MSG 7(23D,22D,02D,21D,15D,16D)TO LINE B1
*ENDIF
   IF(B2 EQ 52) MSG 12(28D,20D)TO LINE B1+1 
*                                                                        FMD
/         DISPLAY ERROR MESSAGE AND STOP ON THE ERROR.                   FMD
*                                                                        FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96L,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96L,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96L,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96L - PROCESS ERRORS FOR TEST A.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD96L - PROCESS ERRORS FOR TEST A. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96L - PROCESS ERRORS FOR TEST A. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0A001, 0A002, 0A003,   FMD06
*         0A004, AND 0A005.                                              FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE FIRST THREE LINES FOR THE ERROR DISPLAY WILL BE PLACED IN  FMD
*         THE DISPLAY BUFFER.  IF THE ERROR CODE NUMBER IN THE EC        FMD
*         REGISTER IS A PRODUCT OVERLAY ERROR CODE, THE MODULE WILL EXIT FMD
*IF DEF,SFMD
*         TO THE FMD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE FMD
*ENDIF
*IF DEF,PFMD
*         TO THE FHD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*IF DEF,LSFMD 
*         TO THE FLD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*         ERROR. THE ERROR CODE LINE WILL BE PLACED IN THE DISPLAY       FMD
*         BUFFER. IF THE EC REGISTER CONTAINS THE ERROR CODES 01, OR 02, FMD
*         OR 03, OR 04, OR 05, THE ERROR DISPLAY WILL BE BUILT FOR THE   FMD
*         ERROR. IF THE EC REGISTER DOES NOT CONTAIN ONE OF THESE ERROR  FMD
*IF DEF,SFMD
*         CODES, THE MODULE WILL EXIT TO THE FMD96M MODULE.              FMD
*ENDIF
*IF DEF,PFMD
*         CODES, THE MODULE WILL EXIT TO THE FHD96M MODULE. 
*ENDIF
*IF DEF,LSFMD 
*         CODES, THE MODULE WILL EXIT TO THE FLD96M MODULE. 
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD96S TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD96S TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD96S TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98B -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98B - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98B - 
*ENDIF
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         THE FIRST THREE LINES OF THE ERROR DISPLAY PLACED IN THE       FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96M -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96M - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96M - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96S -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96S - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96S - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD96M - PROCESS ERRORS.                                       FMD
*         FMD96S - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96T - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD96M - PROCESS ERRORS.
*         FHD96S - PROCESS ISOLATION INFORMATION. 
*         FHD96T - PROCESS ISOLATION INFORMATION. 
*         FHD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD96M - PROCESS ERRORS.
*         FLD96S - PROCESS ISOLATION INFORMATION. 
*         FLD96T - PROCESS ISOLATION INFORMATION. 
*         FLD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CALLING MODULE NUMBER.                           FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*IF DEF,SFMD
0  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
1  FORMAT FMD61 - VERIFY DATA FIELD                                      FMD
2  FORMAT FMD62 - READ CONTROL FAULT                                     FMD
3  FORMAT FMD63 - WRITE CONTROL FAULT                                    FMD
4  FORMAT FMD64 - OFFSET WRITE FAULT                                     FMD
5  FORMAT FMD65 - W/R CONTROL FAULT                                      FMD
6  FORMAT FMD66 - OFF CYL. READ FAULT                                    FMD
7  FORMAT FMD67 - SEEK OVERSHOOT FAULT                                   FMD
10 FORMAT FMD68 - INDEX READ FAULT                                       FMD04
11 FORMAT FMD69 - W/R DATA FIELD                                         FMD04
13 FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD05
14 FORMAT FMD*D - LINE *OCT ERROR CODE 0A*HE                             FMD
*ENDIF
*IF DEF,PFMD
0  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FHD61 - VERIFY DATA FIELD 
2  FORMAT FHD62 - READ CONTROL FAULT
3  FORMAT FHD63 - WRITE CONTROL FAULT 
4  FORMAT FHD64 - OFFSET WRITE FAULT
5  FORMAT FHD65 - W/R CONTROL FAULT 
6  FORMAT FHD66 - OFF CYL. READ FAULT 
7  FORMAT FHD67 - SEEK OVERSHOOT FAULT
10 FORMAT FHD68 - INDEX READ FAULT
11 FORMAT FHD69 - W/R DATA FIELD
13 FORMAT PRESERVICE FORECAST GROUP FHDD
14 FORMAT FHD*D - LINE *OCT ERROR CODE 0A*HE
*ENDIF
*IF DEF,LSFMD 
0  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FLD61 - VERIFY DATA FIELD 
2  FORMAT FLD62 - READ CONTROL FAULT
3  FORMAT FLD63 - WRITE CONTROL FAULT 
4  FORMAT FLD64 - OFFSET WRITE FAULT
5  FORMAT FLD65 - W/R CONTROL FAULT 
6  FORMAT FLD66 - OFF CYL. READ FAULT 
7  FORMAT FLD67 - SEEK OVERSHOOT FAULT
10 FORMAT FLD68 - INDEX READ FAULT
11 FORMAT FLD69 - W/R DATA FIELD
13 FORMAT PRESERVICE FORECAST GROUP FMDD
14 FORMAT FLD*D - LINE *OCT ERROR CODE 0A*HE
*ENDIF
*                                                                        FMD
/         ERROR MESSAGE 0A001.                                           FMD
*                                                                        FMD
15 FORMAT SELECT AND RESERVE NOT ACTIVE AFTER DROPPING AND               FMD
16 FORMAT RAISING SELECT LINE.                                           FMD
*                                                                        FMD
/         ERROR MESSAGE 0A002.                                           FMD
*                                                                        FMD
17 FORMAT AFTER ISSUING A LEGAL CMD, STATUS VALID WAS NOT                FMD
20 FORMAT RETURNED FROM THE DEVICE.                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 0A003.                                           FMD
*                                                                        FMD
21 FORMAT ON CYL WAS NOT ACTIVE AFTER ISSUING AN RTZ CMD.                FMD
*                                                                        FMD
/         ERROR MESSAGE 0A004.                                           FMD
*                                                                        FMD
22 FORMAT ON CYL WAS NOT ACTIVE ISSUING A SEEK TO TRACK 842.             FMD
*                                                                        FMD
/         ERROR MESSAGE 0A005.                                           FMD
*                                                                        FMD
23 FORMAT NO ADDRESS COMPARE ON TRACK 842, HEAD 0, SECTOR 0.             FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 MSG 0 TO LINE 1           *DIAGNOSTIC TITLE MESSAGE                   FMD
   B1=B0-60D                 *CALL MODULE NAME MESSAGE                   FMD
   MSG B1 TO LINE 2          *MODULE NUMBER AND NAME MESSAGE             FMD
   MSG 13 TO LINE 3           *PRESERVICE FORECAST MESSAGE               FMD05
   IF(EC GT 3777) EXIT TO 98B  *IF PRODUCT OVERLAY ERROR                 FMD
   MSG 14(B0,EA,EC) TO LINE 5  *ERROR CODE TO DISPLAY                    FMD
   B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=5                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 1) GOTO 34       *IF ERROR CODE 0A001                        FMD
   B2=6                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 2) GOTO 34       *IF ERROR CODE 0A002                        FMD
   B2=7                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 3) GOTO 36       *IF ERROR CODE 0A003                        FMD
   B2=7                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 4) GOTO 36       *IF ERROR CODE 0A004                        FMD
   B2=1                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 5) GOTO 36       *IF ERROR CODE 0A005                        FMD
   EXIT TO 96M               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0A001 AND 0A002.                           FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0A003, 0A004, AND 0A005.                   FMD
*                                                                        FMD
36 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 96S  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96M,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96M,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96M,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96M - PROCESS ERRORS FOR TEST A.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD96M - PROCESS ERRORS FOR TEST A. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96M - PROCESS ERRORS FOR TEST A. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0A006, 0A007, 0A008,   FMD06
*         0A009, 0A00A, 0A00B, 0A00C, AND 0A00D.                         FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 06, OR 07, OR 08,  FMD
*         OR 09, OR 0A, OR 0B, OR 0C, OR 0D, THE ERROR DISPLAY WILL BE   FMD
*         BUILT FOR THE ERROR. IF THE EC REGISTER DOES NOT CONTAIN ONE   FMD
*IF DEF,SFMD
*         OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FMD96N       FMD
*ENDIF
*IF DEF,PFMD
*         OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FHD96N
*ENDIF
*IF DEF,LSFMD 
*         OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FLD96N
*ENDIF
*         MODULE.                                                        FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD96S TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD96S TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD96S TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96N -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96N - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96N - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96S -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96S - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96S - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD96N - PROCESS ERRORS.                                       FMD
*         FMD96S - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96T - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD96N - PROCESS ERRORS.
*         FHD96S - PROCESS ISOLATION INFORMATION. 
*         FHD96T - PROCESS ISOLATION INFORMATION. 
*         FHD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96N - PROCESS ERRORS.
*         FLD96S - PROCESS ISOLATION INFORMATION. 
*         FLD96T - PROCESS ISOLATION INFORMATION. 
*         FLD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0A006.                                           FMD
*                                                                        FMD
0  FORMAT READY AND SAFE REMAINED ACTIVE AFTER ISSUING A                 FMD
1  FORMAT READ ON TRACK 842 WITHOUT CONTROL SELECT. DEVICE               FMD
2  FORMAT FAILED TO DETECT A FAULT AFTER ISSUING A RD                    FMD
3  FORMAT WITHOUT CONTROL SELECT.                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0A007.                                           FMD
*                                                                        FMD
4  FORMAT INCORRECT ERROR STATUS AFTER ISSUING A READ                    FMD
5  FORMAT WITHOUT CONTROL SELECT. STATUS WORD 6 CMD WAS                  FMD
6  FORMAT ISSUED AND BUS IN BIT 7 WAS NOT ACTIVE.                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0A008.                                           FMD
*                                                                        FMD
7  FORMAT A CLR FAULT CMD FAILED TO ACTIVATE READY AND SAFE.             FMD
10 FORMAT EXPD TO CLEAR A RD AND WRT AND NO CONTROL SELECT               FMD
11 FORMAT FAULT.                                                         FMD
*                                                                        FMD
/         ERROR MESSAGE 0A009.                                           FMD
*                                                                        FMD
12 FORMAT READY AND SAFE REMAINED ACTIVE AFTER ISSUING A WRT             FMD
13 FORMAT ON TRACK 842 WITHOUT CONTROL SELECT ACTIVE. DEVICE             FMD
14 FORMAT FAILED TO DETECT A WRT AND NO CONTROL SELECT                   FMD
15 FORMAT FAULT.                                                         FMD
*                                                                        FMD
/         ERROR MESSAGE 0A00A.                                           FMD
*                                                                        FMD
16 FORMAT INCORRECT ERROR STATUS AFTER ISSUING A WRT WITHOUT             FMD
17 FORMAT CONTROL SELECT ACTIVE. STATUS WORD 6 CMD WAS                   FMD
20 FORMAT ISSUED AND BUS IN BIT 7 WAS NOT ACTIVE.                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0A00B.                                           FMD
*                                                                        FMD
21 FORMAT INCORRECT STATUS AFTER ISSUING A SET OFFSET CMD.               FMD
*                                                                        FMD
/         ERROR MESSAGE 0A00C.                                           FMD
*                                                                        FMD
22 FORMAT READY AND SAFE REMAINED ACTIVE AFTER ISSUING A WRT             FMD
23 FORMAT ON TRACK 842, HD 0, SECTOR 0 WHILE IN OFFSET MODE.             FMD
*                                                                        FMD
/         ERROR MESSAGE 0A00D.                                           FMD
*                                                                        FMD
24 FORMAT INCORRECT ERROR STATUS AFTER ISSUING A WRT IN                  FMD
25 FORMAT OFFSET MODE UNDER STATUS WORD 6.                               FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=55                     *SET INFORMATION FLAG FOR ERROR
   IF(EC EQ 6) GOTO 32       *IF ERROR CODE 0A006                        FMD
   B2=11                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 7) GOTO 34       *IF ERROR CODE 0A007                        FMD
   B2=12                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 10) GOTO 34       *IF ERROR CODE 0A008                       FMD
   B2=11                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 11) GOTO 32       *IF ERROR CODE 0A009                       FMD
   B2=11                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 12) GOTO 34       *IF ERROR CODE 0A00A                       FMD
   B2=13                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 13) GOTO 40       *IF ERROR CODE 0A00B                       FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 14) GOTO 36       *IF ERROR CODE 0A00C                       FMD
   B2=14                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 15) GOTO 36       *IF ERROR CODE 0A00D                       FMD
   EXIT TO 96N               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0A006 AND 0A009.                           FMD
*                                                                        FMD
32 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0A007, 0A008, AND 0A00A.                   FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0A00C AND 0A00D.                           FMD
*                                                                        FMD
36 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODE 0A00B.                                      FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 13) GOTO 42      *IF ERROR CODE 0A00B                        FMD
   IF(EC NE 15) GOTO 60      *IF NOT ERROR CODE 0A00D                    FMD
42 B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 27 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
60 PASS                                                                  FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 96S  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96N,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96N,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96N,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96N - PROCESS ERRORS FOR TEST A.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD96N - PROCESS ERRORS FOR TEST A. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96N - PROCESS ERRORS FOR TEST A. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0A00E, 0A00F, 0A010,   FMD06
*         0A011, 0A012, 0A013, 0A014, 0A015, 0A016, 0A017, 0A018, AND    FMD06
*         0A019.                                                         FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 0E, OR 0F, OR 10,  FMD
*         OR 11, OR 12, OR 13, OR 14, OR 15, OR 16, OR 17, OR 18, OR 19, FMD
*         THE ERROR DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC       FMD
*         REGISTER DOES NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE FMD
*IF DEF,SFMD
*         WILL EXIT TO THE FMD96O MODULE.                                FMD
*ENDIF
*IF DEF,PFMD
*         WILL EXIT TO THE FHD96O MODULE. 
*ENDIF
*IF DEF,LSFMD 
*         WILL EXIT TO THE FLD96O MODULE
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD96S TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD96S TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD96S TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96O -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96O - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96O - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96S -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96S - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96S - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD96O - PROCESS ERRORS.                                       FMD
*         FMD96S - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96T - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD96O - PROCESS ERRORS.
*         FHD96S - PROCESS ISOLATION INFORMATION. 
*         FHD96T - PROCESS ISOLATION INFORMATION. 
*         FHD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96O - PROCESS ERRORS.
*         FLD96S - PROCESS ISOLATION INFORMATION. 
*         FLD96T - PROCESS ISOLATION INFORMATION. 
*         FLD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0A00E.                                           FMD
*                                                                        FMD
0  FORMAT A CLR FAULT CMD FAILED TO CLEAR A WRT IN OFFSET                FMD
1  FORMAT FAULT.                                                         FMD
*                                                                        FMD
/         ERROR MESSAGE 0A00F.                                           FMD
*                                                                        FMD
2  FORMAT INCORRECT STATUS WAS RECEIVED AFTER ISSUING A CLR              FMD
3  FORMAT FAULT CMD. EXPD TO CLEAR A WRT IN OFFSET FAULT.                FMD
*                                                                        FMD
/         ERROR MESSAGE 0A010.                                           FMD
*                                                                        FMD
4  FORMAT INCORRECT STATUS WAS RECEIVED AFTER ISSUING A                  FMD
5  FORMAT RESET OFFSET.                                                  FMD
*                                                                        FMD
/         ERROR MESSAGE 0A011.                                           FMD
*                                                                        FMD
6  FORMAT ON CYL FAILED TO COME ACTIVE AFTER ISSUING A RESET             FMD
7  FORMAT OFFSET.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0A012.                                           FMD
*                                                                        FMD
10 FORMAT READY AND SAFE REMAINED ACTIVE AFTER RAISING READ              FMD
11 FORMAT AND WRITE TOGETHER.                                            FMD
*                                                                        FMD
/         ERROR MESSAGE 0A013.                                           FMD
*                                                                        FMD
12 FORMAT AFTER RAISING READ AND WRITE TOGETHER STATUS DID               FMD
13 FORMAT NOT INDICATE A R/W CHECK UNDER STATUS WORD 7.                  FMD
*                                                                        FMD
/         ERROR MESSAGE 0A014.                                           FMD
*                                                                        FMD
14 FORMAT INCORRECT ERROR STATUS AFTER RAISING READ AND                  FMD
15 FORMAT WRITE TOGETHER. EXPD A CONTROL ERROR.                          FMD
*                                                                        FMD
/         ERROR MESSAGE 0A015.                                           FMD
*                                                                        FMD
16 FORMAT INCORRECT STATUS AFTER ISSUING A CLR FAULT CMD.                FMD
*                                                                        FMD
/         ERROR MESSAGE 0A016.                                           FMD
*                                                                        FMD
17 FORMAT CLR FAULT FAILED TO CLEAR A CONTROL ERROR AND                  FMD
20 FORMAT RESTORE READY AND SAFE.                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0A017.                                           FMD
*                                                                        FMD
21 FORMAT ISSUING A READ WHILE OFF CYL FAILED TO DEACTIVATE              FMD
22 FORMAT READY AND SAFE.                                                FMD
*                                                                        FMD
/         ERROR MESSAGE 0A018.                                           FMD
*                                                                        FMD
23 FORMAT ON CYL WAS NOT ACTIVE AFTER ISSUING AN RTZ CMD                 FMD
24 FORMAT WITH READ GATE ACTIVE.                                         FMD
*                                                                        FMD
/         ERROR MESSAGE 0A019.                                           FMD
*                                                                        FMD
25 FORMAT ISSUING A READ WHILE OFF CYL FAILED TO PRODUCE A               FMD
26 FORMAT R/W CHECK UNDER STATUS WORD 7.                                 FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=12                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 16) GOTO 32      *IF ERROR CODE 0A00E                        FMD
   B2=15                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 17) GOTO 32      *IF ERROR CODE 0A00F                        FMD
   B2=13                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 20) GOTO 32      *IF ERROR CODE 0A010                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 21) GOTO 32      *IF ERROR CODE 0A011                        FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 22) GOTO 32      *IF ERROR CODE 0A012                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 23) GOTO 32      *IF ERROR CODE 0A013                        FMD
   B2=14                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 24) GOTO 32      *IF ERROR CODE 0A014                        FMD
   B2=15                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 25) GOTO 34      *IF ERROR CODE 0A015                        FMD
   B2=12                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 26) GOTO 32      *IF ERROR CODE 0A016                        FMD
   B2=20                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 27) GOTO 32      *IF ERROR CODE 0A017                        FMD
   B2=21                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 30) GOTO 32      *IF ERROR CODE 0A018                        FMD
   B2=22                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 31) GOTO 32      *IF ERROR CODE 0A019                        FMD
   EXIT TO 96O               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0A00E, 0A00F, 0A010, 0A011,                FMD
/         0A012, 0A013, 0A014, 0A016, 0A017, 0A018  AND                  FMD
/         0A019.                                                         FMD
*                                                                        FMD
32 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODE 0A015.                                      FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 17) GOTO 40      *IF ERROR CODE 0A00F                        FMD
   IF(EC EQ 20) GOTO 40      *IF ERROR CODE 0A010                        FMD
   IF(EC EQ 23) GOTO 40      *IF ERROR CODE 0A013                        FMD
   IF(EC EQ 24) GOTO 40      *IF ERROR CODE 0A014                        FMD
   IF(EC EQ 25) GOTO 40      *IF ERROR CODE 0A015                        FMD
   IF(EC NE 31) GOTO 60      *IF NOT ERROR CODE 0A009                    FMD
40 B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 27 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
60 PASS                                                                  FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 96S  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96O,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96O,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96O,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96O - PROCESS ERRORS FOR TEST A.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD96O - PROCESS ERRORS FOR TEST A. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96O - PROCESS ERRORS FOR TEST A. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0A01A, 0A01B, 0A01C,   FMD06
*         0A020, 0A021, 0A025, 0A026, AND 0A027.                         FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 1A, OR 1B, OR 1C,  FMD
*         OR 20, OR 21, OR 25, OR 26, OR 27, OR THE ERROR DISPLAY WILL   FMD
*         BE BUILT FOR THE ERROR. IF THE EC REGISTER DOES NOT CONTAIN    FMD
*IF DEF,SFMD
*         ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FMD96P   FMD
*ENDIF
*IF DEF,PFMD
*         ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FHD96P
*ENDIF
*IF DEF,LSFMD 
*         ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FLD96P
*ENDIF
*         MODULE.                                                        FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD96S TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD96S TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*          EXIT TO FLD96S TO APPEND THE ISOLATION INFORMATION TO THE
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96P -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96P - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96P - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96S -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96S - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96S - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD96P - PROCESS ERRORS.                                       FMD
*         FMD96S - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96T - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD96P - PROCESS ERRORS.
*         FHD96S - PROCESS ISOLATION INFORMATION. 
*         FHD96T - PROCESS ISOLATION INFORMATION. 
*         FHD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96P - PROCESS ERRORS.
*         FLD96S - PROCESS ISOLATION INFORMATION. 
*         FLD96T - PROCESS ISOLATION INFORMATION. 
*         FLD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0A01A.                                           FMD
*                                                                        FMD
0  FORMAT INCORRECT FAULT STATUS UNDER STATUS WORD 5 AFTER               FMD
1  FORMAT ISSUING A READ WHILE OFF CYL. A CAPABLE ENABLE                 FMD
2  FORMAT ERROR WAS EXPECTED.                                            FMD
*                                                                        FMD
/         ERROR MESSAGE 0A01B.                                           FMD
*                                                                        FMD
3  FORMAT INCORRECT STATUS UNDER STATUS WORD 2 AFTER ISSUING             FMD
4  FORMAT A READ WHILE OFF CYL. A SERVO OFF CYL ERROR WAS                FMD
5  FORMAT EXPD.                                                          FMD
*                                                                        FMD
/         ERROR MESSAGE 0A01C.                                           FMD
*                                                                        FMD
6  FORMAT CLR FAULT CMD FAILED TO CLR A CAPABLE ENABLE ERROR             FMD
7  FORMAT AND RESTORE READY AND SAFE.                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 0A020.                                           FMD
*                                                                        FMD
10 FORMAT A FORCE MULTIHEAD CHECK CMD WAS ISSUED. READ GATE              FMD
11 FORMAT WAS RAISED ATTEMPTING TO FORCE A MULTIHEAD AND A               FMD
12 FORMAT WRT CURRENT ERROR. STATUS RCVD UNDER STATUS WORD 5             FMD
13 FORMAT DID NOT INDICATE THESE FAULTS.                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0A021.                                           FMD
*                                                                        FMD
14 FORMAT AFTER FORCING A MULTIHEAD AND WRT CURRENT ERROR, A             FMD
15 FORMAT CLR FAULT CMD WAS ISSUED, BUT READY AND SAFE WAS               FMD
16 FORMAT NOT RESTORED.                                                  FMD
*                                                                        FMD
/         ERROR MESSAGE 0A025.                                           FMD
*                                                                        FMD
17 FORMAT AN ADDRESS ERROR OCCURRED ON TRACK 842 WHILE                   FMD
20 FORMAT ATTEMPTING TO WRITE ALL HEADS AND SECTORS DATA                 FMD
21 FORMAT FIELD WITH A E36A AAAA.                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0A026.                                           FMD
*                                                                        FMD
22 FORMAT WHILE READING THE DATA WRITTEN ABOVE A DATA ERROR              FMD
23 FORMAT OCCURRED.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 0A027.                                           FMD
*                                                                        FMD
24 FORMAT RAISING READ GATE UNDER INDEX WITH DIAG LATCH                  FMD
25 FORMAT ACTIVE, FAILED TO DROP READY AND SAFE.                         FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
26 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
27 FORMAT CYLINDER = *OCT, TRACK = *OCT, SECTOR = *OCT                   FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=14                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 32) GOTO 34      *IF ERROR CODE 0A01A                        FMD
   B2=23                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 33) GOTO 34      *IF ERROR CODE 0A01B                        FMD
   B2=24                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 34) GOTO 36      *IF ERROR CODE 0A01C                        FMD
   B2=25                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 40) GOTO 32      *IF ERROR CODE 0A020                        FMD
   B2=24                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 41) GOTO 34      *IF ERROR CODE 0A021                        FMD
   B2=2                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 45) GOTO 34      *IF ERROR CODE 0A025                        FMD
   B2=2                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 46) GOTO 36      *IF ERROR CODE 0A026                        FMD
   B2=26                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 47) GOTO 36      *IF ERROR CODE 0A027                        FMD
   EXIT TO 96P               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODE 0A020.                                      FMD
*                                                                        FMD
32 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0A01A, 0A01B, 0A021, AND                   FMD
/         0A025.                                                         FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0A01C, 0A026, AND 0A027.                   FMD
*                                                                        FMD
36 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 32) GOTO 44      *IF ERROR CODE 0A01A                        FMD
   IF(EC EQ 33) GOTO 44      *IF ERROR CODE 0A01B                        FMD
   IF(EC NE 40) GOTO 50      *IF NOT ERROR CODE 0A020                    FMD
44 B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 26 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
50 IF(EC EQ 45) GOTO 52      *IF ERROR CODE 0A025                        FMD
   IF(EC NE 46) GOTO 60      *IF NOT ERROR CODE 0A026                    FMD
52 MSG 27 (B7,B8,B9) TO LINE 7  *DISPLAY DISK ADDRESS                    FMD
60 PASS                                                                  FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 96S  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96P,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96P,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96P,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96P - PROCESS ERRORS FOR TEST A.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD96P - PROCESS ERRORS FOR TEST A. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96P - PROCESS ERRORS FOR TEST A. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0A030, 0A031, 0A032,   FMD06
*         0A033, 0A034, 0A035, 0A036, 0A037, 0A038, 0A039, 0A03A, 0A03B, FMD06
*         AND 0A03C.                                                     FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 30, OR 31, OR 32,  FMD
*         OR 33, OR 34, OR 35, OR 36, OR 37, OR 38, OR 39, OR 3A, OR 3B, FMD
*         OR 3C, THE ERROR DISPLAY WILL BE BUILT FOR THE ERROR. IF THE   FMD
*         EC REGISTER DOES NOT CONTAIN ONE OF THESE ERROR CODES, THE     FMD
*IF DEF,SFMD
*         MODULE WILL EXIT TO THE FMD96Q MODULE.                         FMD
*ENDIF
*IF DEF,PFMD
*         MODULE WILL EXIT TO THE FHD96Q MODULE.
*ENDIF
*IF DEF,LSFMD 
*         MODULE WILL EXIT TO THE FLD96Q MODULE 
*ENDIF
*                                                                        FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD96S TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD96S TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD96S TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*         B4 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96Q -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96Q - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96Q - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*         B4 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96S -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96S - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96S - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*         B3 REGISTER DESTROYED.                                         FMD
*         B4 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD96Q - PROCESS ERRORS.                                       FMD
*         FMD96S - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96T - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD96Q - PROCESS ERRORS.
*         FHD96S - PROCESS ISOLATION INFORMATION. 
*         FHD96T - PROCESS ISOLATION INFORMATION. 
*         FHD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96Q - PROCESS ERRORS.
*         FLD96S - PROCESS ISOLATION INFORMATION. 
*         FLD96T - PROCESS ISOLATION INFORMATION. 
*         FLD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - TEMPORARY STORAGE.                               FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0A030.                                           FMD
*                                                                        FMD
0  FORMAT READY AND SAFE WAS NOT ACTIVE. DETAILED STATUS                 FMD
1  FORMAT INDICATED ECHO BUS MODE WAS ACTIVE.                            FMD
*                                                                        FMD
/         ERROR MESSAGE 0A031.                                           FMD
*                                                                        FMD
2  FORMAT INDICATED ECHO CMD MODE ACTIVE.                                FMD
*                                                                        FMD
/         ERROR MESSAGE 0A032.                                           FMD
*                                                                        FMD
3  FORMAT READY AND SAFE WAS NOT ACTIVE. INITIAL STATUS                  FMD
4  FORMAT INDICATED AN ACCESS CHECK. DETAILED STATUS WORD 2              FMD
5  FORMAT INDICATED A SEEK TIME OUT ERROR.                               FMD
*                                                                        FMD
/         ERROR MESSAGE 0A033.                                           FMD
*                                                                        FMD
6  FORMAT INDICATED A SEEK OVERSHOOT ERROR.                              FMD
*                                                                        FMD
/         ERROR MESSAGE 0A034.                                           FMD
*                                                                        FMD
7  FORMAT INDICATED A SERVO OFF CYL ERROR.                               FMD
*                                                                        FMD
/         ERROR MESSAGE 0A035.                                           FMD
*                                                                        FMD
10 FORMAT INDICATED AN R/W CHECK. DETAILED STATUS WORD 5                 FMD
11 FORMAT INDICATED A HEAD SHORT ERROR.                                  FMD
*                                                                        FMD
/         ERROR MESSAGE 0A036.                                           FMD
*                                                                        FMD
12 FORMAT INDICATED AN INDEX CHECK.                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 0A037.                                           FMD
*                                                                        FMD
13 FORMAT INDICATED A CONTROL ERROR.                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 0A038.                                           FMD
*                                                                        FMD
14 FORMAT INDICATED A WRITE TRANSITION ERROR.                            FMD
*                                                                        FMD
/         ERROR MESSAGE 0A039.                                           FMD
*                                                                        FMD
15 FORMAT INDICATED A WRT CURRENT ERROR.                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0A03A.                                           FMD
*                                                                        FMD
16 FORMAT INDICATED A MULTIHEAD ERROR.                                   FMD
*                                                                        FMD
/         ERROR MESSAGE 0A03B.                                           FMD
*                                                                        FMD
17 FORMAT INDICATED A WRT OVERRUN ERROR.                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0A03C.                                           FMD
*                                                                        FMD
20 FORMAT INDICATED A CAPABLE ENABLE ERROR.                              FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT STATUS WORD *D = *H                                            FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 60) GOTO 32      *IF ERROR CODE 0A030                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 61) GOTO 32      *IF ERROR CODE 0A031                        FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=2                      *STATUS WORD NUMBER                         FMD
   B4=SB(9) AND 17 RS 4      *ASSEMBLE STATUS WORD 2                     FMD
   B4=SB(10D) RS 8 XOR B4                                                FMD
   IF(EC EQ 62) GOTO 34      *IF ERROR CODE 0A032                        FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 63) GOTO 34      *IF ERROR CODE 0A033                        FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 64) GOTO 34      *IF ERROR CODE 0A034                        FMD
   B2=31                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=5                      *STATUS WORD NUMBER                         FMD
   B4=SB(11D) RS 4           *STATUS WORD 5                              FMD
   IF(EC EQ 65) GOTO 36      *IF ERROR CODE 0A035                        FMD
   B2=32                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 66) GOTO 36      *IF ERROR CODE 0A036                        FMD
   B2=33                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 67) GOTO 36      *IF ERROR CODE 0A037                        FMD
   B2=34                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 70) GOTO 36      *IF ERROR CODE 0A038                        FMD
   B2=35                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 71) GOTO 36      *IF ERROR CODE 0A039                        FMD
   B2=36                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 72) GOTO 36      *IF ERROR CODE 0A03A                        FMD
   B2=37                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 73) GOTO 36      *IF ERROR CODE 0A03B                        FMD
   B2=40                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 74) GOTO 36      *IF ERROR CODE 0A03C                        FMD
   EXIT TO 96Q               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0A030 AND 0A031.                           FMD
*                                                                        FMD
32 MSG 0 TO LINE B1          *FIRST LINE OF ERROR MESSAGE                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   GOTO 42                   *GO TO COMPLETE THE MESSAGE                 FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0A032, 0A033, AND 0A034.                   FMD
*                                                                        FMD
34 MSG 4 TO LINE B1+1        *SECOND LINE OF ERROR MESSAGE               FMD
   GOTO 40                   *GO TO COMPLETE THE MESSAGE                 FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0A035, 0A036, 0A037, 0A038,                FMD
/         0A039, 0A03A, 0A03B, AND 0A03C.                                FMD
*                                                                        FMD
36 MSG 10 TO LINE B1+1       *SECOND LINE OF ERROR MESSAGE               FMD
40 MSG 3 TO LINE B1          *FIRST LINE OF ERROR MESSAGE                FMD
   B1=B1+2                   *INCREMENT DISPLAY LINE NUMBER              FMD
42 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 60) GOTO 60      *IF ERROR CODE 0A030                        FMD
   IF(EC EQ 61) GOTO 60      *IF ERROR CODE 0A031                        FMD
   MSG 27 (B3,B4) TO LINE 7  *DISPLAY STATUS STATUS WORD                 FMD
60 PASS                                                                  FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 96S  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96Q,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96Q,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96Q,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96Q - PROCESS ERRORS FOR TEST A.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD96Q - PROCESS ERRORS FOR TEST A. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96Q - PROCESS ERRORS FOR TEST A. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0A03D, 0A03E, 0A03F,   FMD06
*         0A040, 0A041, 0A042, 0A043, 0A044, 0A045, AND 0A046.           FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 3D, OR 3E, OR 3F,  FMD
*         OR 40, OR 41, OR 42, OR 43, OR 44, OR 45, OR 46, THE ERROR     FMD
*         DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER DOES   FMD
*         NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO  FMD
*IF DEF,SFMD
*         THE FMD96R MODULE.                                             FMD
*ENDIF
*IF DEF,PFMD
*         THE FHD96R MODULE.
*ENDIF
*IF DEF,LSFMD 
*         THE FLD96R MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD96S TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD96S TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD96S TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*         B4 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96R -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96R - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96R - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*         B4 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96S -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96S - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96S - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*         B3 REGISTER DESTROYED.                                         FMD
*         B4 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD96R - PROCESS ERRORS.                                       FMD
*         FMD96S - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96T - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD96R - PROCESS ERRORS.
*         FHD96S - PROCESS ISOLATION INFORMATION. 
*         FHD96T - PROCESS ISOLATION INFORMATION. 
*         FHD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96R - PROCESS ERRORS.
*         FLD96S - PROCESS ISOLATION INFORMATION. 
*         FLD96T - PROCESS ISOLATION INFORMATION. 
*         FLD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - TEMPORARY STORAGE.                               FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0A03D.                                           FMD
*                                                                        FMD
0  FORMAT READY AND SAFE WAS NOT ACTIVE. INITIAL STATUS                  FMD
1  FORMAT INDICATED AN R/W CHECK. DETAILED STATUS WORD 6                 FMD
2  FORMAT INDICATED A WRT OR READ AND CONTROL SELECT ERROR               FMD
3  FORMAT IS ACTIVE.                                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 0A03E.                                           FMD
*                                                                        FMD
4  FORMAT INDICATED AN R/W CHECK. DETAILED STATUS WORD 6                 FMD
5  FORMAT INDICATED A WRITE IN OFFSET ERROR.                             FMD
*                                                                        FMD
/         ERROR MESSAGE 0A03F.                                           FMD
*                                                                        FMD
6  FORMAT INDICATED AN ACCESS ERROR. DETAILED STATUS                     FMD
7  FORMAT INDICATED NO FURTHER INFORMATION.                              FMD
*                                                                        FMD
/         ERROR MESSAGE 0A040.                                           FMD
*                                                                        FMD
10 FORMAT INDICATED AN R/W CHECK. DETAILED STATUS INDICATED              FMD10
11 FORMAT NO FURTHER INFORMATION.                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0A041.                                           FMD
*                                                                        FMD
12 FORMAT INDICATED NO ERROR BITS WERE ACTIVE.                           FMD
*                                                                        FMD
/         ERROR MESSAGE 0A042.                                           FMD
*                                                                        FMD
13 FORMAT INDICATED A DRIVE CHECK. DETAILED STATUS WORD 7                FMD
14 FORMAT INDICATED A SECTOR COMPARE ERROR.                              FMD
*                                                                        FMD
/         ERROR MESSAGE 0A043.                                           FMD
*                                                                        FMD
15 FORMAT INDICATED A DRIVE CHECK. DETAILED STATUS WORD 5                FMD
16 FORMAT INDICATED AN INDEX CHECK.                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 0A044.                                           FMD
*                                                                        FMD
17 FORMAT INDICATED A DRIVE CHECK. DETAILED STATUS WORD 4                FMD
20 FORMAT INDICATED THE SEQUENCE CHECK LATCH ACTIVE.                     FMD
*                                                                        FMD
/         ERROR MESSAGE 0A045.                                           FMD
*                                                                        FMD
21 FORMAT INDICATED A DRIVE CHECK. DETAILED STATUS WORD 4                FMD
22 FORMAT INDICATED HDA SEQUENCE WAS NOT COMPLETE.                       FMD
*                                                                        FMD
/         ERROR MESSAGE 0A046.                                           FMD
*                                                                        FMD
23 FORMAT INDICATED A DRIVE CHECK. DETAILED STATUS WORD 1                FMD
24 FORMAT INDICATED MOTOR NOT AT SPEED.                                  FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT STATUS WORDS *D = *H                                           FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=41                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=6                      *STATUS WORD NUMBER                         FMD
   B4=SB(11D) AND 17 RS 4    *ASSEMBLE STATUS WORD 6                     FMD
   B4=SB(12D)RS 8 XOR B4                                                 FMD
   IF(EC EQ 75) GOTO 32      *IF ERROR CODE 0A03D                        FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 76) GOTO 32      *IF ERROR CODE 0A03E                        FMD
   B2=7                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 77) GOTO 32      *IF ERROR CODE 0A03F                        FMD
   B2=42                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 100) GOTO 32     *IF ERROR CODE 0A040                        FMD
   B2=43                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 101) GOTO 32     *IF ERROR CODE 0A041                        FMD
   B2=44                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 102) GOTO 32     *IF ERROR CODE 0A042                        FMD
   B2=45                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=5                      *STATUS WORD NUMBER                         FMD
   B4=SB(11D) RS 4           *STATUS WORD 5                              FMD
   IF(EC EQ 103) GOTO 32     *IF ERROR CODE 0A043                        FMD
   B2=46                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=4                      *STATUS WORD NUMBER                         FMD
   B4=SB(2) AND 377          *STATUS WORD 4                              FMD
   IF(EC EQ 104) GOTO 32     *IF ERROR CODE 0A044                        FMD
   B2=47                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 105) GOTO 32     *IF ERROR CODE 0A045                        FMD
   B2=3                      *SET INFORMATION FLAG FOR ERROR             FMD
   B3=1                      *STATUS WORD NUMBER                         FMD
   B4=SB(8D) AND 377         *STATUS WORD 1                              FMD
   IF(EC EQ 106) GOTO 32     *IF ERROR CODE 0A046                        FMD
   EXIT TO 96R               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0A03D, 0A03E, 0A03F, 0A040,                FMD
/         0A041, 0A042, 0A043, 0A044, 0A045, AND 0A046.                  FMD
*                                                                        FMD
32 MSG 0 TO LINE B1          *FIRST LINE OF ERROR MESSAGE                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   IF(EC NE 75) GOTO 34      *IF NOT ERROR CODE 0A03D                    FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
34 IF(EC EQ 101) GOTO 36     *IF NOT ERROR CODE 0A041                    FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
36 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 77) GOTO 60      *IF ERROR CODE 0A03F                        FMD
   IF(EC EQ 100) GOTO 60     *IF ERROR CODE 0A040                        FMD
   IF(EC EQ 101) GOTO 60     *IF ERROR CODE 0A041                        FMD
   IF(EC EQ 102) GOTO 60     *IF ERROR CODE 0A042                        FMD
   MSG 27 (B3,B4) TO LINE 7  *DISPLAY STATUS WORD                        FMD
60 PASS                                                                  FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 96S  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96R,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96R,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96R,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96R - PROCESS ERRORS FOR TEST A.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD96R - PROCESS ERRORS FOR TEST A. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96R - PROCESS ERRORS FOR TEST A. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0A047, 0A048, 0A049,   FMD06
*         0A04A, 0A04B, AND 0A04C.                                       FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE ERROR DISPLAY WILL BE BUILT FOR ERROR CODES 47, 48, 49,    FMD
*         4A, 4B, AND 4C.                                                FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD96S TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD96S TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD96S TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         EXIT TO CALLING PRIMARY MODULE-                                FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*         B4 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD96S -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD96S - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD96S - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD96S - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96T - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD96S - PROCESS ISOLATION INFORMATION. 
*         FHD96T - PROCESS ISOLATION INFORMATION. 
*         FHD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96R - PROCESS ERRORS.
*         FLD96S - PROCESS ISOLATION INFORMATION. 
*         FLD96T - PROCESS ISOLATION INFORMATION. 
*         FLD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - TEMPORARY STORAGE.                               FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0A047.                                           FMD
*                                                                        FMD
0  FORMAT READY AND SAFE WAS NOT ACTIVE. INITIAL STATUS                  FMD
1  FORMAT INDICATED A DRIVE CHECK. DETAILED STATUS WORD 1                FMD10
2  FORMAT INDICATED THE DRIVE START SWITCH NOT ON.                       FMD
*                                                                        FMD
/         ERROR MESSAGE 0A048.                                           FMD
*                                                                        FMD
3  FORMAT READY AND SAFE WAS NOT ACTIVE. INITIAL STATUS                  FMD
4  FORMAT INDICATED A DRIVE CHECK. DETAILED STATUS INDICATED             FMD
5  FORMAT NO ERROR BITS WERE ACTIVE.                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 0A049.                                           FMD
*                                                                        FMD
6  FORMAT READY AND SAFE REMAINED ACTIVE AFTER ISSUING A                 FMD
7  FORMAT SEEK TO CYL 844. THE UNIT FAILED TO DETECT A FAULT             FMD
10 FORMAT AFTER ISSUING A SEEK TO A CYL BEYOND THE DRIVE                 FMD
11 FORMAT CAPACITY.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 0A04A.                                           FMD
*                                                                        FMD
12 FORMAT INCORRECT ERROR STATUS AFTER ISSUING A SEEK TO A               FMD
13 FORMAT CYL BEYOND THE DRIVE CAPACITY. STATUS WORD 2, CMD              FMD
14 FORMAT 89, WAS ISSUED AND BUS IN BIT 6 (SEEK ERROR) WAS               FMD
15 FORMAT NOT ACTIVE.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 0A04B.                                           FMD
*                                                                        FMD
16 FORMAT RETURN TO ZERO, CMD 49, FAILED TO CLEAR THE SEEK               FMD
17 FORMAT 0VERSHOOT ERROR AND RESTORE READY AND SAFE.                    FMD
*                                                                        FMD
/         ERROR MESSAGE 0A04C.                                           FMD
*                                                                        FMD
20 FORMAT A RETURN TO ZERO, CMD 49, FAILED TO CLEAR THE                  FMD
21 FORMAT ACCESS CHECK ERROR CAUSED BY A SEEK OVERSHOOT                  FMD
22 FORMAT ERROR.                                                         FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT STATUS WORD 01 = *H                                            FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=4                      *SET INFORMATION FLAG FOR ERROR             FMD
   B3=SB(8) AND 377          *STATUS WORD 1                              FMD
   IF(EC EQ 107) GOTO 34     *IF ERROR CODE 0A047                        FMD
   B2=50                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 110) GOTO 34     *IF ERROR CODE 0A048                        FMD
   B2=51                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 111) GOTO 32     *IF ERROR CODE 0A049                        FMD
   B2=52                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 112) GOTO 32     *IF ERROR CODE 0A04A                        FMD
   B2=53                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 113) GOTO 36     *IF ERROR CODE 0A04B                        FMD
   B2=54                     *SET INFORMATION FLAG FOR ERROR             FMD
   GOTO 34                   *ERROR CODE 0A04C                           FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0A049 AND 0A04A.                           FMD
*                                                                        FMD
32 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0A047 AND 0A048.                           FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0A04B AND 0A04C.                           FMD
*                                                                        FMD
36 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC NE 107) GOTO 60     *IF NOT ERROR CODE 0A047                    FMD
   MSG 27 (B3) TO LINE 7     *DISPLAY STATUS WORD                        FMD
60 PASS                                                                  FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 96S  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96S,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96S,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96S,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96S - PROCESS ISOLATION INFORMATION FOR TEST A.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD96S - PROCESS ISOLATION INFORMATION FOR TEST A.
*ENDIF
*IF DEF,LSFMD 
*         FLD96S - PROCESS ISOLATION INFORMATION FOR TEST A.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD96S PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD61 THROUGH FMD69 FOR         FMD
*ENDIF
*IF DEF,PFMD
*         FHD96S PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD61 THROUGH FHD69 FOR
*ENDIF
*IF DEF,LSFMD 
*         FLD96S PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD61 THROUGH FLD69 FOR
*ENDIF
*         ISOLATION NUMBERS 1 THROUGH 24 OCTAL.                          FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO OR THREE OR FOUR LINE MESSAGE WILL BE APPENDED ONE LINE  FMD
*         AFTER THE END OF THE ERROR MESSAGE FOR ISOLATION NUMBERS 1     FMD
*         THROUGH 24 OCTAL. EXIT WILL BE MADE TO THE NEXT ISOLATION      FMD
*IF DEF,SFMD
*         MODULE (FMD96T).                                               FMD
*ENDIF
*IF DEF,PFMD
*         MODULE (FHD96T).
*ENDIF
*IF DEF,LSFMD 
*         MODULE (FLD96T).
*ENDIF
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         B0 REGISTER - DESTROYED.                                       FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*IF DEF,SFMD
*         EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE (FMD96T).       FMD
*ENDIF
*IF DEF,PFMD
*         EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE (FHD96T).
*ENDIF
*IF DEF,LSFMD 
*         EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE (FLD96T).
*ENDIF
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
0  FORMAT REPLACE PWBS ONE AT A TIME IN THE FOLLOWING                    FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
6  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.              FMD14
*                                                                        FMD
/         ERROR MESSAGE 0A005 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
10 FORMAT RE-RUN TEST 8 AND 9.                                           FMD
*                                                                        FMD
/         ERROR MESSAGE 0A025 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
11 FORMAT RERUN TEST 9. ADDRESS FIELD DATA MAY HAVE BEEN
12 FORMAT DESTROYED BY CREATING FAULTS. 
*                                                                        FMD
/         ERROR MESSAGE 0A046 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
13 FORMAT IF SPINDLE POWERED DOWN, REPLACE A/B31, A/B32 AND              FMD
14 FORMAT A/B40. CHECK AIR SWITCH IF PACK IS SPINNING.                   FMD
15 FORMAT REPLACE PWBS ONE AT A TIME IN THE FOLLOWING ORDER              FMD
16 FORMAT - A/B27, A/B38, A/B31, A/B32                                   FMD
*                                                                        FMD
/         ERROR MESSAGE 0A047 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
17 FORMAT IF SPINDLE IS POWERED DOWN REPLACE A/B31 AND                   FMD
20 FORMAT A/B32. IF SPINDLE IS NOT POWERED DOWN REPLACE                  FMD
21 FORMAT A/B27 AND A/B31.                                               FMD
22 FORMAT RE-ADJUST SERVO AFTER EACH BOARD REPLACEMENT.                  FMD
23 FORMAT POSSIBLE SERV0 ERROR. GO TO TABLE 3-1 IN                       FMD
24 FORMAT TROUBLESHOOTING GUIDE.                                         FMD
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
*                                                                        FMD
30 B1=B1+2                   *INSERT BLANK LINE                          FMD
   B0=10                     *MESSAGE FORMAT NUMBER                      FMD
   IF(B2 EQ 1) GOTO 46       *IF ISOLATION NUMBER 1                      FMD
   B0=11                     *MESSAGE FORMAT NUMBER                      FMD
   IF(B2 EQ 2) GOTO 44       *IF ISOLATION NUMBER 2                      FMD
   B0=13                     *MESSAGE FORMAT NUMBER                      FMD
   IF(B2 EQ 3) GOTO 40       *IF ISOLATION NUMBER 3                      FMD
   B0=17                     *MESSAGE FORMAT NUMBER                      FMD
   IF(B2 EQ 4) GOTO 42       *IF ISOLATION NUMBER 4                      FMD
   IF(EC NE 77) GOTO 32      *IF NOT ERROR CODE 0A037                    FMD
   MSG 23 TO LINE B1         *FIRST LINE OF THE MESSAGE                  FMD
   MSG 24 TO LINE B1+1       *FIRST LINE OF THE MESSAGE                  FMD
   B1=B1+2                   *INCREMENT DISPLAY NUMBER                   FMD
32 MSG 0 TO LINE B1          *BOARDS MSG TO NEXT LINE                    FMD
   B1=B1+1                   *INCREMENT DISPLAY NUMBER                   FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A001.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 5) MSG 3(20D,21D,03D)TO LINE B1                              FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 5) MSG 3(20D,21D,02D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 5) MSG 3(20D,21D,03D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A002.                         FMD
*                                                                        FMD
   IF(B2 EQ 6) MSG 4(22D,23D,21D,20D)TO LINE B1                          FMD
   IF(B2 NE 7) GOTO 34       *IF NOT ISOLATION NUMBER 7                  FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0A003, 0A004,                 FMD
/         AND 0A03F.                                                     FMD
   MSG 4(37D,39D,36D,35D)TO LINE B1                                      FMD
   IF(EC EQ 77)MSG 23 TO LINE B1+1  *IF ERROR CODE 0A03F                 FMD
   IF(EC EQ 77)MSG 24 TO LINE B1+2                                       FMD
   IF(EC NE 77)MSG 22 TO LINE B1+1  *ERROR CODE 03 OR 04                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0A00C, 0A012,
/         AND 0A03E.
*                                                                        FMD
34 IF(B2 EQ 10) MSG 3(24D,23D,21D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0A007, 0A009,                 FMD
/         AND 0A00A.                                                     FMD
*                                                                        FMD
   IF(B2 EQ 11) MSG 2(27D,24D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0A008, 0A00E,                 FMD
/         AND 0A016.                                                     FMD
*                                                                        FMD
   IF(B2 EQ 12) MSG 3(24D,22D,32D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0A00B AND 0A010.              FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 13) MSG 6(23D,26D,22D,15D,16D,28D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 13) MSG 6(23D,26D,22D,29D,30D,28D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 13) MSG 6(23D,26D,22D,15D,16D,28D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0A00D, 0A014,                 FMD
/         AND 0A01A.                                                     FMD
*                                                                        FMD
   IF(B2 EQ 14) MSG 3(24D,27D,23D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0A00F AND 0A015.              FMD
*                                                                        FMD
   IF(B2 EQ 15) MSG 3(26D,24D,23D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A011.                         FMD
*                                                                        FMD
   IF(B2 EQ 16) MSG 3(23D,35D,34D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A013.                         FMD
*                                                                        FMD
   IF(B2 EQ 17) MSG 3(23D,24D,27D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A017.                         FMD
*                                                                        FMD
   IF(B2 EQ 20) MSG 3(24D,33D,23D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A018.                         FMD
*                                                                        FMD
   IF(B2 EQ 21) MSG 2(33D,34D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A019.                         FMD
*                                                                        FMD
   IF(B2 EQ 22) MSG 6(33D,23D,27D,24D,26D,34D)TO LINE B1                 FMD14
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR OAO1B.                         FMD
*                                                                        FMD
   IF(B2 EQ 23) MSG 3(33D,27D,34D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0A01C AND 0A021.              FMD
*                                                                        FMD
   IF(B2 EQ 24) MSG 3(24D,22D,23D)TO LINE B1                             FMD
   EXIT TO 96T               *EXIT TO NEXT ISOLATION MODULE              FMD
40 MSG B0 TO LINE B1         *MOVE MESSAGE TO ERROR DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCPEMENT LINE NUMBER                      FMD
42 MSG B0 TO LINE B1         *MOVE MESSAGE TO ERROR DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCPEMENT LINE NUMBER                      FMD
44 MSG B0 TO LINE B1         *MOVE MESSAGE TO ERROR DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCPEMENT LINE NUMBER                      FMD
46 MSG B0 TO LINE B1         *MOVE MESSAGE TO ERROR DISPLAY              FMD
   EXIT TO 96T               *EXIT TO NEXT ISOLATION MODULE              FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96T,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96T,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96T,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96T - PROCESS ISOLATION INFORMATION FOR TEST A.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD96T - PROCESS ISOLATION INFORMATION FOR TEST A.
*ENDIF
*IF DEF,LSFMD 
*         FLD96T - PROCESS ISOLATION INFORMATION FOR TEST A.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD96T PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD61 THROUGH FMD69 FOR         FMD
*         ISOLATION NUMBERS 25 THROUGH 54 OCTAL.                         FMD
*ENDIF
*IF DEF,PFMD
*         FHD96T PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD61 THROUGH FHD69 FOR
*         ISOLATION NUMBERS 25 THROUGH 52 OCTAL.
*ENDIF
*IF DEF,LSFMD 
*         FLD96T PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD61 THROUGH FLD69 FOR
*         ISOLATION NUMBERS 25 THROUGH 54 OCTAL.
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO OR THREE OR FOUR LINE MESSAGE WILL BE APPENDED ONE LINE  FMD
*         AFTER THE END OF THE ERROR MESSAGE FOR ISOLATION NUMBERS 25    FMD06
*IF DEF,SFMD
*         THROUGH 54 OCTAL. THE ERROR MESSAGE WILL THEN BE DISPLAYED.    FMD
*ENDIF
*IF DEF,PFMD
*         THROUGH 52 OCTAL. THE ERROR MESSAGE WILL THEN BE DISPLAYED. 
*ENDIF
*IF DEF,LSFMD 
*         THROUGH 54 OCTAL. THE ERROR MESSAGE WILL THEN BE DISPLAYED. 
*ENDIF
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         B0 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*ENDIF
*IF DEF,PFMD
*         B1 REGISTER - DISPLAY LINE NUMBER.
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO 
*                       BE APPENDED TO THE ERROR MESSAGE. 
*         EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE (FHD960).
*ENDIF
*IF DEF,LSFMD 
*         B1 REGISTER - DISPLAY LINE NUMBER 
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO 
*                       BE APPENDED TO THE ERROR MESSAGE. 
*ENDIF
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         NONE REQUIRED.                                                 FMD
*ENDIF
*IF DEF,PFMD
*         FHD960 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         NONE REQUIRED.
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
6  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.              FMD
7  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D,              FMD
10 FORMAT         A/B*D, A/B*D, A/B*D.
11 FORMAT         A/B*D, DECK BOARDS. 
12 FORMAT         A/B*D, A/B*D. 
13 FORMAT ORDER - A/B*D, A/B*D, DECK BOARDS.                             FMD
14 FORMAT ORDER - DECK BOARDS, A/B*D, A/B*D.                             FMD
*IF DEF,SFMD
15 FORMAT ORDER - DECK BOARDS, A/B*D, A/B*D, A/B*D.                      FMD
*ENDIF
*IF DEF,PFMD
15 FORMAT ORDER - DECK BOARDS, A/B*D, A/B*D, A/B*D, A/B*D,
*ENDIF
*IF DEF,LSFMD 
15 FORMAT ORDER - DECK BOARDS, A/B*D, A/B*D, A/B*D. 
*ENDIF
20 FORMAT RE-ADJUST SERVO AFTER EACH BOARD REPLACEMENT.                  FMD
21 FORMAT VERIFY READ ONLY SWITCH IS NOT ACTIVATED.                      FMD
22 FORMAT RE-RUN TEST.                                                   FMD
24 FORMAT RE-ADJUST SERVO AFTER REPLACING A/B38 AND A/B40.               FMD
25 FORMAT CHECK FOR LOOSE POWER SEQ CABLE.                               FMD
26 FORMAT POSSIBLE SERVO ERROR. GO TO TABLE 3-1 IN                       FMD
27 FORMAT TROUBLESHOOTING GUIDE.                                         FMD
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A020.                         FMD
*                                                                        FMD
*IF DEF,SFMD
30 IF(B2 EQ 25) MSG 7(16D,24D,27D,22D,15D,23D)TO LINE B1
*ENDIF
*IF DEF,PFMD
30 IF(B2 EQ 25) MSG 7(30D,24D,27D,22D,29D,23D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
30 IF(B2 EQ 25) MSG 7(16D,24D,27D,22D,15D,23D)TO LINE B1
*ENDIF
   IF(B2 EQ 25) MSG 11(28D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A027.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 26) MSG 13(16D,24D) TO LINE B1                               FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 26) MSG 13(30D,24D) TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 26) MSG 13(16D,24D) TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0A030 AND 0A031.              FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 27) MSG 7(23D,22D,02D,21D,15D,16D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 27) MSG 7(23D,22D,01D,21D,29D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 27) MSG 7(23D,22D,02D,21D,15D,16D)TO LINE B1
*ENDIF
   IF(B2 EQ 27) MSG 12(28D,20D)TO LINE B1+1 
   IF(B2 NE 30) GOTO 32      *IF NOT ISOLATION NUMBER 30                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0A032, 0A033,                 FMD
/         AND 0A034.                                                     FMD
*                                                                        FMD
*IF DEF,SFMD
   MSG 7(33D,34D,37D,39D,22D,15D)TO LINE B1 
   MSG 10(16D,23D,28D)TO LINE B1+1
*ENDIF
*IF DEF,PFMD
   MSG 7(33D,34D,37D,39D,22D,29D)TO LINE B1 
   MSG 10(30D,23D,28D)TO LINE B1+1
*ENDIF
*IF DEF,LSFMD 
   MSG 7(33D,34D,37D,39D,22D,15D)TO LINE B1 
   MSG 10(16D,23D,28D)TO LINE B1+1
*ENDIF
   MSG 20 TO LINE B1+2
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A035.                         FMD
*                                                                        FMD
*IF DEF,SFMD
32 IF(B2 EQ 31) MSG 4(16D,24D,15D,23D)TO LINE B1                         FMD
*ENDIF
*IF DEF,PFMD
32 IF(B2 EQ 31) MSG 4(30D,24D,29D,23D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
32 IF(B2 EQ 31) MSG 4(16D,24D,15D,23D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A036.                         FMD
*                                                                        FMD
   IF(B2 EQ 32) MSG 3(38D,28D,40D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A037.                         FMD
*                                                                        FMD
   IF(B2 EQ 33) MSG 2(24D,21D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A038.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 34) MSG 15(16D,21D,07D)TO LINE B1                            FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 34) MSG 15(30D,21D,04D,08D)TO LINE B1 
   IF(B2 EQ 34) MSG 12(12D,16D)TO LINE B1+1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 34) MSG 15(16D,21D,07D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A039.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 35) MSG 14(16D,24D)TO LINE B1                                FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 35) MSG 14(30D,24D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 35) MSG 14(16D,24D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A03A.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 36) MSG 13(16D,15D)TO LINE B1                                FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 36) MSG 13(30D,29D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 36) MSG 13(16D,15D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A03B.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 37) MSG 2(24D,16D)TO LINE B1                                 FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 37) MSG 2(24D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 37) MSG 2(24D,16D)TO LINE B1
*ENDIF
   IF(B2 NE 40) GOTO 34      *IF NOT ISOLATION NUMBER 40                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A03C.                         FMD
*                                                                        FMD
   MSG 3(24D,31D,34D)TO LINE B1                                          FMD
   B0 = 21
   GOTO 45
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A03D.                         FMD
*                                                                        FMD
34 IF(B2 EQ 41) MSG 4(24D,23D,22D,21D)TO LINE B1                         FMD
   IF(B2 NE 42) GOTO 36      *IF NOT ISOLATION NUMBER 42                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A040.                         FMD
*                                                                        FMD
   MSG 2(24D,23D)TO LINE B1                                              FMD
   GOTO 37
36 IF(B2 NE 43) GOTO 40      *IF NOT ISOLATION NUMBER 43                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A041.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   MSG 6(23D,22D,15D,16D,28D,20D)TO LINE B1 
*ENDIF
*IF DEF,PFMD
   MSG 6(23D,22D,29D,30D,28D,20D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   MSG 6(23D,22D,15D,16D,28D,20D)TO LINE B1 
*ENDIF
37 B0 = 22
   GOTO 45
40 IF(B2 NE 44) GOTO 42      *IF NOT ISOLATION NUMBER 44                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A042.                         FMD
*                                                                        FMD
   MSG 4(28D,38D,39D,40D)TO LINE B1                                      FMD
   MSG 27 TO LINE B1+2                                                   FMD
   B0 = 26
   GOTO 45
42 IF(B2 NE 45) GOTO 44      *IF NOT ISOLATION NUMBER 45                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A043.                         FMD
*                                                                        FMD
   MSG 3(28D,38D,40D)TO LINE B1                                          FMD
   B0 = 24
   GOTO 45
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A044.                         FMD
*                                                                        FMD
44 IF(B2 EQ 46) MSG 3(31D,32D,40D)TO LINE B1                             FMD
   IF(B2 NE 47) GOTO 46      *IF NOT ISOLATION NUMBER 47                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A045.                         FMD
*                                                                        FMD
   MSG 3(27D,32D,31D)TO LINE B1                                          FMD
   B0 = 25
45 MSG B0 TO LINE B1+1
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A048.                         FMD
*                                                                        FMD
46 IF(B2 EQ 50) MSG 2(27D,23D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A049.                         FMD
*                                                                        FMD
   IF(B2 EQ 51) MSG 4(38D,34D,23D,27D)TO LINE B1                         FMD15
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A04A.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 52) MSG 7(34D,27D,22D,15D,16D,23D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 52) MSG 7(34D,27D,22D,29D,30D,23D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 52) MSG 7(34D,27D,22D,15D,16D,23D)TO LINE B1
*ENDIF
   IF(B2 EQ 52) MSG 12(28D,20D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A04B.                         FMD
*                                                                        FMD
   IF(B2 EQ 53) MSG 3(34D,33D,23D)TO LINE B1                             FMD
*IF DEF,SFMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0A04C.                         FMD
*                                                                        FMD
   IF(B2 EQ 54) MSG 2(34D,33D)TO LINE B1                                 FMD
* 
/         ISOLATION INFORMATION FOR ERROR 0A006.
* 
   IF(B2 EQ 55) MSG 4(24D,23D,21D,26D) TO LINE B1 
*                                                                        FMD
/         DISPLAY ERROR MESSAGE AND STOP ON THE ERROR.                   FMD
*                                                                        FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
*ENDIF
*IF DEF,PFMD
   EXIT TO 960               *EXIT TO NEXT ISOLATION MODULE 
*ENDIF
*IF DEF,LSFMD 
* 
/         ISOLATION INFORMATION FOR ERROR 0A04C.
* 
   IF(B2 EQ 54) MSG 2(34D,33D)TO LINE B1
* 
/         ISOLATION INFORMATION FOR ERROR 0A006.
* 
   IF(B2 EQ 55) MSG 4(24D,23D,21D,26D) TO LINE B1 
* 
/         DISPLAY ERROR MESSAGE AND STOP ON THE ERROR.
* 
   PICTURE                  *DISPLAY ERROR INFORMATION
   HALT                     *STOP ON ERROR
   BLANK                    *CLEAR ERROR DISPLAY
   EXIT                     *EXIT THE MODULE
*ENDIF
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96U,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96U,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96U,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96U - PROCESS ERRORS FOR TEST B.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD96U - PROCESS ERRORS FOR TEST B. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96U - PROCESS ERRORS FOR TEST 8. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0B000, 0B001, 0B002,   FMD06
*         0B003, 0B004, AND 0B005.                                       FMD03
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE FIRST THREE LINES FOR THE ERROR DISPLAY WILL BE PLACED IN  FMD
*         THE DISPLAY BUFFER.  IF THE ERROR CODE NUMBER IN THE EC        FMD
*         REGISTER IS A PRODUCT OVERLAY ERROR CODE, THE MODULE WILL EXIT FMD
*IF DEF,SFMD
*         TO THE FMD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE FMD
*ENDIF
*IF DEF,PFMD
*         TO THE FHD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*IF DEF,LSFMD 
*         TO THE FLD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*         ERROR. THE ERROR CODE LINE WILL BE PLACED IN THE DISPLAY       FMD
*         BUFFER.  THE ERROR DISPLAY WILL BE BUILT FOR ERROR CODES 00,   FMD
*         01, 02, 03, 04, AND 05.                                        FMD03
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, A TWO OR THREE   FMD
*         LINE MESSAGE WILL BE APPENDED ONE LINE AFTER THE END OF THE    FMD
*         ERROR MESSAGE.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98B -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98B - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98B - 
*ENDIF
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         THE FIRST THREE LINES OF THE ERROR DISPLAY PLACED IN THE       FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CALLING MODULE NUMBER.                           FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         IB(00-07) - BUILD GENERAL STATUS DISPLAY.                      FMD
*                                                                        FMD
*IF DEF,SFMD
0  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
1  FORMAT FMD70 - SERVO TEST                                             FMD
2  FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD05
3  FORMAT FMD*D - LINE *OCT ERROR CODE 0B*HE                             FMD
*ENDIF
*IF DEF,PFMD
0  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FHD70 - SERVO TEST
2  FORMAT PRESERVICE FORECAST GROUP FHDD
3  FORMAT FHD*D - LINE *OCT ERROR CODE 0B*HE
*ENDIF
*IF DEF,LSFMD 
0  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FLD70 - SERVO TEST
2  FORMAT PRESERVICE FORECAST GROUP FMDD
3  FORMAT FLD*D - LINE *OCT ERROR CODE 0B*HE
*ENDIF
*                                                                        FMD
/         ERROR MESSAGE 0B000.                                           FMD
*                                                                        FMD
4  FORMAT SELECT AND RESERVE WAS NOT ACTIVE AFTER DROPPING               FMD
5  FORMAT AND RAISING SELECT.                                            FMD
*                                                                        FMD
/         ERROR MESSAGE 0B001.                                           FMD
*                                                                        FMD
6  FORMAT ON CYL DID NOT COME ACTIVE AFTER AN RTZ COMMAND.               FMD
*                                                                        FMD
/         ERROR MESSAGE 0B002.                                           FMD
*                                                                        FMD
7  FORMAT READY AND SAFE WAS NOT ACTIVE.                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0B003.                                           FMD
*                                                                        FMD
10 FORMAT ON CYL WAS NOT ACTIVE AFTER A SEEK CMD.                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0B000 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
11 FORMAT RERUN TESTS 1 THRU 0A.                                         FMD
*                                                                        FMD
/         ERROR MESSAGE 0B001 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
12 FORMAT EXAMINE STATUS FOR TYPE OF ERROR AND RERUN TESTS               FMD
13 FORMAT 1 THRU 0A.                                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 0B002 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
14 FORMAT EXAMINE STATUS FOR TYPE OF READY AND SAFE FAILURE              FMD
15 FORMAT AND RERUN TESTS 1 THRU 0A.                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 0B003 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
16 FORMAT EXAMINE STATUS WORDS AND RERUN TESTS 1 THRU 0A.                FMD
*                                                                        FMD03
/         ERROR MESSAGE 0B004.                                           FMD03
*                                                                        FMD03
17 FORMAT ACCESS TIME CHECK WAS LOW (AVERAGE ACCESS TIME IS              FMD03
20 FORMAT HIGH). TIME = *DECD USEC
*                                                                        FMD03
/         ERROR MESSAGE 0B005.                                           FMD03
*                                                                        FMD03
21 FORMAT ACCESS TIME CHECK WAS HIGH (AVERAGE ACCESS TIME IS             FMD03
22 FORMAT LOW). TIME = *DECD USEC 
*                                                                        FMD03
/         ERROR MESSAGES 0B004 AND 0B005 ISOLATION                       FMD03
/         INFORMATION.                                                   FMD03
*                                                                        FMD03
23 FORMAT GO TO TABLE 3-1 IN TROUBLESHOOTING GUIDE.                      FMD03
*                                                                        FMD
/         STATUS DISPLAY LINES.                                          FMD
*                                                                        FMD
26 FORMAT DRIVE STATUS WORDS                                             FMD
27 FORMAT 0=*H  1=*H  2=*H  3=*H  4=*H  5=*H  6=*H  7=*H                 FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 MSG 0 TO LINE 1           *DIAGNOSTIC TITLE MESSAGE                   FMD
   B1=B0-69D                 *CALL MODULE NAME MESSAGE                   FMD
   MSG B1 TO LINE 2          *MODULE NUMBER AND NAME MESSAGE             FMD
   MSG 2 TO LINE 3           *PRESERVICE FORECAST MESSAGE                FMD05
   IF(EC GT 3777) EXIT TO 98B  *IF PRODUCT OVERLAY ERROR                 FMD
   MSG 3 (B0,EA,EC) TO LINE 5  *ERROR CODE TO DISPLAY                    FMD
   B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   IF(EC EQ 0) GOTO 32       *IF ERROR CODE 0B000                        FMD03
   IF(EC EQ 4) GOTO 32       *IF ERROR CODE 0B004                        FMD03
   IF(EC NE 5) GOTO 34       *IF NOT ERROR CODE 0B005                    FMD03
*                                                                        FMD
/         PROCESS ERROR CODES 0B000, 0B004, AND 0B005.                   FMD03
*                                                                        FMD
32 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD03
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   IF(EC.EQ.0) GOTO 34       *IF ERROR CODE 0B000 
   MSG B0(B10) TO LINE B1    *ADD IN AVE SEEK TIME
   GOTO 35
*                                                                        FMD
/         PROCESS ERROR CODES 0B001, 0B002, AND 0B003.                   FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD03
35 IF(P4.AND.ENISO.EQ.0) GOTO 42   *IF ISOLATION DISABLED 
   B1=B1+2                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B0=23                     *ERROR CODES 0B004 AND 0B005                FMD03
   IF(EC EQ 0)B0=11          *IF ERROR CODE 0B000                        FMD
   IF(EC EQ 1)B0=12          *IF ERROR CODE 0B001                        FMD
   IF(EC EQ 2)B0=14          *IF ERROR CODE 0B002                        FMD
   IF(EC EQ 3)B0=16          *IF ERROR CODE 0B003                        FMD
   IF(EC EQ 1) GOTO 36       *IF ERROR CODE 0B001                        FMD03
   IF(EC NE 2) GOTO 40       *IF NOT ERROR CODE 0B002                    FMD03
36 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD03
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD03
42 IF(EC EQ 0) GOTO 50       *IF ERROR CODE 0B000                        FMD03
   IF(EC EQ 4) GOTO 50       *IF ERROR CODE 0B004                        FMD03
   IF(EC EQ 5) GOTO 50       *IF ERROR CODE 0B005                        FMD03
*                                                                        FMD
/         PLACE DRIVE STATUS IN IB AND DISPLAY THE STATUSES.             FMD
*                                                                        FMD
   B0=SB(7) AND 17 LS 4      *ASSEMBLE STATUS WORD 0                     FMD
   IB=SB(8) RS 8 XOR B0      *SAVE STATUS WORD 0                         FMD
   IB(1)=SB(8) AND 377       *SAVE STATUS WORD 1                         FMD
   B0=SB(9) AND 17 LS 4      *ASSEMBLE STATUS WORD 2                     FMD
   IB(2)=SB(12) RS 8 XOR B0  *SAVE STATUS WORD 2                         FMD
   IB(3)=SB(12) AND 377      *SAVE STATUS WORD 3                         FMD
   IB(4)=SB(2) AND 377       *SAVE STATUS WORD 4                         FMD
   IB(5)=SB(13) RS 4         *SAVE STATUS WORD 5                         FMD
   B0=SB(13) AND 17 LS 4     *ASSEMBLE STATUS WORD 6                     FMD
   IB(6)=SB(14) RS 8 XOR B0  *SAVE STATUS WORD 6                         FMD
   IB(7)=SB(14) AND 377      *SAVE STATUS WORD 7                         FMD
   MSG 26 TO LINE 7          *DISPLAY STATUS LINE                        FMD
   MSG 27 10 WORDS FROM IB TO LINE 10  *DISPLAY STATUS                   FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96V,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD96V,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96V,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD96V - PROCESS ERRORS FOR TEST C.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD96V - PROCESS ERRORS FOR TEST C. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96V - PROCESS ERRORS FOR TEST C. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0C000, 0C001, 0C002,   FMD06
*         0C003, 0C004, AND 0C005.                                       FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE FIRST THREE LINES FOR THE ERROR DISPLAY WILL BE PLACED IN  FMD
*         THE DISPLAY BUFFER.  IF THE ERROR CODE NUMBER IN THE EC        FMD
*         REGISTER IS A PRODUCT OVERLAY ERROR CODE, THE MODULE WILL EXIT FMD
*IF DEF,SFMD
*         TO THE FMD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE FMD
*ENDIF
*IF DEF,PFMD
*         TO THE FHD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*IF DEF,LSFMD 
*         TO THE FLD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*         ERROR. THE ERROR CODE LINE WILL BE PLACED IN THE DISPLAY       FMD
*         BUFFER. THE ERROR MESSAGE DISPLAY WILL BE BUILT FOR ERROR      FMD
*         CODES 00, 01, 02, 03, 04, AND 05.                              FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98B -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98B - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98B - 
*ENDIF
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         THE FIRST THREE LINES OF THE ERROR DISPLAY PLACED IN THE       FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*ENDIF
*IF DEF,LSFMD 
*         FLD8B - PROCESS PRODUCT OVERLAY ERRORS
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CALLING MODULE NUMBER.                           FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - CYLINDER NUMBER.                                FMD
*         B11 REGISTER - TRACK NUMBER.                                   FMD
*         B12 REGISTER - SECTOR NUMBER.                                  FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(00-24) - GENERAL AND DETAILED STATUS.                       FMD
*                                                                        FMD
*IF DEF,SFMD
0  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
1  FORMAT FMD71 - RESONANCE TEST 1                                       FMD
2  FORMAT FMD72 - RESONANCE TEST 2                                       FMD
3  FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD05
4  FORMAT FMD*D - LINE *OCT ERROR CODE 0C*HE                             FMD
*ENDIF
*IF DEF,PFMD
0  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FHD71 - RESONANCE TEST 1
2  FORMAT FHD72 - RESONANCE TEST 2
3  FORMAT PRESERVICE FORECAST GROUP FHDD
4  FORMAT FHD*D - LINE *OCT ERROR CODE 0C*HE
*ENDIF
*IF DEF,LSFMD 
0  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FLD71 - RESONANCE TEST 1
2  FORMAT FLD72 - RESONANCE TEST 2
3  FORMAT PRESERVICE FORECAST GROUP FMDD
4  FORMAT FLD*D - LINE *OCT ERROR CODE 0C*HE
*ENDIF
*                                                                        FMD
/         ERROR MESSAGE 0C000.                                           FMD
*                                                                        FMD
5  FORMAT SELECT AND RESERVE NOT ACTIVE AFTER DROPPING AND               FMD
6  FORMAT RAISING SELECT.                                                FMD
*                                                                        FMD
/         ERROR MESSAGE 0C001.                                           FMD
*                                                                        FMD
7  FORMAT READY AND SAFE NOT ACTIVE.                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 0C002.                                           FMD
*                                                                        FMD
10 FORMAT STATUS VALID NOT RETURNED FROM DEVICE AFTER A                  FMD
11 FORMAT NORMAL CMD.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 0C003.                                           FMD
*                                                                        FMD
12 FORMAT ON CYL DID NOT COME ACTIVE AFTER AN RTZ CMD.                   FMD
*                                                                        FMD
/         ERROR MESSAGE 0C004.                                           FMD
*                                                                        FMD
13 FORMAT ON CYL NOT ACTIVE ISSUING A SEEK CMD.                          FMD
*                                                                        FMD
/         ERROR MESSAGE 0C005.                                           FMD
*                                                                        FMD
14 FORMAT ADDRESS FIELD ERROR.                                           FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
22 FORMAT CYLINDER = *OCT, TRACK = *OCT, SECTOR = *OCT                   FMD
23 FORMAT                  WORD   DETAILED STATUS (OCTAL)                FMD
24 FORMAT  GENERAL STATUS   01D   *OCT *OCT *OCT *OCT *OCT               FMD
25 FORMAT  = *OCTB          06D   *OCT *OCT *OCT *OCT *OCT               FMD
26 FORMAT                   11D   *OCT *OCT *OCT *OCT *OCT               FMD
27 FORMAT                   16D   *OCT *OCT *OCT *OCT *OCT               FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 MSG 0 TO LINE 1           *DIAGNOSTIC TITLE MESSAGE                   FMD
   B1=B0-70D                 *CALL MODULE NAME MESSAGE                   FMD
   MSG B1 TO LINE 2          *MODULE NUMBER AND NAME MESSAGE             FMD
   MSG 3 TO LINE 3           *PRESERVICE FORECAST MESSAGE                FMD05
   IF(EC GT 3777) EXIT TO 98B  *IF PRODUCT OVERLAY ERROR                 FMD
   MSG 4(B0,EA,EC) TO LINE 5  *ERROR CODE TO DISPLAY                     FMD
   B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   IF(EC EQ 0) GOTO 34       *IF ERROR CODE 0C000                        FMD
   IF(EC EQ 1) GOTO 36       *IF ERROR CODE 0C001                        FMD
   IF(EC EQ 2) GOTO 34       *IF ERROR CODE 0C002                        FMD
   IF(EC EQ 3) GOTO 36       *IF ERROR CODE 0C003                        FMD
   IF(EC EQ 4) GOTO 36       *IF ERROR CODE 0C004                        FMD
   GOTO 36                   *ERROR CODE 0C005                           FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0C000 AND 0C002.                           FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0C001, 0C003, 0C004, AND                   FMD
/         0C005.                                                         FMD
*                                                                        FMD
36 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC NE 5)GOTO 40        *IF NOT ERROR CODE 0C005                    FMD
   MSG 22 (B10,B11,B12) TO LINE 7  *DISPLAY DISK ADDRESS                 FMD
*                                                                        FMD
/         DISPLAY GENERAL AND DETAILED STATUS.                           FMD
*                                                                        FMD
40 IF(EC NE 0)GOTO 44        *IF ERROR CODE 0C000                        FMD
   MSG 23 TO LINE B0+2                                                   FMD
   MSG 24 5 WORDS FROM SB(1) TO LINE B0+3                                FMD
   MSG 25 (SB,SB(6),SB(7),SB(8),SB(9),SB(12)) TO LINE B0+4               FMD
   MSG 26 5 WORDS FROM SB(13) TO LINE B0+5                               FMD
   MSG 27 5 WORDS FROM SB(20) TO LINE B0+6                               FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
44 PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96W,FMDHT,(07),LOCK
*ENDIF
*IF DEF,PFMD
   MODULE FHD96W,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96W,LSFMD1,(16),LOCK 
*ENDIF
**
*IF DEF,SFMD
*         FMD96W - PROCESS ISOLATION INFORMATION FOR TEST 2.
*ENDIF
*IF DEF,PFMD
*         FHD96W - PROCESS ISOLATION INFORMATION FOR TEST 2.
*ENDIF
*IF DEF,LSFMD 
*         FLD96W - PROCESS ISOLTION INFORMATION FOR TEST 2. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD96W PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FMD98M, FMD98N, FMD98O, FMD98P, FMD
*         AND FMD98Q.                                                    FMD
*ENDIF
*IF DEF,PFMD
*         FHD96W PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD98M, FHD98N, FHD98O, FHD98P,
*         AND FHD98Q. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96W PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD98M, FLD98O, FLD98P, FLD98N,
*         AND FLD98Q. 
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO LINE MESSAGE WILL BE APPENDED ONE LINE AFTER THE END OF  FMD
*         THE ERROR MESSAGE.                                             FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
0  FORMAT REPLACE PWBS ONE AT A TIME IN THE FOLLOWING                    FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
5  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.                     FMD
6  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.              FMD
7  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D,              FMD
10 FORMAT         A/B*D.                                                 FMD
11 FORMAT ORDER - A/B*D (CH.I), A/B*D (CH.II),A/B*D, A/B*D,              FMD03
12 FORMAT         A/B*D, A/B*D.                                          FMD14
13 FORMAT         A/B*D, A/B*D, A/B*D.
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
*                                                                        FMD
30 PASS 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 02036.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 32) MSG 4(23D,20D,24D,16D)TO LINE B1                         FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 32) MSG 4(23D,20D,24D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 32) MSG 4(23D,20D,24D,16D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 02037 AND 02038.              FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 33) MSG 7(23D,22D,21D,02D,04D,15D)TO LINE B1
   IF(B2 EQ 33) MSG 13(16D,28D,20D)TO LINE B1+1 
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 33) MSG 7(23D,22D,21D,01D,03D,29D)TO LINE B1
   IF(B2 EQ 33) MSG 13(30D,28D,20D)TO LINE B1+1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 33) MSG 7(23D,22D,21D,02D,04D,15D)TO LINE B1
   IF(B2 EQ 33) MSG 13(16D,28D,20D)TO LINE B1+1 
*ENDIF
*                                                                        FMD03
/         ISOLATION INFORMATION FOR ERROR 02039.                         FMD03
*                                                                        FMD03
   IF(B2 NE 34)GOTO 44             *IF NOT ERROR CODE 02039              FMD03
*IF DEF,SFMD
   MSG 11(02D,04D,21D,22D)TO LINE B1                                     FMD03
*ENDIF
*IF DEF,PFMD
   MSG 11(01D,03D,21D,22D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   MSG 11(02D,04D,21D,22D)TO LINE B1
*ENDIF
   MSG 10(23D)TO LINE B1+1                                               FMD03
*                                                                        FMD03
/         ISOLATION INFORMATION FOR ERROR 0203A.                         FMD03
*                                                                        FMD03
44 IF(B2 EQ 35) MSG 2(22D,23D)TO LINE B1                                 FMD03
*                                                                        FMD14
/         ISOLATION INFORMATION FOR ERROR 02001.                         FMD14
*                                                                        FMD14
   IF(B2 EQ 36) MSG 3(22D,23D,26D)TO LINE B1                             FMD14
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD96X,FMDHT,(07),LOCK
*ENDIF
*IF DEF,PFMD
   MODULE FHD96X,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD96X,LSFMD1,(16),LOCK 
*ENDIF
**
*IF DEF,SFMD
*         FMD96X - PROCESS ISOLATION INFORMATION FOR TEST 4.
*ENDIF
*IF DEF,PFMD
*         FHD96X - PROCESS ISOLATION INFORMATION FOR TEST 4.
*ENDIF
*IF DEF,LSFMD 
*         FLD96X - PROCESS ISOLATION INFORMATION FOR TEST 4.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD96X PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FMD984 THROUGH FMD97C.          FMD
*ENDIF
*IF DEF,PFMD
*         FHD96X PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD984 THROUGH FHD97C. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96X PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD984 THROUGH FLD97C. 
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO OR THREE LINE MESSAGE WILL BE APPENDED ONE LINE AFTER    FMD
*         THE END OF THE ERROR MESSAGE.                                  FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
5  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.                     FMD
6  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.              FMD
7  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D,              FMD
10 FORMAT         A/B*D.                                                 FMD
11 FORMAT         A/B*D, A/B*D.                                          FMD
12 FORMAT         A/B*D, A/B*D, A/B*D.
13 FORMAT ORDER - A/B*D, A/B*D, DECK BOARDS.                             FMD
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
*                                                                        FMD
30 PASS 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04040.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 52) MSG 6(26D,23D,15D,16D,28D,20D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 52) MSG 6(26D,23D,29D,30D,28D,20D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 52) MSG 6(26D,23D,15D,16D,28D,20D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04043.                         FMD
*                                                                        FMD
   IF(B2 EQ 53) MSG 4(26D,34D,22D,23D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 04045 AND 0404A.              FMD
*                                                                        FMD
   IF(B2 EQ 54) MSG 2(21D,23D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04047.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 55) MSG 7(23D,26D,22D,15D,16D,28D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 55) MSG 7(23D,26D,22D,29D,30D,28D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 55) MSG 7(23D,26D,22D,15D,16D,28D)TO LINE B1
*ENDIF
   IF(B2 EQ 55) MSG 10(20D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0404B.                         FMD
*                                                                        FMD
   IF(B2 EQ 56) MSG 3(33D,34D,22D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 040DC.                         FMD
*                                                                        FMD
   IF(B2 EQ 57) MSG 4(23D,31D,26D,27D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04050.                         FMD
*                                                                        FMD
   IF(B2 EQ 60) MSG 5(22D,23D,26D,27D,31D)TO LINE B1                     FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04051.                         FMD
*                                                                        FMD
   IF(B2 EQ 61) MSG 3(24D,23D,21D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04052.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 62) MSG 7(26D,20D,22D,23D,15D,16D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 62) MSG 7(26D,20D,22D,23D,29D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 62) MSG 7(26D,20D,22D,23D,15D,16D)TO LINE B1
*ENDIF
   IF(B2 EQ 62) MSG 10(28D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 04053, 0405E,                 FMD
/         AND 04062.                                                     FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 63) MSG 6(20D,22D,23D,15D,16D,28D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 63) MSG 6(20D,22D,23D,29D,30D,28D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 63) MSG 6(20D,22D,23D,15D,16D,28D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 04054, 04057,                 FMD
/         0405A, 0405B, AND 0405F.                                       FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 64) MSG 7(20D,26D,22D,23D,15D,16D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 64) MSG 7(20D,26D,22D,23D,29D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 64) MSG 7(20D,26D,22D,23D,15D,16D)TO LINE B1
*ENDIF
   IF(B2 EQ 64) MSG 10(28D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04056.                         FMD
*                                                                        FMD
   IF(B2 EQ 65) MSG 2(20D,21D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 04059, 0405D,                 FMD
/         AND 04061.                                                     FMD
*                                                                        FMD
   IF(B2 EQ 66) MSG 4(20D,21D,22D,23D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04060.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 67) MSG 7(20D,26D,22D,27D,15D,16D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 67) MSG 7(20D,26D,22D,27D,29D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 67) MSG 7(20D,26D,22D,27D,15D,16D)TO LINE B1
*ENDIF
   IF(B2 EQ 67) MSG 11(23D,28D)TO LINE B1+1 
*                                                                        FMD
/         DISPLAY ERROR MESSAGE AND STOP ON THE ERROR.                   FMD
*                                                                        FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,PFMD
   MODULE FHD96Y,DEMA1,(14),LOCK
**
*         FHD96Y - PROCESS ISOLATION INFORMATION FOR TEST 9.
* 
*         PURPOSE-
*         FHD96Y PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD51 THROUGH FHD60 FOR
*         ISOLATION NUMBERS 12, 14, 26, 27, AND 30 OCTAL. 
* 
*         METHOD- 
*         A TWO OR THREE LINE MESSAGE WILL BE APPENDED ONE LINE AFTER 
*         THE END OF THE ERROR MESSAGE FOR ISOLATION NUMBERS 12, 14,
*         26, 27, AND 30 OCTAL. 
* 
/ 
*         ENTRY-
*         B1 REGISTER - DISPLAY LINE NUMBER.
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO 
*                       BE APPENDED TO THE ERROR MESSAGE. 
* 
*         EXIT- 
*         B0 REGISTER DESTROYED.
*         B1 REGISTER DESTROYED.
*         B2 REGISTER DESTROYED.
* 
*         SUBMODULES REFERENCED-
*         FHD96Z - PROCESS ISOLATION INFORMATION. 
* 
*         REGISTERS USED- 
*         B0 REGISTER - TEMPORARY STORAGE.
*         B1 REGISTER - DISPLAY LINE NUMBER.
*         B2 REGISTER - ISOLATION INFORMATION NUMBER. 
*         B3 REGISTER - NOT USED. 
*         B4 REGISTER - NOT USED. 
*         B5 REGISTER - NOT USED. 
*         B6 REGISTER - NOT USED. 
*         B7 REGISTER - NOT USED. 
*         B8 REGISTER - NOT USED. 
*         B9 REGISTER - NOT USED. 
*         B10 REGISTER - NOT USED.
*         B11 REGISTER - NOT USED.
*         B12 REGISTER - NOT USED.
*         B13 REGISTER - CONDITION NUMBER 
*         B14 REGISTER - ERROR COUNTER. 
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER. 
*         BA REGISTER - NOT USED. 
*         WS REGISTER - NOT USED. 
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.
* 
*         BUFFERS USED- 
*         NONE REQUIRED.
* 
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D. 
13 FORMAT ORDER - A/B*D, A/B*D, (A/B*D, A/B*D) MATCHED PAIR,
14 FORMAT         DECK BOARDS, A/B*D. 
15 FORMAT ORDER - A/B*D, (A/B*D, A/B*D) MATCHED PAIR, A/B*D,
16 FORMAT         DECK BOARDS.
17 FORMAT         BOARDS. 
20 FORMAT ORDER - A/B*D, (A/B*D, A/B*D) MATCHED PAIR, DECK
21 FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, DECK BOARDS.
* 
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER. 
* 
30 IF(B2.EQ.12) GOTO 32      *IF ERROR CODE 09005 
   IF(B2.EQ.26) GOTO 34      *IF ERROR CODE 09009 
   IF(EC.EQ.11) GOTO 34      *IF ERROR CODE 09009 
   B0=0                      *SET DEFAULT TO HEAD 0 
   IF(SB(B4+20).AND.3600.EQ.0) GOTO 32  *IF NOT CHECKWORD ERROR 
   IF(SB(B4+20).AND.3600.EQ.2000) B0=3  *HEAD 3 
   IF(SB(B4+20).AND.1600.EQ.1000) B0=2  *HEAD 2 
   IF(SB(B4+20).AND.600.EQ.400) B0=1    *HEAD 1 
   GOTO 34                   *POST ISOLATION INFORMATION
32 IF(SB(B4+24).AND.7400.EQ.4000) B0=3  *HEAD 3 
   IF(SB(B4+24).AND.3400.EQ.2000) B0=2  *HEAD 2 
   IF(SB(B4+24).AND.1400.EQ.1000) B0=1  *HEAD 1 
* 
/         ISOLATION INFORMATION FOR ERROR 09005.
* 
34 IF(B2.NE.12) GOTO 36      *IF NOT ISOLATION NUMBER 12
   IF(B0.EQ.0) MSG 13 (24D,07D,05D,06D) TO LINE B1  *HEAD 0 
   IF(B0.EQ.1) MSG 13 (24D,11D,09D,10D) TO LINE B1  *HEAD 1 
   IF(B0.EQ.2) MSG 13 (24D,15D,13D,14D) TO LINE B1  *HEAD 2 
   IF(B0.EQ.3) MSG 13 (24D,19D,17D,18D) TO LINE B1  *HEAD 3 
   MSG 14 (21D) TO LINE B1+1
* 
/         ISOLATION INFORMATION FOR ERRORS 09009 AND 0900A. 
* 
36 IF(B2.NE.14) GOTO 40      *IF NOT ISOLATION NUMBER 14
   IF(EC.EQ.11) B0=B4.AND.3  *FAILING HEAD NUMBER 
   IF(B0.EQ.0) MSG 15 (04D,05D,06D,07D) TO LINE B1  *HEAD 0 
   IF(B0.EQ.1) MSG 15 (08D,09D,10D,11D) TO LINE B1  *HEAD 1 
   IF(B0.EQ.2) MSG 15 (12D,13D,14D,15D) TO LINE B1  *HEAD 2 
   IF(B0.EQ.3) MSG 15 (16D,17D,18D,19D) TO LINE B1  *HEAD 3 
   MSG 16 TO LINE B1+1
* 
/         ISOLATION INFORMATION FOR ERROR 09019.
* 
40 IF(B2.NE.26) GOTO 42      *IF NOT ISOLATION NUMBER 26
   IF(B0.EQ.0) MSG 20 (04D,05D,06D) TO LINE B1  *HEAD 0 
   IF(B0.EQ.1) MSG 20 (08D,09D,10D) TO LINE B1  *HEAD 1 
   IF(B0.EQ.2) MSG 20 (12D,13D,14D) TO LINE B1  *HEAD 2 
   IF(B0.EQ.3) MSG 20 (16D,17D,18D) TO LINE B1  *HEAD 3 
   MSG 17 TO LINE B1+1
* 
/         ISOLATION INFORMATION FOR ERRORS 0901A AND 0901B. 
* 
42 IF(B2.NE.27) GOTO 44      *IF NOT ISOLATION NUMBER 27
   IF(B0.EQ.0) MSG 4 (04D,07D,02D,01D) TO LINE B1  *HEAD 0
   IF(B0.EQ.1) MSG 4 (08D,11D,02D,01D) TO LINE B1  *HEAD 1
   IF(B0.EQ.2) MSG 4 (12D,15D,02D,01D) TO LINE B1  *HEAD 2
   IF(B0.EQ.3) MSG 4 (16D,19D,02D,01D) TO LINE B1  *HEAD 3
* 
/         ISOLATION INFORMATION FOR ERRORS 0901C AND 0901D. 
* 
44 IF(B2.NE.30) GOTO 46      *IF NOT ISOLATION NUMBER 30
   IF(B0.EQ.0) MSG 21 (04D,07D,02D,01D) TO LINE B1  *HEAD 0 
   IF(B0.EQ.1) MSG 21 (08D,11D,02D,01D) TO LINE B1  *HEAD 1 
   IF(B0.EQ.2) MSG 21 (12D,15D,02D,01D) TO LINE B1  *HEAD 2 
   IF(B0.EQ.3) MSG 21 (16D,19D,02D,01D) TO LINE B1  *HEAD 3 
46 EXIT TO 96Z               *EXIT TO NEXT MODULE 
   END 30                    *END OF THE MODULE 
COMPILE 
*ENDIF
*IF DEF,PFMD
   MODULE FHD96Z,DEMA1,(14),LOCK
**
*         FHD96Z - PROCESS ISOLATION INFORMATION FOR TEST 9.
* 
*         PURPOSE-
*         FHD96Z PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD51 THROUGH FHD60 FOR
*         ISOLATION NUMBERS 31, AND 32 OCTAL. 
* 
*         METHOD- 
*         A TWO OR THREE LINE MESSAGE WILL BE APPENDED ONE LINE AFTER 
*         THE END OF THE ERROR MESSAGE FOR ISOLATION NUMBERS 30 AND 
*         31. THE ERROR MESSAGE WILL THEN BE REPORTED TO THE OPERATOR.
*         26, 27, 30, AND 31 OCTAL. THE ERROR MESSAGE WILL THEN BE
*         REPORTED TO THE OPERATOR. 
* 
/ 
*         ENTRY-
*         B0 REGISTER - NUMBER FOR FAILING HEAD.
*         B1 REGISTER - DISPLAY LINE NUMBER.
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO 
*                       BE APPENDED TO THE ERROR MESSAGE. 
* 
*         EXIT- 
*         B0 REGISTER DESTROYED.
*         B1 REGISTER DESTROYED.
*         B2 REGISTER DESTROYED.
* 
*         SUBMODULES REFERENCED-
*         NONE REQUIRED.
* 
*         REGISTERS USED- 
*         B0 REGISTER - TEMPORARY STORAGE.
*         B1 REGISTER - DISPLAY LINE NUMBER.
*         B2 REGISTER - ISOLATION INFORMATION NUMBER. 
*         B3 REGISTER - NOT USED. 
*         B4 REGISTER - NOT USED. 
*         B5 REGISTER - NOT USED. 
*         B6 REGISTER - NOT USED. 
*         B7 REGISTER - NOT USED. 
*         B8 REGISTER - NOT USED. 
*         B9 REGISTER - NOT USED. 
*         B10 REGISTER - NOT USED.
*         B11 REGISTER - NOT USED.
*         B12 REGISTER - NOT USED.
*         B13 REGISTER - CONDITION NUMBER 
*         B14 REGISTER - ERROR COUNTER. 
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER. 
*         BA REGISTER - NOT USED. 
*         WS REGISTER - NOT USED. 
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.
* 
*         BUFFERS USED- 
*         NONE REQUIRED.
* 
6  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D. 
22 FORMAT ORDER - A/B*D, A/B*D, A/B*D, DECK BOARDS. 
* 
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER. 
* 
/         ISOLATION INFORMATION FOR ERRORS 0901E, 0901F,
/         AND 09020.
* 
30 IF(B2.NE.31) GOTO 32      *IF NOT ISOLATION NUMBER 31
   IF(B0.EQ.0)MSG 6(04D,07D,01D,02D,29D,30D)TO LINE B1  *HD0
   IF(B0.EQ.1)MSG 6(08D,11D,01D,02D,29D,30D)TO LINE B1  *HD1
   IF(B0.EQ.2)MSG 6(12D,15D,01D,02D,29D,30D)TO LINE B1  *HD2
   IF(B0.EQ.3)MSG 6(16D,19D,01D,02D,29D,30D)TO LINE B1  *HD3
* 
/         ISOLATION INFORMATION FOR ERROR 09021.
* 
32 IF(B2.NE.32) GOTO 60      *IF NOT ISOLATION NUMBER 32
   IF(B0.EQ.0) MSG 22 (04D,29D,30D) TO LINE B1  *HEAD 0 
   IF(B0.EQ.1) MSG 22 (08D,29D,30D) TO LINE B1  *HEAD 1 
   IF(B0.EQ.2) MSG 22 (12D,29D,30D) TO LINE B1  *HEAD 2 
   IF(B0.EQ.3) MSG 22 (16D,29D,30D) TO LINE B1  *HEAD 3 
* 
/         DISPLAY ERROR MESSAGE AND STOP ON THE ERROR.
* 
60 PICTURE                   *DISPLAY ERROR INFORMATION 
   HALT                      *STOP ON ERROR 
   BLANK                     *CLEAR ERROR DISPLAY 
   EXIT                      *EXIT THE MODULE 
   END 30                    *END OF THE MODULE 
COMPILE 
*ENDIF
*IF DEF,PFMD
   MODULE FHD960,DEMA1,(14),LOCK
**
*         FMD960 - PROCESS ISOLATION INFORMATION FOR TEST A.
* 
*         PURPOSE-
*         FMD960 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FMD61 THROUGH FMD69 FOR
*         ISOLATION NUMBERS 54 THROUGH 55 OCTAL.
* 
*         METHOD- 
*         A TWO OR THREE OR FOUR LINE MESSAGE WILL BE APPENDED ONE LINE 
*         AFTER THE END OF THE ERROR MESSAGE FOR ISOLATION NUMBERS 54 
*         THROUGH 55 OCTAL. THE ERROR MESSAGE WILL THEN BE DISPLAYED. 
* 
/ 
*         ENTRY-
*         B1 REGISTER - DISPLAY LINE NUMBER.
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO 
*                       BE APPENDED TO THE ERROR MESSAGE. 
* 
*         EXIT- 
*         B0 REGISTER DESTROYED.
*         B1 REGISTER DESTROYED.
*         B2 REGISTER DESTROYED.
* 
*         SUBMODULES REFERENCED-
*         NONE REQUIRED.
* 
*         REGISTERS USED- 
*         B0 REGISTER - NOT USED. 
*         B1 REGISTER - DISPLAY LINE NUMBER.
*         B2 REGISTER - ISOLATION INFORMATION NUMBER. 
*         B3 REGISTER - NOT USED. 
*         B4 REGISTER - NOT USED. 
*         B5 REGISTER - NOT USED. 
*         B6 REGISTER - NOT USED. 
*         B7 REGISTER - NOT USED. 
*         B8 REGISTER - NOT USED. 
*         B9 REGISTER - NOT USED. 
*         B10 REGISTER - NOT USED.
*         B11 REGISTER - NOT USED.
*         B12 REGISTER - NOT USED.
*         B13 REGISTER - CONDITION NUMBER 
*         B14 REGISTER - ERROR COUNTER. 
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER. 
*         BA REGISTER - NOT USED. 
*         WS REGISTER - NOT USED. 
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.
* 
*         BUFFERS USED- 
*         NONE REQUIRED.
* 
2  FORMAT ORDER - A/B*D, A/B*D. 
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D. 
* 
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER. 
* 
/         ISOLATION INFORMATION FOR ERROR 0A04C.
* 
30 IF(B2 EQ 54) MSG 2(34D,33D)TO LINE B1
* 
/         ISOLATION INFORMATION FOR ERROR 0A006.
* 
   IF(B2 EQ 55) MSG 4(24D,23D,21D,26D) TO LINE B1 
* 
/         DISPLAY ERROR MESSAGE AND STOP ON THE ERROR.
* 
   PICTURE                   *DISPLAY ERROR INFORMATION 
   HALT                      *STOP ON ERROR 
   BLANK                     *CLEAR ERROR DISPLAY 
   EXIT                      *EXIT THE MODULE 
   END 30                    *END OF THE MODULE 
COMPILE 
*ENDIF
*IF DEF,SFMD
   MODULE FMD97A,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97A,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97A,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97A - PROCESS ERRORS FOR TEST 4.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97A - PROCESS ERRORS FOR TEST 4. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97A - PROCESS ERRORS FOR TEST 4. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0403D, 0403E, 0403F,   FMD06
*         04040, 04043, 04045, 04046, 04047, 0404A, 0404B, 0404C, 0404D, FMD06
*         AND 0404E.                                                     FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 3D, OR 3E, OR 3E,  FMD
*         OR 40, OR 43, OR 45, OR 46, OR 47, OR 4A, OR 4B, OR 4C, OR 4D, FMD
*         OR 4F, THE ERROR DISPLAY WILL BE BUILT FOR THE ERROR. IF THE   FMD
*         EC REGISTER DOES NOT CONTAIN ONE OF THESE ERROR CODES, THE     FMD
*IF DEF,SFMD
*         MODULE WILL EXIT TO THE FMD97B MODULE.                         FMD
*ENDIF
*IF DEF,PFMD
*         MODULE WILL EXIT TO THE FHD97B MODULE.
*ENDIF
*IF DEF,LSFMD 
*         MODULE WILL EXIT TO THE FLD97B MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97D TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97D TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97D TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97B -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97B - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97B - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97D -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97D - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97D - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97B - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97B - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97B - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0403D.                                           FMD
*                                                                        FMD
0  FORMAT DEVICE FAILED TO LOSE ON CYL AFTER A GO HOME CMD.              FMD
*                                                                        FMD
/         ERROR MESSAGE 0403E.                                           FMD
*                                                                        FMD
1  FORMAT READY AND SAFE NOT ACTIVE AFTER SETTING ECHO BUS               FMD
2  FORMAT MODE.                                                          FMD
*                                                                        FMD
/         ERROR MESSAGE 0403F.                                           FMD
*                                                                        FMD
3  FORMAT INCORRECT STATUS AFTER ISSUING A ECHO BUS MODE                 FMD
4  FORMAT CMD.                                                           FMD
*                                                                        FMD
/         ERROR MESSAGE 04040.                                           FMD
*                                                                        FMD
5  FORMAT DURING ECHO BUS MODE AN 80 CMD WAS ISSUED WITH A               FMD
6  FORMAT BUS OUT OF FF. BUS IN FAILED TO RETURN FF.                     FMD
*                                                                        FMD
/         ERROR MESSAGE 04043.                                           FMD
*                                                                        FMD
7  FORMAT INCORRECT STATUS AFTER ISSUING A SERVO RESET CMD.              FMD
*                                                                        FMD
/         ERROR MESSAGE 04045.                                           FMD
*                                                                        FMD
10 FORMAT DROPPING SELECT FAILED TO CLEAR ECHO BUS MODE.                 FMD
*                                                                        FMD
/         ERROR MESSAGE 04046.                                           FMD
*                                                                        FMD
11 FORMAT INCORRECT STATUS AFTER ISSUING A SET ECHO CMD.                 FMD
*                                                                        FMD
/         ERROR MESSAGE 04047.                                           FMD
*                                                                        FMD
12 FORMAT DURING ECHO CMD MODE A 4F CMD WAS ISSUED, BUT                  FMD
13 FORMAT WAS NOT RCVD ON BUS IN.                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0404A.                                           FMD
*                                                                        FMD
14 FORMAT DROPPING AND RAISING SELECT FAILED TO CLEAR ECHO               FMD
15 FORMAT CMD MODE.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 0404B.                                           FMD
*                                                                        FMD
16 FORMAT ISSUING A SERVO RESET DID NOT FORCE AN OFF CYL                 FMD
17 FORMAT CONDITION.                                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 0404C.                                           FMD
*                                                                        FMD
20 FORMAT INCORRECT STATUS RCVD AFTER SETTING CONTROL                    FMD
21 FORMAT SELECT.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0404D.                                           FMD
*                                                                        FMD
22 FORMAT AFTER SETTING CONTROL SELECT AND ISSUING A RTZ                 FMD
23 FORMAT CMD, CONTROL SELECT STATUS WAS NOT PRESENT. EXPD               FMD
24 FORMAT BUS IN BIT 7 ACTIVE.                                           FMD
*                                                                        FMD
/         ERROR MESSAGE 0404E.                                           FMD
*                                                                        FMD
25 FORMAT AFTER ISSUING A ZERO TRACK SEEK CMD, CONTROL                   FMD
26 FORMAT SELECT WAS NOT PRESENT.                                        FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=47                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 75) GOTO 44      *IF ERROR CODE 0403D                        FMD
   B2=50                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 76) GOTO 40      *IF ERROR CODE 0403E                        FMD
   B2=51                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 77) GOTO 40      *IF ERROR CODE 0403F                        FMD
   B2=52                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 100) GOTO 40     *IF ERROR CODE 04040                        FMD
   B2=53                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 103) GOTO 44     *IF ERROR CODE 04043                        FMD
   B2=54                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 105) GOTO 44     *IF ERROR CODE 04045                        FMD
   B2=33                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 106) GOTO 44     *IF ERROR CODE 04046                        FMD
   B2=55                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 107) GOTO 40     *IF ERROR CODE 04047                        FMD
   B2=54                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 112) GOTO 40     *IF ERROR CODE 0404A                        FMD
   B2=56                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 113) GOTO 40     *IF ERROR CODE 0404B                        FMD
   B2=57                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 114) GOTO 40     *IF ERROR CODE 0404C                        FMD
   B2=24                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 115) GOTO 34     *IF ERROR CODE 0404D                        FMD
   B2=24                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 116) GOTO 40     *IF ERROR CODE 0404E                        FMD
   EXIT TO 97B               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODE 0404D.                                      FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0403E, 0403F, 04040, 04046,                FMD
/         04047, 0404A, 0404B, 0404C, AND 0404E.                         FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0403D, 04043, AND 04045.                   FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 75) GOTO 50      *IF ERROR CODE 0403D                        FMD
   IF(EC EQ 76) GOTO 50      *IF ERROR CODE 0403E                        FMD
   IF(EC EQ 105) GOTO 50     *IF ERROR CODE 04045                        FMD
   IF(EC EQ 112) GOTO 50     *IF ERROR CODE 0404A                        FMD
   IF(EC EQ 113) GOTO 50     *IF ERROR CODE 0404B                        FMD
   IF(EC EQ 115) GOTO 50     *IF ERROR CODE 0404D                        FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 27 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97D  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97B,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97B,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97B,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97B - PROCESS ERRORS FOR TEST 4.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97B - PROCESS ERRORS FOR TEST 4. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97B - PROCESS ERRORS FOR TEST 4. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0404F, 04050, 04051,   FMD06
*         04052, 04053, 04054, 04056, 04057, AND 04058.                  FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 4F, OR 50, OR 51,  FMD
*         OR 52, OR 53, OR 54, OR 55, OR 56, OR 57, OR 58, THE ERROR     FMD
*         DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER DOES   FMD
*         NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO  FMD
*IF DEF,SFMD
*         THE FMD97C MODULE.                                             FMD
*ENDIF
*IF DEF,PFMD
*         THE FHD97C MODULE.
*ENDIF
*IF DEF,LSFMD 
*         THE FLD97C MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97D TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97D TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97D TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97C -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97C - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97C - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97D -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97D - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97D - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97C - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97C - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97C - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0404F.                                           FMD
*                                                                        FMD
0  FORMAT AFTER ISSUING A CLR FAULT CMD, STATUS INDICATED                FMD
1  FORMAT CONTROL SELECT NOT PRESENT.                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 04050.                                           FMD
*                                                                        FMD
2  FORMAT INCORRECT STATUS AFTER ISSUING A CLR CONTROL                   FMD
3  FORMAT SELECT CMD.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 04051.                                           FMD
*                                                                        FMD
4  FORMAT CLEARING CONTROL SELECT CAUSED READY AND SAFE TO               FMD
5  FORMAT DROP.                                                          FMD
*                                                                        FMD
/         ERROR MESSAGE 04052.                                           FMD
*                                                                        FMD
6  FORMAT INCORRECT STATUS AFTER ISSUING A RESET DIAG AID                FMD
7  FORMAT CMD (4D, BUS OUT BIT 2).                                       FMD
*                                                                        FMD
/         ERROR MESSAGE 04053.                                           FMD
*                                                                        FMD
10 FORMAT READY AND SAFE NOT ACTIVE AFTER ISSUING A RESET                FMD
11 FORMAT DIAG AID CMD (4D, BUS OUT BIT 2).                              FMD
*                                                                        FMD
/         ERROR MESSAGE 04054.                                           FMD
*                                                                        FMD
12 FORMAT INCORRECT STATUS AFTER ISSUING A SET LATE STROBE               FMD
13 FORMAT CMD (4D BUS OUT BIT 3).                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 04055.                                           FMD
*                                                                        FMD
14 FORMAT INCORRECT STATUS AFTER ISSUING 4D CMD WITH BUS                 FMD
15 FORMAT OUT EQUAL TO ZERO. STATUS SHOULD INDICATE LATE                 FMD
16 FORMAT STROBE SET.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 04056.                                           FMD
*                                                                        FMD
17 FORMAT DROPPING AND RAISING SELECT FAILED TO CLEAR LATE               FMD
20 FORMAT STROBE.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 04057.                                           FMD
*                                                                        FMD
21 FORMAT INCORRECT STATUS AFTER SETTING EARLY STROBE (4D,               FMD
22 FORMAT BUS OUT BIT 4).                                                FMD
*                                                                        FMD
/         ERROR MESSAGE 04058.                                           FMD
*                                                                        FMD
23 FORMAT INCORRECT STATUS AFTER ISSUING A 4D CMD WITH BUS               FMD
24 FORMAT OUT EQUAL TO ZERO. STATUS SHOULD INDICATE EARLY                FMD
25 FORMAT STROBE SET.                                                    FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
26 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=24                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 117) GOTO 40     *IF ERROR CODE 0404F                        FMD
   B2=60                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 120) GOTO 40     *IF ERROR CODE 04050                        FMD
   B2=61                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 121) GOTO 40     *IF ERROR CODE 04051                        FMD
   B2=62                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 122) GOTO 40     *IF ERROR CODE 04052                        FMD
   B2=63                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 123) GOTO 40     *IF ERROR CODE 04053                        FMD
   B2=64                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 124) GOTO 40     *IF ERROR CODE 04054                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 125) GOTO 34     *IF ERROR CODE 04055                        FMD
   B2=65                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 126) GOTO 40     *IF ERROR CODE 04056                        FMD
   B2=64                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 127) GOTO 40     *IF ERROR CODE 04057                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 130) GOTO 34     *IF ERROR CODE 04058                        FMD
   EXIT TO 97C               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 04055 AND 04058.                           FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0404F, 04050, 04051, 04052,                FMD
/         04053, 04054, 04056, AND 04057.                                FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 117) GOTO 50     *IF ERROR CODE 0404F                        FMD
   IF(EC EQ 121) GOTO 50     *IF ERROR CODE 04051                        FMD
   IF(EC EQ 123) GOTO 50     *IF ERROR CODE 04053                        FMD
   IF(EC EQ 126) GOTO 50     *IF ERROR CODE 04056                        FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 26 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97D  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97C,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97C,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97C,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97C - PROCESS ERRORS FOR TEST 4.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97C - PROCESS ERRORS FOR TEST 4. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97C - PROCESS ERRORS FOR TEST 4. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 04059, 0405A, 0405B,   FMD06
*         0405C, 0405D, 0405E, 0405F, 04060, 04061, AND 04062.           FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE ERROR DISPLAY WILL BE BUILT FOR ERROR CODES 59, 5A, 5B,    FMD
*         5C, 5D, 5E, 5F, 60, 61, AND 62.                                FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97D TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97D TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97D TO APPEND THE ISOALTION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         EXIT TO CALLING PRIMARY MODULE-                                FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97D -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97D - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97D - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 04059.                                           FMD
*                                                                        FMD
0  FORMAT DROPPING AND RAISING SELECT FAILED TO CLEAR EARLY              FMD
1  FORMAT STROBE.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0405A.                                           FMD
*                                                                        FMD
2  FORMAT RESET DIAG AID CMD (4D, BUS OUT BIT 2) FAILED TO               FMD
3  FORMAT CLEAR EARLY STROBE.                                            FMD
*                                                                        FMD
/         ERROR MESSAGE 0405B.                                           FMD
*                                                                        FMD
4  FORMAT INCORRECT STATUS AFTER ISSUING A SET SERVO HI CMD              FMD
5  FORMAT (4D, BUS OUT BIT 5).                                           FMD
*                                                                        FMD
/         ERROR MESSAGE 0405C.                                           FMD
*                                                                        FMD
6  FORMAT INCORRECT STATUS AFTER ISSUING A SET DIAG WITH                 FMD
7  FORMAT BUS OUT EQUAL TO ZERO. SERVO HI STATUS SHOULD BE               FMD
10 FORMAT PRESENT.                                                       FMD
*                                                                        FMD
/         ERROR MESSAGE 0405D.                                           FMD
*                                                                        FMD
11 FORMAT DROPPING SELECT FAILED TO CLEAR SERVO HI STATUS.               FMD
*                                                                        FMD
/         ERROR MESSAGE 0405E.                                           FMD
*                                                                        FMD
12 FORMAT RESET DIAG AID CMD FAILED TO CLEAR SERVO HI (4D,               FMD
13 FORMAT BUS OUT BIT 2).                                                FMD
*                                                                        FMD
/         ERROR MESSAGE 0405F.                                           FMD
*                                                                        FMD
14 FORMAT INCORRECT STATUS AFTER ISSUING SERVO LOW CMD                   FMD
15 FORMAT (4D BUS OUT IT 6).                                             FMD
*                                                                        FMD
/         ERROR MESSAGE 04060.                                           FMD
*                                                                        FMD
16 FORMAT INCORRECT STATUS AFTER ISSUING A 4D CMD WITH BUS               FMD
17 FORMAT OUT EQUAL TO ZERO. SERVO LOW STATUS SHOULD BE                  FMD
20 FORMAT INDICATED.                                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 04061.                                           FMD
*                                                                        FMD
21 FORMAT DROPPING AND RAISING SELECT FAILED TO CLEAR SERVO              FMD
22 FORMAT LOW STATUS.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 04062.                                           FMD
*                                                                        FMD
23 FORMAT RESET DIAG AID CMD (4D, BUS OUT BIT 2) FAILED TO               FMD
24 FORMAT CLEAR SERVO LOW.                                               FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
25 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=66                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 131) GOTO 40     *IF ERROR CODE 04059                        FMD
   B2=64                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 132) GOTO 40     *IF ERROR CODE 0405A                        FMD
   B2=64                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 133) GOTO 40     *IF ERROR CODE 0405B                        FMD
   B2=26                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 134) GOTO 34     *IF ERROR CODE 0405C                        FMD
   B2=66                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 135) GOTO 44     *IF ERROR CODE 0405D                        FMD
   B2=63                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 136) GOTO 40     *IF ERROR CODE 0405E                        FMD
   B2=64                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 137) GOTO 40     *IF ERROR CODE 0405F                        FMD
   B2=67                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 140) GOTO 34     *IF ERROR CODE 04060                        FMD
   B2=66                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 141) GOTO 40     *IF ERROR CODE 04061                        FMD
   B2=63                     *SET INFORMATION FLAG FOR ERROR             FMD
   GOTO 40                   *ERROR CODE 04062                           FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0405C AND 04060.                           FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 04059 0405A, 0405B, 0405E,                 FMD
/         0405F, 04061, AND 04062.                                       FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODE 0405D.                                      FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 131) GOTO 50     *IF ERROR CODE 04059                        FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 25 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97D  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97D,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97D,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97D,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97D - PROCESS ISOLATION INFORMATION FOR TEST 4.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD97D - PROCESS ISOLATION INFORMATION FOR TEST 4.
*ENDIF
*IF DEF,LSFMD 
*         FLD97D - PROCESS ISOLATION INFORMATION FOR TEST 4.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD97D PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD984 THROUGH FMD97C.          FMD
*ENDIF
*IF DEF,PFMD
*         FHD97D PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD984 THROUGH FHD97C. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97D PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD84 THROUGH FLD97C.
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO OR THREE LINE MESSAGE WILL BE APPENDED ONE LINE AFTER    FMD
*         THE END OF THE ERROR MESSAGE.                                  FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*IF DEF,SFMD
*         EXIT TO MODULE FMD97E.                                         FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO MODULE FHD97E.
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO MODULE FLD97E.
*ENDIF
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
0  FORMAT REPLACE PWBS ONE AT A TIME IN THE FOLLOWING                    FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
5  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.                     FMD
7  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D,              FMD
10 FORMAT         A/B*D.                                                 FMD
11 FORMAT         A/B*D, A/B*D.                                          FMD
/         ERROR MESSAGE 04001 ISOLATION INFORMATION.                     FMD
14 FORMAT JUMP TO READY AND SAFE ANALYSIS IN ROUTINE 2 AND               FMD
15 FORMAT PERFORM CORRECTIVE ACTION.                                     FMD
/         ERROR MESSAGE 0400E ISOLATION INFORMATION.                     FMD
/         ERROR MESSAGE 04022 ISOLATION INFORMATION.                     FMD
/         ERROR MESSAGE 04019 ISOLATION INFORMATION.                     FMD
16 FORMAT JUMP TO DETAILED STATUS TEST 2 AND PERFORM                     FMD
17 FORMAT CORRECTIVE ACTION UNDER 2ND ERROR CODE.                        FMD
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
*                                                                        FMD
30 B1=B1+2                   *INSERT BLANK LINE                          FMD
   IF(B2 NE 1) GOTO 32       *IF NOT MESSAGE NUMBER 1                    FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04001.                         FMD
*                                                                        FMD
   MSG 14 TO LINE B1         *MOVE MESSAGE TO DISPLAY BUFFER             FMD
   MSG 15 TO LINE B1+1                                                   FMD
   EXIT TO 97E               *EXIT TO NEXT MODULE                        FMD
32 IF(B2 NE 2) GOTO 34       *IF NOT MESSAGE NUMBER 2                    FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0400E.                        FMD
*                                                                        FMD
   MSG 16 TO LINE B1         *MOVE MESSAGE TO DISPLAY BUFFER             FMD
   MSG 17 TO LINE B1+1                                                   FMD
   EXIT TO 97E               *EXIT TO NEXT MODULE                        FMD
34 MSG 0 TO LINE B1          *BOARDS MSG TO NEXT LINE                    FMD
   B1=B1+1                   *INCREMENT DISPLAY NUMBER                   FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04000.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 4) MSG 2(03D,20D)TO LINE B1                                  FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 4) MSG 2(02D,20D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 4) MSG 2(03D,20D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04001.                         FMD
*                                                                        FMD
   IF(B2 EQ 5) MSG 4(22D,23D,33D,34D)TO LINE B1                          FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04003.                         FMD
*                                                                        FMD
   IF(B2 NE 6) GOTO 40       *IF NOT ISOLATION MESSAGE 6                 FMD
   MSG 7(33D,34D,35D,36D,37D,38D)TO LINE B1                              FMD
   MSG 10(39D)TO LINE B1+1                                               FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04005.                         FMD
*                                                                        FMD
40 IF(B2 EQ 7) MSG 3(34D,33D,27D)TO LINE B1                              FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 04006, 04007,                 FMD
/         O4026, 04028, AND 0402C.                                       FMD
*                                                                        FMD
   IF(B2 EQ 10) MSG 3(26D,27D,22D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04008.                         FMD
*                                                                        FMD
   IF(B2 EQ 11) MSG 4(34D,32D,26D,27D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 04009, 0400A,                 FMD
/         0400B, 04015, AND 04030.                                       FMD
*                                                                        FMD
   IF(B2 EQ 12) MSG 3(26D,27D,23D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0400C.                         FMD
*                                                                        FMD
   IF(B2 EQ 13) MSG 3(26D,23D,31D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0400D.                         FMD
*                                                                        FMD
   IF(B2 EQ 14) MSG 4(22D,23D,21D,20D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04010.                         FMD
*                                                                        FMD
   IF(B2 EQ 15) MSG 5(39D,38D,37D,36D,35D)TO LINE B1                     FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04011.                         FMD
*                                                                        FMD
   IF(B2 EQ 16) MSG 3(34D,33D,26D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 04012, 04013,                 FMD
/         04016, 04017, 0401B, 0401C, 0401F, 04020, 0402B,               FMD
/         0402D, 04055, AND 04058.                                       FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 17) MSG 7(26D,27D,22D,23D,15D,16D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 17) MSG 7(26D,27D,22D,23D,29D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 17) MSG 7(26D,27D,22D,23D,15D,16D)TO LINE B1
*ENDIF
   IF(B2 EQ 17) MSG 11(28D,20D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04014.                         FMD
*                                                                        FMD
   IF(B2 EQ 20) MSG 4(26D,27D,34D,32D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 04018 AND 04021.              FMD
*                                                                        FMD
   IF(B2 EQ 21) MSG 4(23D,26D,27D,25D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0401A.                         FMD
*                                                                        FMD
   IF(B2 EQ 22) MSG 4(34D,26D,27D,22D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0401D.                         FMD
*                                                                        FMD
   IF(B2 EQ 23) MSG 5(26D,27D,22D,34D,32D)TO LINE B1                     FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0401E, 0404D,                 FMD
/         0404E, AND 0404F.                                              FMD
*                                                                        FMD
   IF(B2 EQ 24) MSG 4(26D,27D,23D,22D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04022 AND 04023.               FMD
*                                                                        FMD
   IF(B2 EQ 25) MSG 3(20D,22D,21D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 04024 AND 0405C.              FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 26) MSG 7(20D,26D,27D,22D,15D,16D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 26) MSG 7(20D,26D,27D,22D,29D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 26) MSG 7(20D,26D,27D,22D,15D,16D)TO LINE B1
*ENDIF
   IF(B2 EQ 26) MSG 11(23D,28D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 04025 AND 04027.              FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 27) MSG 7(22D,23D,21D,15D,16D,28D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 27) MSG 7(22D,23D,21D,29D,30D,28D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 27) MSG 7(22D,23D,21D,15D,16D,28D)TO LINE B1
*ENDIF
   IF(B2 EQ 27) MSG 10(20D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04029.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 30) MSG 3(22D,23D,15D)TO LINE B1                             FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 30) MSG 3(22D,23D,29D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 30) MSG 3(22D,23D,15D)TO LINE B1
*ENDIF
*                                                                        FMD
/         DISPLAY ERROR MESSAGE AND STOP ON THE ERROR.                   FMD
*                                                                        FMD
   EXIT TO 97E               *EXIT TO NEXT ISOLATION MODULE              FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97E,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97E,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97E,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97E - PROCESS ISOLATION INFORMATION FOR TEST 4.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD97E - PROCESS ISOLATION INFORMATION FOR TEST 4.
*ENDIF
*IF DEF,LSFMD 
*         FLD97E - PROCESS ISOLATION INFORMATION FOR TEST 4.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD97E PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD984 THROUGH FMD97C.          FMD
*ENDIF
*IF DEF,PFMD
*         FHD97E PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD984 THROUGH FHD97C. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97E PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD984 THROUGH FLD97C. 
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO OR THREE LINE MESSAGE WILL BE APPENDED ONE LINE AFTER    FMD
*         THE END OF THE ERROR MESSAGE.                                  FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
5  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.                     FMD
6  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.              FMD
7  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D,              FMD
10 FORMAT         A/B*D.                                                 FMD
11 FORMAT         A/B*D, A/B*D.                                          FMD
12 FORMAT         A/B*D, A/B*D, A/B*D.
13 FORMAT ORDER - A/B*D, A/B*D, DECK BOARDS.                             FMD
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
* 
30 PASS 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0402A.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 31) MSG 3(15D,26D,27D)TO LINE B1                             FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 31) MSG 3(29D,26D,27D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 31) MSG 3(15D,26D,27D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0402E.                         FMD
*                                                                        FMD
   IF(B2 EQ 32) MSG 2(26D,33D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0402F AND 04046.              FMD
*                                                                        FMD
   IF(B2 EQ 33) MSG 3(26D,23D,27D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04031.                         FMD
*                                                                        FMD
   IF(B2 EQ 34) MSG 3(26D,27D,34D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04032.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 35) MSG 5(23D,22D,15D,16D,28D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 35) MSG 5(23D,22D,29D,30D,28D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 35) MSG 5(23D,22D,15D,16D,28D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04033.                         FMD
*                                                                        FMD
   IF(B2 EQ 36) MSG 4(26D,27D,15D,22D)TO LINE B1
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 04034 AND 04035.              FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 37) MSG 6(15D,22D,16D,23D,28D,20D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 37) MSG 6(29D,22D,30D,23D,28D,20D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 37) MSG 6(15D,22D,16D,23D,28D,20D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04036.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 40) MSG 13(15D,16D)TO LINE B1                                FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 40) MSG 13(29D,30D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 40) MSG 13(15D,16D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04037.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 41) MSG 6(15D,22D,16D,23D,28D,20D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 41) MSG 6(29D,22D,30D,23D,28D,20D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 41) MSG 6(15D,22D,16D,23D,28D,20D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04038.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 42) MSG 6(16D,15D,24D,22D,23D,28D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 42) MSG 6(30D,29D,24D,22D,23D,28D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 42) MSG 6(16D,15D,24D,22D,23D,28D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 04039.                         FMD
*                                                                        FMD
   IF(B2 EQ 43) MSG 2(26D,27D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0403A.                         FMD
*                                                                        FMD
   IF(B2 EQ 44) MSG 2(22D,23D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0403B.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 45) MSG 7(33D,34D,22D,15D,16D,23D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 45) MSG 7(33D,34D,22D,29D,30D,23D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 45) MSG 7(33D,34D,22D,15D,16D,23D,)TO LINE B1 
*ENDIF
   IF(B2 EQ 45) MSG 11(28D,20D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0403C.                         FMD
*                                                                        FMD
   IF(B2 EQ 46) MSG 4(26D,27D,33D,34D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0403D.                         FMD
*                                                                        FMD
   IF(B2 EQ 47) MSG 2(33D,34D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0403E.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 50) MSG 7(33D,34D,23D,35D,22D,15D)TO LINE B1
   IF(B2 EQ 50) MSG 12(16D,28D,20D)TO LINE B1+1 
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 50) MSG 7(33D,34D,23D,35D,22D,29D)TO LINE B1
   IF(B2 EQ 50) MSG 12(30D,28D,20D)TO LINE B1+1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 50) MSG 7(33D,34D,23D,35D,22D,15D)TO LINE B1
   IF(B2 EQ 50) MSG 12(16D,28D,20D)TO LINE B1+1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0403F.                         FMD
*                                                                        FMD
   IF(B2 EQ 51) MSG 4(23D,26D,22D,27D)TO LINE B1                         FMD
*                                                                        FMD
/         DISPLAY ERROR MESSAGE AND STOP ON THE ERROR.                   FMD
*                                                                        FMD
   EXIT TO 96X                 *EXIT TO NEXT ISOLATION MODULE 
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97F,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97F,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97F,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97F - PROCESS ERRORS FOR TEST 5.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97F - PROCESS ERRORS FOR TEST 5. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97F - PROCESS ERRORS FOR TEST 5. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 05000, 05001, 05002,   FMD06
*         05003, 05004, 05006, AND 05007.                                FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE FIRST THREE LINES FOR THE ERROR DISPLAY WILL BE PLACED IN  FMD
*         THE DISPLAY BUFFER.  IF THE ERROR CODE NUMBER IN THE EC        FMD
*         REGISTER IS A PRODUCT OVERLAY ERROR CODE, THE MODULE WILL EXIT FMD
*IF DEF,SFMD
*         TO THE FMD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE FMD
*ENDIF
*IF DEF,PFMD
*         TO THE FHD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*IF DEF,LSFMD 
*         TO THE FLD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*         ERROR. THE ERROR CODE LINE WILL BE PLACED IN THE DISPLAY       FMD
*         BUFFER. IF THE EC REGISTER CONTAINS THE ERROR CODES 00, OR 01, FMD
*         OR 02, OR 03, OR 04, OR 05, OR 06, OR 07, THE ERROR DISPLAY    FMD
*         WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER DOES NOT       FMD
*         CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE  FMD
*IF DEF,SFMD
*         FMD97G MODULE.                                                 FMD
*ENDIF
*IF DEF,PFMD
*         FHD97G MODULE.
*ENDIF
*IF DEF,LSFMD 
*         FLD97G MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97M TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97M TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97M TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98B -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98B - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98B - 
*ENDIF
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         THE FIRST THREE LINES OF THE ERROR DISPLAY PLACED IN THE       FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97G -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97G - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97G - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97M -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97M - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97M - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD97G - PROCESS ERRORS.                                       FMD
*         FMD97M - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97N - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD97G - PROCESS ERRORS.
*         FHD97M - PROCESS ISOLATION INFORMATION. 
*         FHD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD97G - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CALLING MODULE NUMBER.                           FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - MASK FOR BUS IN STATUS.                          FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN STATUS.                         FMD
*         B12 REGISTER - ACTUAL BUS IN STATUS.                           FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*IF DEF,SFMD
0  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
1  FORMAT FMD27 - 88-8F STATUS TEST                                      FMD
2  FORMAT FMD28 - 8A, 8D STATUS TEST                                     FMD
3  FORMAT FMD29 - DRIVE ADDRESS TEST                                     FMD
4  FORMAT FMD30 - MAINT/RD SWITCH TEST                                   FMD
5  FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD05
6  FORMAT FMD*D - LINE *OCT ERROR CODE 05*HE                             FMD
*ENDIF
*IF DEF,PFMD
0  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FHD27 - 88-8F STATUS TEST 
2  FORMAT FHD28 - 8A, 8D STATUS TEST
3  FORMAT FHD29 - DRIVE ADDRESS TEST
4  FORMAT FHD30 - MAINT/RD SWITCH TEST
5  FORMAT PRESERVICE FORECAST GROUP FHDD
6  FORMAT FHD*D - LINE *OCT ERROR CODE 05*HE
*ENDIF
*IF DEF,LSFMD 
0  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FLD27 - 88-8F STATUS TEST 
2  FORMAT FLD28 - 8A, 8D STATUS TEST
3  FORMAT FLD29 - DRIVE ADDRESS TEST
4  FORMAT FLD30 - MAINT/RD SWITCH TEST
5  FORMAT PRESERVICE FORECAST GROUP FMDD
6  FORMAT FLD*D - LINE *OCT ERROR CODE 05*HE
*ENDIF
*                                                                        FMD
/         ERROR MESSAGE 05000.                                           FMD
*                                                                        FMD
7  FORMAT SELECT AND RESERVE NOT ACTIVE AFTER DROPPING AND               FMD
10 FORMAT RAISING SELECT LINE.                                           FMD
*                                                                        FMD
/         ERROR MESSAGE 05001.                                           FMD
*                                                                        FMD
11 FORMAT READY AND SAFE NOT ACTIVE AFTER RAISING SELECT                 FMD
12 FORMAT LINE.                                                          FMD
*                                                                        FMD
/         ERROR MESSAGE 05002.                                           FMD
*                                                                        FMD
13 FORMAT NO STATUS VALID AFTER ISSUING A NORMAL CMD.                    FMD
*                                                                        FMD
/         ERROR MESSAGE 05003.                                           FMD
*                                                                        FMD
14 FORMAT READ AND SAFE NOT ACTIVE AFTER NORMAL CMD.                     FMD
*                                                                        FMD
/         ERROR MESSAGE 05004.                                           FMD
*                                                                        FMD
15 FORMAT ON CYLINDER NOT ACTIVE AFTER RTZ CMD.                          FMD
*                                                                        FMD
/         ERROR MESSAGE 05005.                                           FMD
*                                                                        FMD
16 FORMAT AFTER ISSUING AN 87 CMD (STATUS WORD ZERO),                    FMD
17 FORMAT INCORRECT STATUS WAS RECEIVED ON BUS IN.                       FMD
*                                                                        FMD
/         ERROR MESSAGE 05006.                                           FMD
*                                                                        FMD
20 FORMAT AFTER ISSUING AN 88 CMD (STATUS WORD 1), BUS IN                FMD
21 FORMAT BIT 0 WAS NOT ACTIVE ON BUS IN. THIS INDICATES                 FMD
22 FORMAT MOTOR AT SPEED STATUS INCORRECT.                               FMD
*                                                                        FMD
/         ERROR MESSAGE 05007.                                           FMD
*                                                                        FMD
23 FORMAT AFTER ISSUING AN 88 CMD (STATUS WORD 1), BUS IN                FMD
24 FORMAT BIT 1 WAS NOT ACTIVE. THIS INDICATES DEVICE START              FMD
25 FORMAT SWITCH STATUS INCORRECT.                                       FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 MSG 0 TO LINE 1           *DIAGNOSTIC TITLE MESSAGE                   FMD
   B1=B0-26D                 *CALL MODULE NAME MESSAGE                   FMD
   MSG B1 TO LINE 2          *MODULE NUMBER AND NAME MESSAGE             FMD
   MSG 5 TO LINE 3           *PRESERVICE FORECAST MESSAGE                FMD05
   IF(EC GT 3777) EXIT TO 98B  *IF PRODUCT OVERLAY ERROR                 FMD
   MSG 6 (B0,EA,EC) TO LINE 5  *ERROR CODE TO DISPLAY                    FMD
   B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=5                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 0) GOTO 40       *IF ERROR CODE 05000                        FMD
   B2=1                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 1) GOTO 40       *IF ERROR CODE 05001                        FMD
   B2=6                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 2) GOTO 44       *IF ERROR CODE 05002                        FMD
   B2=1                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 3) GOTO 44       *IF ERROR CODE 05003                        FMD
   B2=7                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 4) GOTO 44       *IF ERROR CODE 05004                        FMD
   B2=2                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 5) GOTO 40       *IF ERROR CODE 05005                        FMD
   B2=3                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 6) GOTO 34       *IF ERROR CODE 05006                        FMD
   B2=4                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 7) GOTO 34       *IF ERROR CODE 05007                        FMD
   EXIT TO 97G               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 05006 AND 05007.                           FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 05000, 05001, AND 05005.                   FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 05002, 05003, AND 05004.                   FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC NE 5) GOTO 50       *IF NOT ERROR CODE 05005                    FMD
   B11=B12 AND 17 XOR B11    *INSERT DRIVE ADDRESS BITS                  FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 27 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97M  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97G,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97G,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97G,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97G - PROCESS ERRORS FOR TEST 5.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97G - PROCESS ERRORS FOR TEST 5. 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO THE FLD97H MODULE.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 05008, 05009, 0500A,   FMD06
*         0500B, 0500C, 0500D, 0500E, 0500F, 05010, 05011, AND 05012.    FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 08, OR 09, OR 0A,  FMD
*         OR 0B, OR 0C, OR 0D, OR 0E, OR 0F, OR 10, OR 11, 0R 12, THE    FMD
*         ERROR DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER  FMD
*         DOES NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL     FMD
*IF DEF,SFMD
*         EXIT TO THE FMD97H MODULE.                                     FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO THE FHD97H MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97M TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97M TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97M TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97H -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97H - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97H - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97M -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97M - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97M - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97H - PROCESS ERRORS.                                       FMD
*         FMD97M - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97N - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97H - PROCESS ERRORS.
*         FHD97M - PROCESS ISOLATION INFORMATION. 
*         FHD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97H - PROCESS ERRORS.
*         FLM97M - PROCESS ISOLATION INFORMATION. 
*         FLD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - MASK FOR BUS IN STATUS.                          FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN STATUS.                         FMD
*         B12 REGISTER - ACTUAL BUS IN STATUS.                           FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         FIRST LINE OF ERROR MESSAGES.                                  FMD
*                                                                        FMD
0  FORMAT AFTER ISSUING AN 88 CMD (STATUS WORD 1), BUS IN                FMD
1  FORMAT AFTER ISSUING AN 89 CMD (STATUS WORD 2), BUS IN                FMD
*                                                                        FMD
/         ERROR MESSAGE 05008.                                           FMD
*                                                                        FMD
2  FORMAT BIT 2 WAS NOT ACTIVE. THIS INDICATES AIR SWITCH                FMD
3  FORMAT STATUS INCORRECT.                                              FMD
*                                                                        FMD
/         ERROR MESSAGE 05009.                                           FMD
*                                                                        FMD
4  FORMAT BIT 3 WAS NOT ACTIVE. THIS INDICATES ON LINE                   FMD
5  FORMAT STATUS NOT PRESENT.                                            FMD
*                                                                        FMD
/         ERROR MESSAGE 0500A.                                           FMD
*                                                                        FMD
6  FORMAT BIT 4 WAS NOT ACTIVE. THIS INDICATES WRITE ENABLE              FMD
7  FORMAT STATUS INCORRECT.                                              FMD
*                                                                        FMD
/         ERROR MESSAGE 0500B.                                           FMD
*                                                                        FMD
10 FORMAT BIT 5 WAS ACTIVE. THIS INDICATES FIXED HEAD STATUS             FMD
11 FORMAT PRESENT.                                                       FMD
*                                                                        FMD
/         ERROR MESSAGE 0500C.                                           FMD
*                                                                        FMD
12 FORMAT BIT 6 WAS ACTIVE. THIS INDICATES AN UNUSED STATUS              FMD
13 FORMAT BIT IS ACTIVE.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0500D.                                           FMD
*                                                                        FMD
14 FORMAT BIT 7 WAS ACTIVE. THIS INDICATES PARALLEL HEAD                 FMD
15 FORMAT DEVICE STATUS IS PRESENT.                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 0500E.                                           FMD
*                                                                        FMD
16 FORMAT BIT 0 WAS ACTIVE. THIS INDICATES WAIT LATCH STATUS             FMD
17 FORMAT IS ACTIVE.                                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 0500F.                                           FMD
*                                                                        FMD
20 FORMAT BIT 1 WAS NOT ACTIVE. THIS INDICATES CONTROL LATCH             FMD
21 FORMAT STATUS IS NOT ACTIVE.                                          FMD
*                                                                        FMD
/         ERROR MESSAGE 05010.                                           FMD
*                                                                        FMD
22 FORMAT BIT 2 WAS NOT ACTIVE. THIS INDICATES LINEAR MODE               FMD
23 FORMAT LATCH STATUS IS NOT ACTIVE.                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 05011.                                           FMD
*                                                                        FMD
24 FORMAT BIT 3 WAS NOT ACTIVE. THIS INDICATES SERVO LATCH               FMD
25 FORMAT IS NOT ACTIVE.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 05012.                                           FMD
*                                                                        FMD
26 FORMAT BIT 4 WAS ACTIVE. THIS INDICATES REZERO MODE LATCH             FMD
27 FORMAT STATUS WAS ACTIVE.                                             FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=0                      *FIRST LINE FORMAT NUMBER                   FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 10) GOTO 34      *IF ERROR CODE 05008                        FMD
   B2=11                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 11) GOTO 34      *IF ERROR CODE 05009                        FMD
   B2=12                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 12) GOTO 34      *IF ERROR CODE 0500A                        FMD
   B2=13                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 13) GOTO 34      *IF ERROR CODE 0500B                        FMD
   B2=14                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 14) GOTO 34      *IF ERROR CODE 0500C                        FMD
   B2=14                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 15) GOTO 34      *IF ERROR CODE 0500D                        FMD
   B0=1                      *FIRST LINE FORMAT NUMBER                   FMD
   B2=15                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 16) GOTO 34      *IF ERROR CODE 0500E                        FMD
   B2=15                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 17) GOTO 34      *IF ERROR CODE 0500F                        FMD
   B2=15                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 20) GOTO 34      *IF ERROR CODE 05010                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 21) GOTO 34      *IF ERROR CODE 05011                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 22) GOTO 34      *IF ERROR CODE 05012                        FMD
   EXIT TO 97H               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 05008, 05009, 0500A, 0500B,                FMD
/         0500C, 0500D, 0500E, 0500F, 05010, 05011, AND                  FMD
/         05012.                                                         FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97M  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97H,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97H,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97H,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97H - PROCESS ERRORS FOR TEST 5.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97H - PROCESS ERRORS FOR TEST 5. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97H - PROCESS ERRORS FOR TEST 5. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 05013, 05014, 05015,   FMD06
*         05016, 05017, 05018, 05019, 0501A, 0501B, 0501C, AND 0501D.    FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 13, OR 14, OR 15,  FMD
*         OR 16, OR 17, OR 18, OR 19, OR 1A, OR 1B, OR 1C, OR 1D, THE    FMD
*         ERROR DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER  FMD
*         DOES NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL     FMD
*IF DEF,SFMD
*         EXIT TO THE FMD97I MODULE.                                     FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO THE FHD97I MODULE.
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO THE FLD97I MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97M TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97M TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97M TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97I -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97I - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97I - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97M -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97M - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97M - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97I - PROCESS ERRORS.                                       FMD
*         FMD97M - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97N - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97I - PROCESS ERRORS.
*         FHD97M - PROCESS ISOLATION INFORMATION. 
*         FHD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97I - PROCESS ERRORS.
*         FLM97M - PROCESS ISOLATION INFORMATION. 
*         FLD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - MASK FOR BUS IN STATUS.                          FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN STATUS.                         FMD
*         B12 REGISTER - ACTUAL BUS IN STATUS.                           FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         FIRST LINE OF ERROR MESSAGES.                                  FMD
*                                                                        FMD
0  FORMAT AFTER ISSUING AN 89 CMD (STATUS WORD 2), BUS IN                FMD
1  FORMAT AFTER ISSUING AN 8A CMD (STATUS WORD 3), BUS IN                FMD
*                                                                        FMD
/         ERROR MESSAGE 05013.                                           FMD
*                                                                        FMD
2  FORMAT BIT 5 WAS ACTIVE. THIS INDICATES SERVO OFF CYL                 FMD
3  FORMAT STATUS WAS ACTIVE.                                             FMD
*                                                                        FMD
/         ERROR MESSAGE 05014.                                           FMD
*                                                                        FMD
4  FORMAT BIT 6 WAS ACTIVE. THIS INDICATES OVERSHOOT STATUS              FMD
5  FORMAT WAS ACTIVE.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 05015.                                           FMD
*                                                                        FMD
6  FORMAT BIT 7 WAS ACTIVE. THIS INDICATES SEEK TIMEOUT                  FMD
7  FORMAT STATUS WAS ACTIVE.                                             FMD
*                                                                        FMD
/         ERROR MESSAGE 05016.                                           FMD
*                                                                        FMD
10 FORMAT BIT 0 WAS NOT ACTIVE. THIS INDICATES ON CYL                    FMD
11 FORMAT STATUS WAS NOT ACTIVE.                                         FMD
*                                                                        FMD
/         ERROR MESSAGE 05017.                                           FMD
*                                                                        FMD
12 FORMAT BIT 1 WAS ACTIVE. THIS INDICATES ODD TRACK STATUS              FMD
13 FORMAT BIT WAS ACTIVE.                                                FMD
*                                                                        FMD
/         ERROR MESSAGE 05018.                                           FMD
*                                                                        FMD
14 FORMAT BIT 2 WAS ACTIVE. THIS INDICATES AN UNUSED STATUS              FMD
15 FORMAT BIT WAS ACTIVE.                                                FMD
*                                                                        FMD
/         ERROR MESSAGE 05019.                                           FMD
*                                                                        FMD
16 FORMAT BIT 3 WAS INCORRECT.
*                                                                        FMD
/         ERROR MESSAGE 0501A.                                           FMD
*                                                                        FMD
20 FORMAT BIT 4 WAS ACTIVE. THIS INDICATES TRACK CROSSING                FMD
21 FORMAT STATUS WAS ACTIVE.                                             FMD
*                                                                        FMD
/         ERROR MESSAGE 0501B.                                           FMD
*                                                                        FMD
22 FORMAT BIT 5 WAS NOT ACTIVE. THIS INDICATES TARGET                    FMD
23 FORMAT VELOCITY STATUS WAS NOT ACTIVE.                                FMD
*                                                                        FMD
/         ERROR MESSAGE 0501C.                                           FMD
*                                                                        FMD
24 FORMAT BIT 6 WAS ACTIVE. THIS INDICATES GUARDBAND PATTERN             FMD
25 FORMAT STATUS WAS ACTIVE.                                             FMD
*                                                                        FMD
/         ERROR MESSAGE 0501D.                                           FMD
*                                                                        FMD
26 FORMAT BIT 7 WAS ACTIVE. THIS INDICATES DIRECTION BIT                 FMD
27 FORMAT STATUS WAS ACTIVE.                                             FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=0                      *FIRST LINE FORMAT NUMBER                   FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=15                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 23) GOTO 34      *IF ERROR CODE 05013                        FMD
   B2=20                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 24) GOTO 34      *IF ERROR CODE 05014                        FMD
   B2=21                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 25) GOTO 34      *IF ERROR CODE 05015                        FMD
   B0=1                      *FIRST LINE FORMAT NUMBER                   FMD
   B2=22                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 26) GOTO 34      *IF ERROR CODE 05016                        FMD
   B2=21                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 27) GOTO 34      *IF ERROR CODE 05017                        FMD
   B2=23                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 30) GOTO 34      *IF ERROR CODE 05018                        FMD
   B2=23                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 31) GOTO 34      *IF ERROR CODE 05019                        FMD
   B2=24                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 32) GOTO 34      *IF ERROR CODE 0501A                        FMD
   B2=25                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 33) GOTO 34      *IF ERROR CODE 0501B                        FMD
   B2=26                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 34) GOTO 34      *IF ERROR CODE 0501C                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 35) GOTO 34      *IF ERROR CODE 0501D                        FMD
   EXIT TO 97I               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 05013, 05014, 05015, 05016,                FMD
/         05017, 05018, 05019, 0501A, 0501B, 0501C, AND                  FMD
/         0501D.                                                         FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   IF(B0.EQ.16) GOTO 36      *IF 05019 ERROR CODE 
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
36 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY 
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97M  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97I,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97I,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97I,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97I - PROCESS ERRORS FOR TEST 5.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97I - PROCESS ERRORS FOR TEST 5. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97I - PROCESS ERRORS FOR TEST 5. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0501E, 0501F, 05020,   FMD06
*         05021, 05022, 05023, 05023, 05024, 05026, AND 05027.           FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 1E, OR 1F, OR 20,  FMD
*         OR 21, OR 22, OR 23, OR 24, OR 25, 0R 26, OR 27, THE ERROR     FMD
*         DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER DOES   FMD
*         NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO  FMD
*IF DEF,SFMD
*         THE FMD97J MODULE.                                             FMD
*ENDIF
*IF DEF,PFMD
*         THE FHD97J MODULE.
*ENDIF
*IF DEF,LSFMD 
*         THE FLD97J MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97M TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97M TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97M TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97J -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97J - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97J - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97M -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97M - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97M - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97J - PROCESS ERRORS.                                       FMD
*         FMD97M - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97N - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97J - PROCESS ERRORS.
*         FHD97M - PROCESS ISOLATION INFORMATION. 
*         FHD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97J - PROCESS ERRORS.
*         FLM97M - PROCESS ISOLATION INFORMATION. 
*         FLD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - MASK FOR BUS IN STATUS.                          FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN STATUS.                         FMD
*         B12 REGISTER - ACTUAL BUS IN STATUS.                           FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 05018.                                           FMD
*                                                                        FMD
0  FORMAT AFTER ISSUING AN 8B CMD (STATUS WORD 4), BUS IN                FMD
1  FORMAT AFTER ISSUING AN 8C CMD (STATUS WORD 5), BUS IN                FMD
*                                                                        FMD
/         ERROR MESSAGE 0501E.                                           FMD
*                                                                        FMD
2  FORMAT BIT 0 WAS ACTIVE. THIS INDICATES MOTOR SPEED LATCH             FMD
3  FORMAT STATUS WAS ACTIVE.                                             FMD
*                                                                        FMD
/         ERROR MESSAGE 0501F.                                           FMD
*                                                                        FMD
4  FORMAT BIT 1 WAS ACTIVE. THIS INDICATES AIR SWITCH LATCH              FMD
5  FORMAT STATUS WAS ACTIVE.                                             FMD
*                                                                        FMD
/         ERROR MESSAGE 05020.                                           FMD
*                                                                        FMD
6  FORMAT BIT 2 WAS ACTIVE. THIS INDICATES INHIBIT HDA                   FMD
7  FORMAT CYCLE STATUS WAS ACTIVE.                                       FMD
*                                                                        FMD
/         ERROR MESSAGE 05021.                                           FMD
*                                                                        FMD
10 FORMAT BIT 3 WAS ACTIVE. THIS INDICATES HDA SEQUENCE                  FMD
11 FORMAT CHECK LATCH STATUS WAS ACTIVE.                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 05022.                                           FMD
*                                                                        FMD
12 FORMAT BIT 4 WAS ACTIVE. THIS INDICATES SEQUENCE LATCH 1              FMD
13 FORMAT STATUS WAS ACTIVE.                                             FMD
*                                                                        FMD
/         ERROR MESSAGE 05023.                                           FMD
*                                                                        FMD
14 FORMAT BIT 5 WAS NOT ACTIVE. THIS INDICATES SEQUENCE                  FMD
15 FORMAT LATCH 2 STATUS WAS NOT ACTIVE.                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 05024.                                           FMD
*                                                                        FMD
16 FORMAT BIT 6 WAS NOT ACTIVE. THIS INDICATES SEQUENCE                  FMD
17 FORMAT LATCH 4 STATUS WAS NOT ACTIVE.                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 05025.                                           FMD
*                                                                        FMD
20 FORMAT BIT 7 WAS NOT ACTIVE. THIS INDICATES HDA SEQUENCE              FMD
21 FORMAT COMPLETE STATUS WAS NOT ACTIVE.                                FMD
*                                                                        FMD
/         ERROR MESSAGE 05026.                                           FMD
*                                                                        FMD
22 FORMAT BIT 0 WAS ACTIVE. THIS INDICATES HEAD SHORT STATUS             FMD
23 FORMAT WAS ACTIVE.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 05027.                                           FMD
*                                                                        FMD
24 FORMAT BIT 1 WAS ACTIVE. THIS INDICATES INDEX CHECK                   FMD
25 FORMAT STATUS WAS ACTIVE.                                             FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=0                      *FIRST LINE FORMAT NUMBER                   FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 36) GOTO 34       *IF ERROR CODE 0501E                       FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 37) GOTO 34       *IF ERROR CODE 0501F                       FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 40) GOTO 34       *IF ERROR CODE 05020                       FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 41) GOTO 34       *IF ERROR CODE 05021                       FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 42) GOTO 34       *IF ERROR CODE 05022                       FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 43) GOTO 34       *IF ERROR CODE 05023                       FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 44) GOTO 34       *IF ERROR CODE 05024                       FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 45) GOTO 34       *IF ERROR CODE 05025                       FMD
   B0=1                      *FIRST LINE FORMAT NUMBER                   FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 46) GOTO 34       *IF ERROR CODE 05026                       FMD
   B2=31                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 47) GOTO 34       *IF ERROR CODE 05027                       FMD
   EXIT TO 97J               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0501E, 0501F, 05020, 05021,                FMD
/         05022, 05023, 05024, 05025, 05026, AND 05027.                  FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97M  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97J,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97J,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97J,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97J - PROCESS ERRORS FOR TEST 5.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97J - PROCESS ERRORS FOR TEST 5. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97J - PROCESS ERRORS FOR TEST 5. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 05028, 05029, 0502A,   FMD06
*         0502B, 0502C, 0502D, 0502E, 0502F, 05030, AND 05031.           FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 28, OR 29, OR 2A,  FMD
*         OR 2B, OR 2C, OR 2D, OR 2E, OR 2F, OR 30, 0R 31, THE ERROR     FMD
*         DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER DOES   FMD
*         NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO  FMD
*IF DEF,SFMD
*         THE FMD97K MODULE.                                             FMD
*ENDIF
*IF DEF,PFMD
*         THE FHD97K MODULE.
*ENDIF
*IF DEF,LSFMD 
*         THE FLD97K MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97M TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97M TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97M TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97K -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97K - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97K - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97M -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97M - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97M - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97K - PROCESS ERRORS.                                       FMD
*         FMD97M - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97N - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97K - PROCESS ERRORS.
*         FHD97M - PROCESS ISOLATION INFORMATION. 
*         FHD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97K - PROCESS ERRORS.
*         FLM97M - PROCESS ISOLATION INFORMATION. 
*         FLD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - MASK FOR BUS IN STATUS.                          FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN STATUS.                         FMD
*         B12 REGISTER - ACTUAL BUS IN STATUS.                           FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         FIRST LINES OF THE ERROR MESSAGES.                             FMD
*                                                                        FMD
0  FORMAT AFTER ISSUING AN 8C CMD (STATUS WORD 5), BUS IN                FMD
1  FORMAT AFTER ISSUING AN 8D CMD (STATUS WORD 6), BUS IN                FMD
*                                                                        FMD
/         ERROR MESSAGE 05028.                                           FMD10
*                                                                        FMD
2  FORMAT BIT 2 WAS ACTIVE. THIS INDICATES CONTROL ERROR                 FMD
3  FORMAT STATUS WAS ACTIVE. THIS INDICATES READ OR WRITE                FMD
4  FORMAT ACTIVE.                                                        FMD
/         ERROR MESSAGE 05029.                                           FMD
*                                                                        FMD
5  FORMAT BIT 3 WAS ACTIVE. THIS INDICATES WRITE TRANSITION              FMD
6  FORMAT ERROR STAUS WAS ACTIVE.                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0502A.                                           FMD
*                                                                        FMD
7  FORMAT BIT 4 WAS ACTIVE. THIS INDICATES WRITE CURRENT                 FMD
10 FORMAT ERROR STATUS WAS ACTIVE.                                       FMD
*                                                                        FMD
/         ERROR MESSAGE 0502B.                                           FMD
*                                                                        FMD
11 FORMAT BIT 5 WAS ACTIVE. THIS INDICATES MULTIHEAD ERROR               FMD
12 FORMAT STATUS WAS ACTIVE.                                             FMD
*                                                                        FMD
/         ERROR MESSAGE 0502C.                                           FMD
*                                                                        FMD
13 FORMAT BIT 6 WAS ACTIVE. THIS INDICATES WRITE OVERRUN                 FMD
14 FORMAT STATUS WAS ACTIVE.                                             FMD
*                                                                        FMD
/         ERROR MESSAGE 0502D.                                           FMD
*                                                                        FMD
15 FORMAT BIT 7 WAS ACTIVE. THIS INDICATES CAPABLE ENABLE                FMD
16 FORMAT ERROR STATUS WAS ACTIVE.                                       FMD
*                                                                        FMD
/         ERROR MESSAGE 0502E.                                           FMD
*                                                                        FMD
17 FORMAT BIT 0 WAS ACTIVE. THIS INDICATES REV OFFSET STATUS             FMD
20 FORMAT WAS ACTIVE.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 0502F.                                           FMD
*                                                                        FMD
21 FORMAT BIT 1 WAS ACTIVE. THIS INDICATES FWD OFFSET STATUS             FMD
22 FORMAT WAS ACTIVE.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 05030.                                           FMD
*                                                                        FMD
23 FORMAT 2 WAS ACTIVE. THIS INDICATES LATE STROBE STATUS                FMD
24 FORMAT WAS ACTIVE.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 05031.                                           FMD
*                                                                        FMD
25 FORMAT 3 WAS ACTIVE. THIS INDICATES EARLY STROBE STATUS               FMD
26 FORMAT WAS ACTIVE.                                                    FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=0                      *FIRST LINE FORMAT NUMBER                   FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=32                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 50) GOTO 34      *IF ERROR CODE 05028                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 51) GOTO 34      *IF ERROR CODE 05029                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 52) GOTO 34      *IF ERROR CODE 0502A                        FMD
   B2=33                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 53) GOTO 34      *IF ERROR CODE 0502B                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 54) GOTO 34      *IF ERROR CODE 0502C                        FMD
   B2=34                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 55) GOTO 34      *IF ERROR CODE 0502D                        FMD
   B0=1                      *FIRST LINE FORMAT NUMBER                   FMD
   B2=35                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 56) GOTO 34      *IF ERROR CODE 0502E                        FMD
   B2=36                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 57) GOTO 34      *IF ERROR CODE 0502F                        FMD
   B2=37                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 60) GOTO 34      *IF ERROR CODE 05030                        FMD
   B2=37                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 61) GOTO 34      *IF ERROR CODE 05031                        FMD
   EXIT TO 97K               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 05028, 05029, 0502A, 0502B,                FMD
/         0503C, 0502D, 0502E 0502F, 05030, AND 05031.                   FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC NE 50) GOTO 40      *IF NOT ERROR CODE 05028                    FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
40 PASS                                                                  FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97M  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97K,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97K,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97K,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97K - PROCESS ERRORS FOR TEST 5.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97K - PROCESS ERRORS FOR TEST 5. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97K - PROCESS ERRORS FOR TEST 5. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 05030, 05031, 05032,   FMD06
*         05033, 05034, 05035, 05035, 05036, 05037, AND 05038.           FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 30, OR 31, OR 32,  FMD
*         OR 33, OR 34, OR 35, OR 36, OR 37, OR 38, ERROR DISPLAY WILL   FMD
*         BE BUILT FOR THE ERROR. IF THE EC REGISTER DOES NOT CONTAIN    FMD
*IF DEF,SFMD
*         ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FMD97L   FMD
*ENDIF
*IF DEF,PFMD
*         ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FHD97L
*ENDIF
*IF DEF,LSFMD 
*         ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FLD97L
*ENDIF
*         MODULE.                                                        FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97M TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97M TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97M TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97L -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97L - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97L - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97M -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97M - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97M - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97L - PROCESS ERRORS.                                       FMD
*         FMD97M - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97N - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97L - PROCESS ERRORS.
*         FHD97M - PROCESS ISOLATION INFORMATION. 
*         FHD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97L - PROCESS ERRORS.
*         FLM97M - PROCESS ISOLATION INFORMATION. 
*         FLD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - MASK FOR BUS IN STATUS.                          FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN STATUS.                         FMD
*         B12 REGISTER - ACTUAL BUS IN STATUS.                           FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 05032.                                           FMD
*                                                                        FMD
0  FORMAT AFTER ISSUING AN 8D CMD (STATUS WORD 6), BUS IN                FMD
1  FORMAT BITS 4 AND 5 WERE ACTIVE. THIS INDICATES ONE OR                FMD
2  FORMAT BOTH OF TWO UNUSED STATUS BITS WERE ACTIVE.                    FMD
*                                                                        FMD
/         ERROR MESSAGE 05033.                                           FMD
*                                                                        FMD
3  FORMAT AFTER ISSUING AN 8D CMD (STATUS WORD 6), BUS IN                FMD
4  FORMAT BIT 6 WAS ACTIVE. THIS INDICATES WRITE IN OFFSET               FMD
5  FORMAT STATUS WAS ACTIVE.                                             FMD
*                                                                        FMD
/         ERROR MESSAGE 05034.                                           FMD
*                                                                        FMD
6  FORMAT AFTER ISSUING AN 8D CMD (STATUS WORD 6), BUS IN                FMD
7  FORMAT BIT 7 WAS ACTIVE. THIS INDICATES WRITE OR READ                 FMD
10 FORMAT AND NO CONTROL SELECT WAS ACTIVE.                              FMD
*                                                                        FMD
/         ERROR MESSAGE 05035.                                           FMD
*                                                                        FMD
11 FORMAT AFTER ISSUING AN 8E CMD (STATUS WORD 7), BUS IN                FMD
12 FORMAT STATUS WAS NOT EQUAL TO ZERO. READY AND SAFE HAS               FMD
13 FORMAT PREVIOUSLY BEEN ACTIVE. THIS INDICATES A STATUS                FMD
14 FORMAT FAILURE ON AN 8E CMD.                                          FMD
/         ERROR MESSAGE 05036.                                           FMD
*                                                                        FMD
15 FORMAT AFTER ISSUING AN 8F CMD (STATUS WORD 8), STATUS                FMD
16 FORMAT INDICATES BUS IN WAS NOT EQUAL TO ZERO.                        FMD
*                                                                        FMD
/         ERROR MESSAGE 05037.                                           FMD
*                                                                        FMD
17 FORMAT THE DIRECTION BIT WAS LOADED WITH A 42 CMD, BUT                FMD
20 FORMAT AFTER ISSUING AN 8A CMD (STATUS WORD 3), BUS IN                FMD
21 FORMAT BIT 7 WAS NOT ACTIVE.                                          FMD
*                                                                        FMD
/         ERROR MESSAGE 05038.                                           FMD
*                                                                        FMD
22 FORMAT AFTER SETTING EARLY STROBE WITH A 4D CMD, AN 8D                FMD
23 FORMAT CMD WAS ISSUED (STATUS WORD 6). STATUS INDICATED               FMD
24 FORMAT EARLY STROBE NOT SET, BUS IN BIT 3 NOT ACTIVE.                 FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=14                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 62) GOTO 40      *IF ERROR CODE 05032                        FMD
   B2=40                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 63) GOTO 40      *IF ERROR CODE 05033                        FMD
   B2=40                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 64) GOTO 40      *IF ERROR CODE 05034                        FMD
   B2=41                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 65) GOTO 34      *IF ERROR CODE 05035                        FMD
   B2=42                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 66) GOTO 44      *IF ERROR CODE 05036                        FMD
   B2=43                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 67) GOTO 40      *IF ERROR CODE 05037                        FMD
   B2=37                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 70) GOTO 40      *IF ERROR CODE 05038                        FMD
   EXIT TO 97L               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODE 05035.                                      FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 05032, 05033, 05034, 05037,                FMD
/         AND 05038.                                                     FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODE 05036.                                      FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97M  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97L,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97L,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97L,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97L - PROCESS ERRORS FOR TEST 5.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97L - PROCESS ERRORS FOR TEST 5. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97L - PROCESS ERRORS FOR TEST 5. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 05039, 0503A, 0503B,   FMD06
*         0503C, 0503D, 0503E, 0503F, AND 05040.
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE ERROR DISPLAY WILL BE BUILT FOR ERROR CODES 39, 3A, 3B,    FMD
*         3C, 3D, 3E, 3F, AND 40. 
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97M TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97M TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97M TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97M -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97M - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97M - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97M - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97N - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97M - PROCESS ISOLATION INFORMATION. 
*         FHD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLM97M - PROCESS ISOLATION INFORMATION. 
*         FLD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - MASK FOR BUS IN STATUS.                          FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN STATUS.                         FMD
*         B12 REGISTER - ACTUAL BUS IN STATUS.                           FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 05039.                                           FMD
*                                                                        FMD
0  FORMAT DROPPING SELECT LINE FAILED TO CLEAR OUT EARLY                 FMD
1  FORMAT STROBE STATUS UNDER 8D CMD (STATUS WORD 6 BUS IN               FMD
2  FORMAT WAS NOT EQUAL TO ZERO).                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0503A AND 0503F.
*                                                                        FMD
3  FORMAT IN MANUAL INTERVENTION MODE THE DEVICE ADDRESS                 FMD
4  FORMAT SWITCHES WERE SET TO MAX (1111 1111). UPON ISSUING             FMD
5  FORMAT AN 87 CMD (STATUS WORD 0) BUS IN WAS INCORRECT.                FMD
*                                                                        FMD
/         ERROR MESSAGE 0503B AND 05040.
*                                                                        FMD
6  FORMAT IN MANUAL INTERVENTION MODE THE DEVICE ADDRESS                 FMD
7  FORMAT SWITCHES WERE SET TO ALL ZEROS.  UPON ISSUING AN
10 FORMAT 87 CMD (STATUS WORD 0), BUS IN WAS INCORRECT. 
*                                                                        FMD
/         ERROR MESSAGE 0503C.                                           FMD
*                                                                        FMD
11 FORMAT IN MANUAL INTERVENTION MODE THE SYSTEM MAINT                   FMD
12 FORMAT SWITCH WAS TURNED OFF. STATUS INDICATES SYSTEM                 FMD
13 FORMAT MAINT SWITCH STILL ON.                                         FMD
*                                                                        FMD
/         ERROR MESSAGE 0503D.                                           FMD
*                                                                        FMD
14 FORMAT IN MANUAL INTERVENTION READ ONLY WAS DEPRESSED AND             FMD
15 FORMAT BUS IN STATUS RCVD FROM A STATUS WORD 1 CMD (CMD               FMD
16 FORMAT 88) WAS INCORRECT.                                             FMD
*                                                                        FMD
/         ERROR MESSAGE 0503E.                                           FMD
*                                                                        FMD
17 FORMAT AFTER SETTING LATE STROBE WITH A 4D CMD, AN 8D                 FMD10
20 FORMAT CMD WAS ISSUED (STATUS WORD 6). STATUS INDICATED               FMD
21 FORMAT EARLY STROBE NOT SET, BUS IN BIT 2 NOT ACTIVE.                 FMD
* 
/         ERROR MESSAGE 0503F.
* 
22 FORMAT AN 88 CMD (STATUS WORD 1) BUS IN WAS INCORRECT. 
* 
/         ERROR MESSAGE 05040.
* 
23 FORMAT 88 CMD (STATUS WORD 1), BUS IN WAS INCORRECT. 
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=44                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 71) GOTO 34      *IF ERROR CODE 05039                        FMD
   B2=45                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 72) GOTO 34      *IF ERROR CODE 0503A                        FMD
   B2=45                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 73) GOTO 34      *IF ERROR CODE 0503B                        FMD
   B2=12                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 74) GOTO 34      *IF ERROR CODE 0503C                        FMD
   B2=12                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 75) GOTO 34      *IF ERROR CODE 0503D                        FMD
   B2=37                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 76) GOTO 34      *IF ERROR CODE 0503E 
   B2=45                     *SET INFORMATION FLAG FOR ERROR
   IF(EC EQ 77) GOTO 34      *IF ERROR CODE 0507F 
   B2=45                     *SET INFORMATION FLAG FOR ERROR
*                                                                        FMD
/         PROCESS ERROR CODES 05039, 0503A, 0503B, 0503C,                FMD
/         0503D, 0503E, 0503F, AND 05040. 
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   IF(EC EQ 77) B0=22        *SET LAST LINE FORMAT
   IF(EC EQ 100) B0=23       *SET LAST LINE FORMAT
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 76) GOTO 50      *IF ERROR CODE 0503E                        FMD
   IF(EC EQ 71) B12=B12 AND B8  *IF ERROR CODE 05039
46 B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 27 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97M  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97M,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97M,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97M,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97M - PROCESS ISOLATION INFORMATION FOR TEST 5.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD97M - PROCESS ISOLATION INFORMATION FOR TEST 5.
*ENDIF
*IF DEF,LSFMD 
*         FLD97M - PROCESS ISOLATION INFORMATION FOR TEST 5.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD97M PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD27, FMD28, FMD29 AND FMD30.  FMD
*ENDIF
*IF DEF,PFMD
*         FHD97M PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD27, FHD28, FHD29 AND FHD30. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97M PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD27, FLD28, FLD29 AND FLD30. 
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO OR THREE LINE MESSAGE WILL BE APPENDED ONE LINE AFTER    FMD
*IF DEF,SFMD
*         THE END OF THE ERROR MESSAGE. EXIT WILL BE MADE TO THE FMD97N  FMD
*ENDIF
*IF DEF,PFMD
*         THE END OF THE ERROR MESSAGE. EXIT WILL BE MADE TO THE FHD97N 
*ENDIF
*IF DEF,LSFMD 
*         THE END OF THE ERROR MESSAGE WILL BE APPENDED ONE LINE AFTER
*ENDIF
*         MODULE.                                                        FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97N - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97N - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - MESSAGE FORMAT NUMBER.                           FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
0  FORMAT REPLACE PWBS ONE AT A TIME IN THE FOLLOWING                    FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
5  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.                     FMD
*                                                                        FMD
/         ERROR MESSAGE 05001 ISOLATION INFORMATION.                     FMD
/         ERROR MESSAGE 05003 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
13 FORMAT PERFORM CORRECTIVE ACTION UNDER 2ND ERROR CODE                 FMD
14 FORMAT WHICH FURTHER DEFINES THE READY AND SAFE FAULT.                FMD
*                                                                        FMD
/         ERROR MESSAGE 05005 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
15 FORMAT SET SYS MAINT. REPLACE A/B25. IF BIT 7 NOT ACTIVE,
16 FORMAT REPLACE A/B23. IF BIT 6 NOT ACTIVE, REPLACE A/B31.
*                                                                        FMD
/         ERROR MESSAGE 05006 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
17 FORMAT CHECK IF MOTOR IS RUNNING, IF SO REPLACE A/B27                 FMD
20 FORMAT AND A/B38.                                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 05007 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
21 FORMAT IF DEVICE START SWITCH IS ON, REPLACE PWBS A/B27               FMD
22 FORMAT AND A/B31. CHECK CABLES FROM START SWITCH TO                   FMD
23 FORMAT BACKPANEL.                                                     FMD
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
*                                                                        FMD
30 B1=B1+2                   *INSERT BLANK LINE                          FMD
   B0=13                     *FORMAT MESSAGE NUMBER                      FMD
   IF(B2 EQ 1)GOTO 32        *IF ERROR CODE 05001 OR 05003               FMD
   B0=15                     *FORMAT MESSAGE NUMBER                      FMD
   IF(B2 EQ 2)GOTO 32        *IF ERROR CODE 05005                        FMD
   B0=17                     *FORMAT MESSAGE NUMBER                      FMD
   IF(B2 EQ 3)GOTO 32        *IF ERROR CODE 05006                        FMD
   B0=22                     *FORMAT MESSAGE NUMBER                      FMD
   IF(B2 NE 4)GOTO 34        *IF NOT ERROR CODE 05007                    FMD
   MSG 21 TO LINE B1         *MOVE MESSAGE TO ERROR DISPLAY              FMD
   B1=B1+1                   *INCREMENT LINE NUMBER                      FMD
32 MSG B0 TO LINE B1         *MOVE NEXT LINE                             FMD
   B0=B0+1                   *INCREMENT FORMAT NUMBER                    FMD
   B1=B1+1                   *INCREMENT LINE NUMBER                      FMD
   MSG B0 TO LINE B1         *MOVE NEXT LINE                             FMD
   EXIT TO 97N               *EXIT TO NEXT ISOLATION MODULE              FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS                               FMD
*                                                                        FMD
34 MSG 0 TO LINE B1          *BOARDS MSG TO NEXT LINE                    FMD
   B1=B1+1                   *INCREMENT DISPLAY NUMBER                   FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 05000.                         FMD
*                                                                        FMD
   IF(B2 EQ 5) MSG 3(20D,03D,21D)TO LINE B1                              FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 05002.                         FMD
*                                                                        FMD
   IF(B2 EQ 6) MSG 4(22D,23D,21D,20D)TO LINE B1                          FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 05004.                         FMD
*                                                                        FMD
   IF(B2 EQ 7) MSG 5(33D,34D,23D,35D,39D)TO LINE B1                      FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 05008, 05020,                 FMD
/         AND 05021.                                                     FMD
*                                                                        FMD
   IF(B2 EQ 10) MSG 3(27D,31D,32D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 05009.                         FMD
*                                                                        FMD
   IF(B2 EQ 11) MSG 3(27D,32D,34D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0500A, 0503C,                  FMD
/         AND 0503D.                                                     FMD
*                                                                        FMD
   IF(B2 EQ 12) MSG 2(27D,31D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0500B.                         FMD
*                                                                        FMD
   IF(B2 EQ 13) MSG 2(27D,32D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0500C, 0500D,                 FMD
/         AND 05032.                                                     FMD
*                                                                        FMD
   IF(B2 EQ 14) MSG 3(27D,26D,25D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0500E, 0500F,                 FMD
/         05010, AND 05013.                                              FMD
*                                                                        FMD
   IF(B2 EQ 15) MSG 3(27D,33D,34D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 05011.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 16) MSG 4(27D,15D,33D,34D)TO LINE B1                         FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 16) MSG 4(27D,29D,33D,34D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 16) MSG 4(27D,15D,33D,34D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 05012.                         FMD
*                                                                        FMD
   IF(B2 EQ 17) MSG 3(27D,34D,33D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 05014.                         FMD
*                                                                        FMD
   IF(B2 EQ 20) MSG 2(27D,34D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 05015 AND 05017.              FMD
*                                                                        FMD
   IF(B2 EQ 21) MSG 2(27D,33D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 05016.                         FMD
*                                                                        FMD
   IF(B2 EQ 22) MSG 3(27D,23D,33D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 05018 AND 05019.              FMD
*                                                                        FMD
   IF(B2 EQ 23) MSG 2(27D,22D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0501A.                         FMD
*                                                                        FMD
   IF(B2 EQ 24) MSG 2(27D,36D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0501B.                         FMD
*                                                                        FMD
   IF(B2 EQ 25) MSG 3(27D,37D,34D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0501C.                         FMD
*                                                                        FMD
   IF(B2 EQ 26) MSG 2(27D,38D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0501D, 05026,                 FMD
/         05029, 0502A, AND 0502C.                                       FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 27) MSG 2(27D,16D)TO LINE B1                                 FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 27) MSG 2(27D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 27) MSG 2(27D,16D)TO LINE B1
*ENDIF
   EXIT TO 97N               *EXIT TO NEXT ISOLATION MOCULE              FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97N,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97N,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97N,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97N - PROCESS ISOLATION INFORMATION FOR TEST 5.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD97N - PROCESS ISOLATION INFORMATION FOR TEST 5.
*ENDIF
*IF DEF,LSFMD 
*         FLD97N - PROCESS ISOLATION INFORMATION FOR TEST 5.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD97N PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD27, FMD28, FMD29 AND FMD30.  FMD
*ENDIF
*IF DEF,PFMD
*         FHD97N PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD27, FHD28, FHD29 AND FHD30. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97N PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD27, FLD28, FLD29 AND FLD30. 
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO OR THREE LINE MESSAGE WILL BE APPENDED ONE LINE AFTER    FMD
*         THE END OF THE ERROR MESSAGE. THE ERROR MESSAGE WILL THEN BE   FMD
*         PRESENTED TO THE OPERATOR.                                     FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - MESSAGE FORMAT NUMBER.                           FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
6  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.              FMD
7  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D,              FMD
10 FORMAT         A/B*D.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0502D ISOLATION INFORMATION.                     FMD
*                                                                        FMD
13 FORMAT CHECK READ ONLY SWITCH.                                        FMD
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
/                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0501E, 0501F,                 FMD
/         05022, 05023, 05024, AND 05025.                                FMD
*                                                                        FMD
30 IF(B2 EQ 30) MSG 4(27D,32D,31D,22D)TO LINE B1
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 05027.                         FMD
*                                                                        FMD
   IF(B2 EQ 31) MSG 4(27D,38D,28D,40D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 05028.                         FMD
*                                                                        FMD
   IF(B2 EQ 32) MSG 3(27D,24D,21D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0502B.                         FMD
*                                                                        FMD
   IF(B2 EQ 33) MSG 2(27D,24D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0502D.                         FMD
*                                                                        FMD
   IF(B2 NE 34)GOTO 34                                                   FMD
   MSG 3(27D,24D,34D)TO LINE B1                                          FMD
   MSG 13 TO LINE B1+1                                                   FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0502E.                         FMD
*                                                                        FMD
*IF DEF,SFMD
34 IF(B2 EQ 35) MSG 3(27D,15D,23D)TO LINE B1                             FMD
*ENDIF
*IF DEF,PFMD
34 IF(B2 EQ 35) MSG 3(27D,29D,23D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
34 IF(B2 EQ 35) MSG 3(27D,15D,23D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0502F.                         FMD
*                                                                        FMD
   IF(B2 EQ 36) MSG 3(27D,31D,23D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 05030, 05031,                 FMD
/         05038, AND 0503E.                                              FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 37) MSG 7(27D,20D,22D,15D,16D,23D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 37) MSG 7(27D,20D,22D,29D,30D,23D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 37) MSG 7(27D,20D,22D,15D,16D,23D)TO LINE B1
*ENDIF
   IF(B2 EQ 37) MSG 10(28D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 05033 AND 05034.              FMD
*                                                                        FMD
   IF(B2 EQ 40) MSG 3(27D,24D,23D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 05035.                         FMD
*                                                                        FMD
   IF(B2 EQ 41) MSG 4(27D,23D,22D,28D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 05036.                         FMD
*                                                                        FMD
   IF(B2 EQ 42) MSG 3(27D,22D,23D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 05037.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 43) MSG 6(27D,16D,22D,23D,15D,28D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 43) MSG 6(27D,30D,22D,23D,29D,28D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 43) MSG 6(27D,16D,22D,23D,15D,28D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 05039.                         FMD
*                                                                        FMD
   IF(B2 EQ 44) MSG 2(20D,21D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0503A, 0503B, 
/         0503F, AND 05040. 
*                                                                        FMD
   IF(B2 EQ 45) MSG 2(20D,25D)TO LINE B1                                 FMD
*                                                                        FMD
/         DISPLAY ERROR MESSAGE AND STOP ON THE ERROR.                   FMD
*                                                                        FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97O,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97O,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97O,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97O - PROCESS ERRORS FOR TEST 6.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97O - PROCESS ERRORS FOR TEST 6. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97O - PROCESS ERRORS FOR TEST 6. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 06000, 06001, 06002,   FMD06
*         06003, 06004, 06005, 06006, 06007, AND 06008.                  FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE FIRST THREE LINES FOR THE ERROR DISPLAY WILL BE PLACED IN  FMD
*         THE DISPLAY BUFFER.  IF THE ERROR CODE NUMBER IN THE EC        FMD
*         REGISTER IS A PRODUCT OVERLAY ERROR CODE, THE MODULE WILL EXIT FMD
*IF DEF,SFMD
*         TO THE FMD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE FMD
*ENDIF
*IF DEF,PFMD
*         TO THE FHD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*IF DEF,LSFMD 
*         TO THE FLD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*         ERROR. THE ERROR CODE LINE WILL BE PLACED IN THE DISPLAY       FMD
*         BUFFER. IF THE EC REGISTER CONTAINS THE ERROR CODES 00, OR 01, FMD
*         OR 02, OR 03, OR 04, OR 05, OR 06, OR 07, OR 08, THE ERROR     FMD
*         DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER DOES   FMD
*         NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO  FMD
*IF DEF,SFMD
*         THE FMD97P MODULE.                                             FMD
*ENDIF
*IF DEF,PFMD
*         THE FHD97P MODULE.
*ENDIF
*IF DEF,LSFMD 
*         THE FLD97P MODULE.
*ENDIF
*                                                                        FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97R TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97R TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97R TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98B -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98B - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98B - 
*ENDIF
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         THE FIRST THREE LINES OF THE ERROR DISPLAY PLACED IN THE       FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97P -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97P - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97P - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97R -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97R - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97R - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD97P - PROCESS ERRORS.                                       FMD
*         FMD97R - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD97P - PROCESS ERRORS.
*         FHD97R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLP97P - PROCESS ISOLATION INFORMATION. 
*         FLD97R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CALLING MODULE NUMBER.                           FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*IF DEF,SFMD
0  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
1  FORMAT FMD31 - SECTOR COMP. TEST 1                                    FMD
2  FORMAT FMD32 - SECTOR COMP. TEST 2                                    FMD
3  FORMAT FMD33 - SECTOR COUNTER TEST                                    FMD
4  FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD05
5  FORMAT FMD*D - LINE *OCT ERROR CODE 06*HE                             FMD
*ENDIF
*IF DEF,PFMD
0  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FHD31 - SECTOR COMP. TEST 1 
2  FORMAT FHD32 - SECTOR COMP. TEST 2 
3  FORMAT FHD33 - SECTOR COUNTER TEST 
4  FORMAT PRESERVICE FORECAST GROUP FHDD
5  FORMAT FHD*D - LINE *OCT ERROR CODE 06*HE
*ENDIF
*IF DEF,LSFMD 
0  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FLD31 - SECTOR COMP. TEST 1 
2  FORMAT FLD32 - SECTOR COMP. TEST 2 
3  FORMAT FLD33 - SECTOR COUNTER TEST 
4  FORMAT PRESERVICE FORECAST GROUP FMDD
5  FORMAT FLD*D - LINE *OCT ERROR CODE 06*HE
*ENDIF
6  FORMAT SECTOR COUNTER STATUS  E00*OB  A00*OB                          FMD
*                                                                        FMD
/         ERROR MESSAGE 06000.                                           FMD
*                                                                        FMD
7  FORMAT NO SELECT AND RESERVE AFTER DROPPING AND RAISING               FMD
10 FORMAT SELECT.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 06001.                                           FMD
*                                                                        FMD
11 FORMAT STATUS VALID NOT RETURNED.                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 06002.                                           FMD
*                                                                        FMD
12 FORMAT SECTOR NON COMPARE ERROR.                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 06003.                                           FMD
*                                                                        FMD
13 FORMAT BUS IS NOT AS EXPD AFTER LOAD SECTOR CMD.                      FMD
*                                                                        FMD
/         ERROR MESSAGE 06004.                                           FMD
*                                                                        FMD
14 FORMAT SECTOR COMPARE LINE NOT ACTIVE.                                FMD
*                                                                        FMD
/         ERROR MESSAGE 06005.                                           FMD
*                                                                        FMD
15 FORMAT READY AND SAFE NOT ACTIVE AFTER ISSUING A NORMAL               FMD
16 FORMAT CMD.                                                           FMD
*                                                                        FMD
/         ERROR MESSAGE 06006.                                           FMD
*                                                                        FMD
17 FORMAT THE SECTOR REGISTER WAS LOADED WITH A NUMBER FROM              FMD
20 FORMAT A COUNTER. A READ SECTOR REG WAS ISSUED AND                    FMD
21 FORMAT INCORRECT BUS IN INFORMATION WAS RCVD.                         FMD
*                                                                        FMD
/         ERROR MESSAGE 06007.                                           FMD
*                                                                        FMD
22 FORMAT THE SECTOR REGISTER WAS LOADED WITH AN ILLEGAL                 FMD
23 FORMAT SECTOR (ONE GREATER THAN 34). THIS FAILED TO CAUSE             FMD
24 FORMAT READY AND SAFE TO DEACTIVATE.                                  FMD
*                                                                        FMD
/         ERROR MESSAGE 06008.                                           FMD
*                                                                        FMD
25 FORMAT THE SECTOR REGISTER WAS LOADED WITH A NUMBER                   FMD
26 FORMAT GREATER THAN 34. BUS IN RETURNED WAS NOT EQUAL TO              FMD
27 FORMAT BUS OUT SENT.                                                  FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 MSG 0 TO LINE 1           *DIAGNOSTIC TITLE MESSAGE                   FMD
   B1=B0-30D                 *CALL MODULE NAME MESSAGE                   FMD
   MSG B1 TO LINE 2          *MODULE NUMBER AND NAME MESSAGE             FMD
   MSG 4 TO LINE 3           *PRESERVICE FORECAST MESSAGE                FMD05
   IF(EC GT 3777) EXIT TO 98B  *IF PRODUCT OVERLAY ERROR                 FMD
   MSG 5 (B0,EA,EC) TO LINE 5  *ERROR CODE TO DISPLAY                    FMD
   B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=2                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 0) GOTO 40       *IF ERROR CODE 06000                        FMD
   B2=3                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 1) GOTO 44       *IF ERROR CODE 06001                        FMD
   B2=4                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 2) GOTO 44       *IF ERROR CODE 06002                        FMD
   B2=5                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 3) GOTO 44       *IF ERROR CODE 06003                        FMD
   B2=6                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 4) GOTO 44       *IF ERROR CODE 06004                        FMD
   B2=1                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 5) GOTO 40       *IF ERROR CODE 06005                        FMD
   B2=7                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 6) GOTO 34       *IF ERROR CODE 06006                        FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 7) GOTO 34       *IF ERROR CODE 06007                        FMD
   B2=11                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 10) GOTO 34      *IF ERROR CODE 06008                        FMD
   EXIT TO 97P               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 06006, 06007, AND 06008.                   FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 06000 AND 06005.                           FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 06001, 06002, 06003, AND                   FMD
/         06004.                                                         FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 3)MSG 6(B11,B12)TO LINE 7  *STATUS DISPLAY LINE              FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97R  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97P,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97P,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97P,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97P - PROCESS ERRORS FOR TEST 6.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97P - PROCESS ERRORS FOR TEST 6. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97P - PROCESS ERRORS FOR TEST 6. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 06009, 0600A, 0600B,   FMD06
*         0600C, 0600D, 0600E, 0600F, 06010, AND 06011.                  FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 09, OR 0A, OR 0B,  FMD
*         OR 0C, OR 0D, OR 0E, OR 0F, OR 10, OR 11, THE ERROR DISPLAY    FMD
*         WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER DOES NOT       FMD
*         CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE  FMD
*IF DEF,SFMD
*         FMD97Q MODULE.                                                 FMD
*ENDIF
*IF DEF,PFMD
*         FHD97Q MODULE.
*ENDIF
*IF DEF,LSFMD 
*         FLD97Q MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97R TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97R TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97R TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97Q -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97Q - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97Q - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97R -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97R - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97R - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97Q - PROCESS ERRORS.                                       FMD
*         FMD97R - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97Q - PROCESS ERRORS.
*         FHD97R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97Q - PROCESS ERRORS.
*         FLP97P - PROCESS ISOLATION INFORMATION. 
*         FLD97R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 06009.                                           FMD
*                                                                        FMD
0  FORMAT AFTER ISSUING A LOAD SECTOR WITH A NUMBER GREATER              FMD
1  FORMAT THAN 34. THE SECTOR COMPARE LINE INDICATED A                   FMD
2  FORMAT SECTOR COMPARE.                                                FMD
*                                                                        FMD
/         ERROR MESSAGE 0600A.                                           FMD
*                                                                        FMD
3  FORMAT AFTER LOADING THE SECTOR REGISTER WITH AN ILLEGAL              FMD
4  FORMAT SECTOR, READY AND SAFE BECAME NOT ACTIVE.                      FMD
5  FORMAT HOWEVER, AFTER ISSUING AN 87 CMD (STATUS WORD 0)               FMD
6  FORMAT STATUS INDICATED READY AND SAFE ACTIVE.                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0600B.                                           FMD
*                                                                        FMD
7  FORMAT AFTER LOADING THE SECTOR REGISTER WITH AN ILLEGAL              FMD
10 FORMAT SECTOR, READY AND SAFE BECAME NOT ACTIVE.                      FMD
11 FORMAT HOWEVER, AFTER ISSUING AN 8E CMD, (STATUS WORD 7)              FMD
12 FORMAT INCORRECT STATUS WAS RECEIVED. THIS INDICATES                  FMD
13 FORMAT DRIVE CHECK AND SECTOR COMPARE STATUS WAS NOT                  FMD10
14 FORMAT RETURNED.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 0600C.                                           FMD
*                                                                        FMD
15 FORMAT A ZERO TRACK SEEK WAS ISSUED AND AFTER A 300 MS                FMD
16 FORMAT DELAY ON CYLINDER FAILED TO BECOME ACTIVE.                     FMD
*                                                                        FMD
/         ERROR MESSAGE 0600D.                                           FMD
*                                                                        FMD
17 FORMAT INCORRECT STATUS AFTER A SEEK CMD WAS ISSUED.                  FMD
*                                                                        FMD
/         ERROR MESSAGE 0600E.                                           FMD
*                                                                        FMD
20 FORMAT INCORRECT STATUS AFTER AN RTZ CMD.                             FMD
*                                                                        FMD
/         ERROR MESSAGE 0600F.                                           FMD
*                                                                        FMD
21 FORMAT ON CYL DID NOT BECOME ACTIVE AFTER PERFORMING AN               FMD
22 FORMAT RTZ CMD.                                                       FMD
*                                                                        FMD
/         ERROR MESSAGE 06010.                                           FMD
*                                                                        FMD
23 FORMAT INCORRECT STATUS AFTER A CLEAR FAULT CMD.                      FMD
*                                                                        FMD
/         ERROR MESSAGE 06011.                                           FMD
*                                                                        FMD
24 FORMAT READY AND SAFE WAS NOT ACTIVE AFTER ISSUING A                  FMD
25 FORMAT CLEAR FAULT CMD.                                               FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=12                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 11) GOTO 44      *IF ERROR CODE 06009                        FMD
   B2=13                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 12) GOTO 40      *IF ERROR CODE 0600A                        FMD
   B2=14                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 13) GOTO 34      *IF ERROR CODE 0600B                        FMD
   B2=15                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 14) GOTO 50      *IF ERROR CODE 0600C                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 15) GOTO 54      *IF ERROR CODE 0600D                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 16) GOTO 54      *IF ERROR CODE 0600E                        FMD
   B2=20                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 17) GOTO 50      *IF ERROR CODE 0600F                        FMD
   B2=21                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 20) GOTO 54      *IF ERROR CODE 06010                        FMD
   B2=22                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 21) GOTO 50      *IF ERROR CODE 06011                        FMD
   EXIT TO 97Q               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODE 06007.                                      FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODE 0600A.                                      FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODE 06009.                                      FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0600C, 0600F, AND 06011.                   FMD
*                                                                        FMD
50 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0600D, 0600E, AND 06010.                   FMD
*                                                                        FMD
54 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 15) GOTO 60      *IF ERROR CODE 0600D                        FMD
   IF(EC EQ 16) GOTO 60      *IF ERROR CODE 0600E                        FMD
   IF(EC NE 20) GOTO 64      *IF NOT ERROR CODE 06010                    FMD
60 B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 27 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
64 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97R  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97Q,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97Q,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97Q,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97Q - PROCESS ERRORS FOR TEST 6.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97Q - PROCESS ERRORS FOR TEST 6. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97Q - PROCESS ERRORS FOR TEST 6. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 06012, 06014, 06015,   FMD06
*         AND 06016.                                                     FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE ERROR DISPLAY WILL BE BUILT FOR ERROR CODES 12, 14, 15,    FMD
*         AND 16.                                                        FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97R TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97R TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97R TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97R -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97R - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97R - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97R - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 06012.                                           FMD
*                                                                        FMD
0  FORMAT INCORRECT STATUS AFTER LOADING SECTOR REGISTER                 FMD
1  FORMAT WITH ALL ZEROS.                                                FMD
*                                                                        FMD
/         ERROR MESSAGE 06014.                                           FMD
*                                                                        FMD
2  FORMAT AFTER LOADING SECTOR REGISTER WITH ALL ZEROS AND               FMD
3  FORMAT ISSUING A CLR FAULT CMD, READY AND SAFE WAS NOT                FMD
4  FORMAT ACTIVE.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 06015.                                           FMD
*                                                                        FMD
5  FORMAT READY AND SAFE NOT ACTIVE AFTER ISSUING A READ                 FMD
6  FORMAT SECTOR CTR.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 06016.                                           FMD
*                                                                        FMD
7  FORMAT UNABLE TO READ A SPECIFIED COUNT FROM THE SECTOR               FMD
10 FORMAT REGISTER.                                                      FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
26 FORMAT SECTOR COUNTER STATUS  E00*OB  A00*OB                          FMD
27 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=23                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 22) GOTO 34       *IF ERROR CODE 06012                       FMD
   B2=22                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 24) GOTO 32       *IF ERROR CODE 06014                       FMD
   B2=24                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 25) GOTO 34       *IF ERROR CODE 06015                       FMD
   B2=25                     *SET INFORMATION FLAG FOR ERROR             FMD
   GOTO 34                   *THE ERROR CODE IS 06016                    FMD
*                                                                        FMD
/         PROCESS ERROR CODE 06014.                                      FMD
*                                                                        FMD
32 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 06012, 06015, AND 06016.                   FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC NE 22) GOTO 50      *IF ERROR CODE 06012                        FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 27 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
50 IF(EC EQ 26)MSG 26(B11,B12)TO LINE 7  *DISPLAY STATUS                 FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97R  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97R,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97R,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97R,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97R - PROCESS ISOLATION INFORMATION FOR TEST 6.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD97R - PROCESS ISOLATION INFORMATION FOR TEST 6.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD97R PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD31, FMD32, AND FMD33.        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97R PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD31, FHD32, AND FHD33. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97R PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD31, FLD32, AND FLD33. 
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         A ONE OR TWO LINE MESSAGE WILL BE APPENDED ONE LINE AFTER THE  FMD
*         END OF THE ERROR MESSAGE.                                      FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
0  FORMAT REPLACE PWBS ONE AT A TIME IN THE FOLLOWING                    FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
5  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.                     FMD
6  FORMAT         A/B*D, SET SYSTEM MAINTENANCE SWITCH. 
7  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D,              FMD
11 FORMAT         A/B*D.
12 FORMAT         A/B*D, A/B*D. 
14 FORMAT         A/B*D, A/B*D, A/B*D, A/B*D. 
15 FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.
*                                                                        FMD
/         ERROR MESSAGE 06005 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
13 FORMAT PERFORM CORRECTIVE ACTION UNDER 2ND ERROR CODE.                FMD
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
*                                                                        FMD
30 B1=B1+2                   *INSERT BLANK LINE                          FMD
   IF(B2 NE 1) GOTO 32       *IF NOT ERROR CODE 06005                    FMD
   MSG 13 TO LINE B1         *MOVE MESSAGE TO ERROR DISPLAY              FMD
   GOTO 40                   *GO TO DISPLAY THE ERROR                    FMD
32 MSG 0 TO LINE B1          *BOARDS MSG TO NEXT LINE                    FMD
   B1=B1+1                   *INCREMENT DISPLAY NUMBER                   FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 06000.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 2) MSG 3(20D,03D,21D)TO LINE B1                              FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 2) MSG 3(20D,02D,21D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 2) MSG 3(20D,03D,21D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 06001.                         FMD
*                                                                        FMD
   IF(B2 EQ 3) MSG 4(22D,23D,21D,20D)TO LINE B1                          FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 06002.                         FMD
*                                                                        FMD
   IF(B2 EQ 4) MSG 4(28D,24D,38D,39D)TO LINE B1                          FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 06003.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 5) MSG 7(28D,25D,22D,23D,15D,16D)TO LINE B1 
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 5) MSG 7(28D,25D,22D,23D,29D,30D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF (B2 EQ 5) MSG 7(28D,25D,22D,23D,15D,16D)TO LINE B1
*ENDIF
   IF(B2 EQ 5) MSG 11(20D)TO LINE B1+1
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 06004.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 6) MSG 15(24D,28D,38D,03D,11D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 6) MSG 15(24D,28D,38D,02D,11D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 6) MSG 15(24D,28D,38D,03D,11D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 06006.                         FMD
*                                                                        FMD
   IF(B2 EQ 7) MSG 3(28D,25D,22D)TO LINE B1                              FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 06007.                         FMD
*                                                                        FMD
   IF(B2 EQ 10) MSG 4(28D,23D,38D,22D)TO LINE B1                         FMD15
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 06008.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 11) MSG 7(28D,25D,23D,38D,22D,15D)TO LINE B1
   IF(B2 EQ 11) MSG 12(16D,20D)TO LINE B1+1 
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 11) MSG 7(28D,25D,23D,38D,22D,29D)TO LINE B1
   IF(B2 EQ 11) MSG 12(30D,20D)TO LINE B1+1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 11) MSG 7(28D,25D,23D,38D,22D,15D)TO LINE B1
   IF(B2 EQ 11) MSG 12(16D,20D)TO LINE B1+1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 06009.                         FMD
*                                                                        FMD
   IF(B2 EQ 12) MSG 4(28D,24D,38D,11D)TO LINE B1
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0600A.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 13) MSG 7(25D,23D,22D,15D,16D,28D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 13) MSG 7(25D,23D,22D,29D,30D,28D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 13) MSG 7(25D,23D,22D,15D,16D,28D)TO LINE B1
*ENDIF
   IF(B2 EQ 13) MSG 6(20D)TO LINE B1+1
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0600B.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 14) MSG 7(27D,28D,23D,22D,15D,16D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 14) MSG 7(27D,28D,23D,22D,29D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 14) MSG 7(27D,28D,23D,22D,15D,16D)TO LINE B1
*ENDIF
   IF(B2 EQ 14) MSG 11(20D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0600C.                         FMD
*                                                                        FMD
   IF(B2 EQ 15) MSG 4(33D,34D,39D,35D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0600D.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 16) MSG 7(26D,23D,31D,22D,15D,16D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 16) MSG 7(26D,23D,31D,22D,29D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 16) MSG 7(26D,23D,31D,22D,15D,16D)TO LINE B1
*ENDIF
   IF(B2 EQ 16) MSG 12(28D,20D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0600E.                         FMD
*                                                                        FMD
   IF(B2 EQ 17) MSG 7(26D,23D,31D,33D,34D,22D)TO LINE B1
*IF DEF,SFMD
   IF(B2 EQ 17) MSG 14(15D,16D,28D,20D)TO LINE B1+1 
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 17) MSG 14(29D,30D,28D,20D)TO LINE B1+1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 17) MSG 14(15D,16D,28D,20D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0600F.                         FMD
*                                                                        FMD
   IF(B2 EQ 20) MSG 4(35D,34D,33D,23D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 06010.                         FMD
*                                                                        FMD
   IF(B2 EQ 21) MSG 4(26D,23D,33D,34D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 06011 AND 06014.              FMD
*                                                                        FMD
   IF(B2 EQ 22) MSG 3(28D,24D,23D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 06012.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 23) MSG 7(28D,25D,23D,22D,15D,16D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 23) MSG 7(28D,25D,23D,22D,29D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 23) MSG 7(28D,25D,23D,22D,15D,16D)TO LINE B1
*ENDIF
   IF(B2 EQ 23) MSG 11(20D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 06015.                         FMD
*                                                                        FMD
   IF(B2 EQ 24) MSG 3(28D,22D,23D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 06016.                         FMD
*                                                                        FMD
   IF(B2 EQ 25) MSG 3(28D,22D,25D)TO LINE B1                             FMD
*                                                                        FMD
/         DISPLAY ERROR MESSAGE AND STOP ON THE ERROR.                   FMD
*                                                                        FMD
40 PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97S,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97S,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97S,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97S - PROCESS ERRORS FOR TEST 7.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97S - PROCESS ERRORS FOR TEST 7. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97S - PROCESS ERRORS FOR TEST 7. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 07000, 07001, 07002,   FMD06
*         AND 07003.                                                     FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE FIRST THREE LINES FOR THE ERROR DISPLAY WILL BE PLACED IN  FMD
*         THE DISPLAY BUFFER.  IF THE ERROR CODE NUMBER IN THE EC        FMD
*         REGISTER IS A PRODUCT OVERLAY ERROR CODE, THE MODULE WILL EXIT FMD
*IF DEF,SFMD
*         TO THE FMD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE FMD
*ENDIF
*IF DEF,PFMD
*         TO THE FHD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*IF DEF,LSFMD 
*         TO THE MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE 
*ENDIF
*         ERROR. THE ERROR CODE LINE WILL BE PLACED IN THE DISPLAY       FMD
*         BUFFER. IF THE EC REGISTER CONTAINS THE ERROR CODES 00, OR 01, FMD
*         OR 02, OR 03, THE ERROR DISPLAY WILL BE BUILT FOR THE ERROR.   FMD
*         IF THE EC REGISTER DOES NOT CONTAIN ONE OF THESE ERROR CODES,  FMD
*IF DEF,SFMD
*         THE MODULE WILL EXIT TO THE FMD97T MODULE.                     FMD
*ENDIF
*IF DEF,PFMD
*         THE MODULE WILL EXIT TO THE FHD97T MODULE.
*ENDIF
*IF DEF,LSFMD 
*         THE MODULE WILL EXIT TO THE FLD97T MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD970 TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD970 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD970 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98B -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98B - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98B - 
*ENDIF
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         THE FIRST THREE LINES OF THE ERROR DISPLAY PLACED IN THE       FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97T -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97T - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97T - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD970 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD970 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD970 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD97T - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD97T - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CALLING MODULE NUMBER.                           FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*IF DEF,SFMD
0  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
1  FORMAT FMD34 - RTZ STATUS TEST 1                                      FMD
2  FORMAT FMD35 - RTZ STATUS TEST 2                                      FMD
3  FORMAT FMD36 - ONE TRACK SEEK TEST                                    FMD
4  FORMAT FMD37 - SEEK 2,4,8 TRACKS                                      FMD
5  FORMAT FMD38 - SEEK 16,32,64 TRACKS                                   FMD
6  FORMAT FMD39 - SEEK 128,256,512 TRK                                   FMD
7  FORMAT FMD40 - SEEK 842 TRACKS                                        FMD
10 FORMAT FMD41 - INCREMENTAL SEEKS                                      FMD
11 FORMAT FMD42 - TIMED RANDOM SEEKS                                     FMD
12 FORMAT FMD43 - OFFSET TEST 1                                          FMD
13 FORMAT FMD44 - OFFSET TEST 2                                          FMD
14 FORMAT FMD45 - OFFSET TEST 3                                          FMD
15 FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD05
16 FORMAT FMD*D - LINE *OCT ERROR CODE 07*HE                             FMD
*ENDIF
*IF DEF,PFMD
0  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FHD34 - RTZ STATUS TEST 1 
2  FORMAT FHD35 - RTZ STATUS TEST 2 
3  FORMAT FHD36 - ONE TRACK SEEK TEST 
4  FORMAT FHD37 - SEEK 2,4,8 TRACKS 
5  FORMAT FHD38 - SEEK 16,32,64 TRACKS
6  FORMAT FHD39 - SEEK 128,256,512 TRK
7  FORMAT FHD40 - SEEK 842 TRACKS 
10 FORMAT FHD41 - INCREMENTAL SEEKS 
11 FORMAT FHD42 - TIMED RANDOM SEEKS
12 FORMAT FHD43 - OFFSET TEST 1 
13 FORMAT FHD44 - OFFSET TEST 2 
14 FORMAT FHD45 - OFFSET TEST 3 
15 FORMAT PRESERVICE FORECAST GROUP FHDD
16 FORMAT FHD*D - LINE *OCT ERROR CODE 07*HE
*ENDIF
*IF DEF,LSFMD 
0  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FLD34 - RTZ STATUS TEST 1 
2  FORMAT FLD35 - RTZ STATUS TEST 2 
3  FORMAT FLD36 - ONE TRACK SEEK TEST 
4  FORMAT FLD37 - SEEK 2,4,8 TRACKS 
5  FORMAT FLD38 - SEEK 16,32,64 TRACKS
6  FORMAT FLD39 - SEEK 128,256,512 TRK
7  FORMAT FLD40 - SEEK 842 TRACKS 
10 FORMAT FLD41 - INCREMENTAL SEEKS 
11 FORMAT FLD42 - TIMED RANDOM SEEKS
12 FORMAT FLD43 - OFFSET TEST 1 
13 FORMAT FLD44 - OFFSET TEST 2 
14 FORMAT FLD45 - OFFSET TEST 3 
15 FORMAT PRESERVICE GROUP FMDD 
16 FORMAT FLD*D - LINE *OCT ERROR CODE 07*HE
*ENDIF
*                                                                        FMD
/         ERROR MESSAGE 07000.                                           FMD
*                                                                        FMD
17 FORMAT SELECT AND RESERVE NOT ACTIVE AFTER DROPPING AND               FMD
20 FORMAT RAISING SELECT.                                                FMD
*                                                                        FMD
/         ERROR MESSAGE 07001.                                           FMD
*                                                                        FMD
21 FORMAT NO STATUS VALID AFTER ISSUING A LEGAL CMD.                     FMD
*                                                                        FMD
/         ERROR MESSAGE 07002.                                           FMD
*                                                                        FMD
22 FORMAT INCORRECT STATUS ON BUS IN AFTER ISSUING A RTZ                 FMD
23 FORMAT CMD.                                                           FMD
*                                                                        FMD
/         ERROR MESSAGE 07003.                                           FMD
*                                                                        FMD
24 FORMAT UNIT FAILED TO LOSE ON CYL SIGNAL AFTER ISSUING A              FMD
25 FORMAT RTZ CMD.                                                       FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 MSG 0 TO LINE 1           *DIAGNOSTIC TITLE MESSAGE                   FMD
   B1=B0-33D                 *CALL MODULE NAME MESSAGE                   FMD
   MSG B1 TO LINE 2          *MODULE NUMBER AND NAME MESSAGE             FMD
   MSG 15 TO LINE 3          *PRESERVICE FORECAST MESSAGE                FMD05
   IF(EC GT 3777) EXIT TO 98B  *IF PRODUCT OVERLAY ERROR                 FMD
   MSG 16 (B0,EA,EC) TO LINE 5  *ERROR CODE TO DISPLAY                   FMD
   B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=5                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 0) GOTO 34       *IF ERROR CODE 07000                        FMD
   B2=6                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 1) GOTO 40       *IF ERROR CODE 07001                        FMD
   B2=7                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 2) GOTO 34       *IF ERROR CODE 07002                        FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 3) GOTO 34       *IF ERROR CODE 07003                        FMD
   EXIT TO 97T               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 07000, 07002, AND 07003.                   FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODE 07001.                                      FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC NE 2) GOTO 50       *IF NOT ERROR CODE 03008                    FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 27 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 970  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97T,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97T,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97T,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97T - PROCESS ERRORS FOR TEST 7.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97T - PROCESS ERRORS FOR TEST 7. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97T - PROCESS ERRORS FOR TEST 7. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 07005, 07006, 07007,   FMD06
*         07008, 07009, 0700A, 0700B, 0700C, 0700D, AND 0700E.           FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 05, OR 06, OR 07,  FMD
*         OR 08, OR 09, OR 0A, OR 0B, OR 0C, OR 0D, OR 0E, THE ERROR     FMD
*         DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER DOES   FMD
*         NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO  FMD
*IF DEF,SFMD
*         THE FMD97U MODULE.                                             FMD
*ENDIF
*IF DEF,PFMD
*         THE FHD97U MODULE.
*ENDIF
*IF DEF,LSFMD 
*         THE FLD97U MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD970 TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD970 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD970 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97U -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97U - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97U - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD970 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD970 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD970 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*         B3 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97U - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97U - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97U - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - TEMPORARY STORAGE.                               FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         FIRST LINE FOR ERRORS MESSAGES 07005 - 07009.                  FMD
*                                                                        FMD
0  FORMAT AFTER ISSUING A RTZ CMD, A STATUS WORD *H CMD WAS              FMD
*                                                                        FMD
/         ERROR MESSAGE 07005.                                           FMD
*                                                                        FMD
1  FORMAT ISSUED DURING THE RTZ. REZERO MODE LATCH STATUS                FMD
2  FORMAT DID NOT BECOME ACTIVE AFTER THE WAIT LATCH STATUS              FMD
3  FORMAT CHANGED.                                                       FMD
*                                                                        FMD
/         ERROR MESSAGE 07006.                                           FMD
*                                                                        FMD
4  FORMAT ISSUED DURING THE RTZ. REZERO LATCH AND CONTROL                FMD
5  FORMAT LATCH STATUS BITS WERE EXPECTED (0001 0010).                   FMD
*                                                                        FMD
/         ERROR MESSAGE 07007.                                           FMD
*                                                                        FMD
6  FORMAT ISSUED DURING THE RTZ. CONTROL LATCH, LINEAR MODE              FMD
7  FORMAT LATCH, AND REZERO MODE LATCH WERE EXPECTED.                    FMD
*                                                                        FMD
/         ERROR MESSAGE 07008.                                           FMD
*                                                                        FMD
10 FORMAT ISSUED DURING THE RTZ. LINEAR MODE LATCH AND                   FMD
11 FORMAT CONTROL LATCH WERE EXPECTED (0000 0110).                       FMD
*                                                                        FMD
/         ERROR MESSAGE 07009.                                           FMD
*                                                                        FMD
12 FORMAT ISSUED. DURING THE RTZ, GUARD BAND STATUS WAS                  FMD
13 FORMAT EXPECTED (0100 0000).                                          FMD
*                                                                        FMD
/         ERROR MESSAGE 0700A.                                           FMD
*                                                                        FMD
14 FORMAT AT THE COMPLETION OF A RTZ CMD, A STATUS WORD 2                FMD
15 FORMAT CMD WAS ISSUED, BUT STATUS WAS NOT AS EXPECTED.                FMD
*                                                                        FMD
/         ERROR MESSAGE 0700B.                                           FMD
*                                                                        FMD
16 FORMAT AFTER ISSUING A SEEK CMD, STATUS INDICATED OFFSET              FMD
17 FORMAT STATUS, BUS IN BIT 0 ACTIVE.                                   FMD
*                                                                        FMD
/         ERROR MESSAGE 0700C.                                           FMD
*                                                                        FMD
20 FORMAT ON CYL STILL ACTIVE AFTER ISSUING A SEEK CMD.                  FMD
*                                                                        FMD
/         ERROR MESSAGE 0700D.                                           FMD
*                                                                        FMD
21 FORMAT ON CYL DID NOT BECOME ACTIVE AFTER ISSUING A 1                 FMD
22 FORMAT TRACK FWD SEEK.                                                FMD
*                                                                        FMD
/         ERROR MESSAGE 0700E.                                           FMD
*                                                                        FMD
23 FORMAT AT THE COMPLETION OF A 1 TRACK FWD SEEK, A STATUS              FMD
24 FORMAT WORD 3 CMD (8A) WAS ISSUED AND INCORRECT STATUS                FMD
25 FORMAT WAS RECEIVED.                                                  FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B3=2                      *DRIVE COMMAND NUMBER                       FMD
   B2=11                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 5) GOTO 34       *IF ERROR CODE 07005                        FMD
   B2=11                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 6) GOTO 34       *IF ERROR CODE 07006                        FMD
   B2=11                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 7) GOTO 34       *IF ERROR CODE 07007                        FMD
   B2=12                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 10) GOTO 34      *IF ERROR CODE 07008                        FMD
   B3=3                      *DRIVE COMMAND NUMBER                       FMD
   B2=13                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 11) GOTO 34      *IF ERROR CODE 07009                        FMD
   B2=14                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 12) GOTO 44      *IF ERROR CODE 0700A                        FMD
   B2=15                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 13) GOTO 44      *IF ERROR CODE 0700B                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 14) GOTO 50      *IF ERROR CODE 0700C                        FMD
   B2=105                    *SET INFORMATION FLAG FOR ERROR
   IF(EC EQ 15) GOTO 44      *IF ERROR CODE 0700D                        FMD
   B2=20                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 16) GOTO 40      *IF ERROR CODE 0700E                        FMD
   EXIT TO 97U               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 07005, 07006, 07007, 07008,                FMD
/         AND 07009.                                                     FMD
*                                                                        FMD
34 MSG 0 (B3) TO LINE B1     *MOVE FIRST LINE OF MESSAGE                 FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   IF(EC NE 5) GOTO 44       *IF NOT ERROR CODE 07005                    FMD
*                                                                        FMD
/         PROCESS ERROR CODE 0700E.                                      FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0700A, 0700B, AND 0700C.                   FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODE 0700D.                                      FMD
*                                                                        FMD
50 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 14) GOTO 60     *IF ERROR CODE 0700C
   IF(EC EQ 15) GOTO 60     *IF ERROR CODE 0700D
54 B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 27 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
60 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 970  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97U,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97U,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97U,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97U - PROCESS ERRORS FOR TEST 7.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97U - PROCESS ERRORS FOR TEST 7. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97U - PROCESS ERRORS FOR TEST 7. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0700F, 07010, 07011,   FMD06
*         07012, 07013, 07014, 07015, 07016, 07017, 07018, 07019, 0701A, FMD06
*         0701B, 0701C, 0701D, 0701E, 0701F, 07020, 07021, 07022, AND    FMD06
*         07023.                                                         FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 0F, OR 10, OR 11,  FMD
*         OR 12, OR 13, OR 14, OR 15, OR 16, OR 17, OR 18, OR 19, OR 1A, FMD
*         OR 1B, OR 1C, OR 1D, OR 1E, OR 1F, OR 20, OR 21, OR 22, OR 23, FMD
*         THE ERROR DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC       FMD
*         REGISTER DOES NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE FMD
*IF DEF,SFMD
*         WILL EXIT TO THE FMD97V MODULE.                                FMD
*ENDIF
*IF DEF,PFMD
*         WILL EXIT TO THE FHD97V MODULE. 
*ENDIF
*IF DEF,LSFMD 
*         WILL EXIT TO THE FLD97V MODULE. 
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD970 TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD970 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD970 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97V -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97V - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97V - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD970 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD970 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD970 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*         B3 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97V - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97V - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97U - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CALLING MODULE NUMBER.                           FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGES 0700F, 07012, 07014, 07016, 0701A,              FMD
/         AND 0701E.                                                     FMD
*                                                                        FMD
0  FORMAT ON CYL FAILED TO COME ACTIVE AFTER ISSUING A RTZ               FMD10
1  FORMAT SEEK FROM TRACK *D.                                            FMD
*                                                                        FMD
/         ERROR MESSAGE 07010.                                           FMD
*                                                                        FMD
2  FORMAT ON CYL STATUS REMAINED ACTIVE AFTER ISSUING A TWO              FMD
3  FORMAT TRACK FWD SEEK.                                                FMD
*                                                                        FMD
/         ERROR MESSAGES 07011, 07013, 07015, 07019, 0701B,              FMD
/         AND 0701D.                                                     FMD
*                                                                        FMD
4  FORMAT ON CYL FAILED TO COME ACTIVE AFTER ISSUING A *D                FMD
5  FORMAT TRACK FWD SEEK.                                                FMD
*                                                                        FMD
/         ERROR MESSAGE 07017.                                           FMD
*                                                                        FMD
6  FORMAT WHILE ISSUING A 842 TRACK FWD SEEK, A STATUS WORD              FMD
7  FORMAT 3 CMD (8A) WAS ISSUED TO DETECT TRACK PULSES.                  FMD
10 FORMAT HOWEVER, NO TRACK CROSSING PULSES WERE DETECTED.               FMD
*                                                                        FMD
/         ERROR MESSAGE 07018.                                           FMD
*                                                                        FMD
11 FORMAT AFTER ISSUING A 16 TRACK FWD SEEK A STATUS WORD 3              FMD
12 FORMAT CMD (8A) WAS ISSUED TO DETECT TARGET VELOCITY.                 FMD
13 FORMAT HOWEVER, TARGET VELOCITY WAS NOT DETECTED.                     FMD
*                                                                        FMD
/         ERROR MESSAGE 0701C.                                           FMD
*                                                                        FMD
14 FORMAT ON CYL FAILED TO COME ACTIVE AFTER A RTZ CMD FROM              FMD
15 FORMAT TRACK 32.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 0701F.                                           FMD
*                                                                        FMD
16 FORMAT ON CYL FAILED TO COME ACTIVE AFTER ISSUING A 128               FMD
17 FORMAT TRACK FWD SEEK.                                                FMD
*                                                                        FMD
/         ERROR MESSAGE 07020.                                           FMD
*                                                                        FMD
20 FORMAT ON CYL FAILED TO COME ACTIVE AFTER A RTZ FROM                  FMD
21 FORMAT TRACK 128.                                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 07021.                                           FMD
*                                                                        FMD
22 FORMAT ON CYL FAILED TO COME ACTIVE AFTER ISSUING A 256               FMD
23 FORMAT TRACK FWD SEEK.                                                FMD
*                                                                        FMD
/         ERROR MESSAGE 07022.                                           FMD
*                                                                        FMD
24 FORMAT ON CYL FAILED TO COME ACTIVE AFTER ISSUING A RTZ               FMD
25 FORMAT FROM TRACK 256.                                                FMD
*                                                                        FMD
/         ERROR MESSAGE 07023.                                           FMD
*                                                                        FMD
26 FORMAT ON CYL FAILED TO COME ACTIVE AFTER ISSUING A 512               FMD
27 FORMAT TRACK FWD SEEK.                                                FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=1                      *NUMBER OF TRACKS                           FMD
   IF(EC EQ 17) GOTO 40      *IF ERROR CODE 0700F                        FMD
   B2=21                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 20) GOTO 40      *IF ERROR CODE 07010                        FMD
   B2=22                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=2                      *NUMBER OF TRACKS                           FMD
   IF(EC EQ 21) GOTO 40      *IF ERROR CODE 07011                        FMD
   B2=23                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 22) GOTO 40      *IF ERROR CODE 07012                        FMD
   B2=24                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=4                      *NUMBER OF TRACKS                           FMD
   IF(EC EQ 23) GOTO 40      *IF ERROR CODE 07013                        FMD
   B2=25                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 24) GOTO 40      *IF ERROR CODE 07014                        FMD
   B2=26                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=8D                     *NUMBER OF TRACKS                           FMD
   IF(EC EQ 25) GOTO 40      *IF ERROR CODE 07015                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 26) GOTO 40      *IF ERROR CODE 07016                        FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 27) GOTO 34      *IF ERROR CODE 07017                        FMD
   B2=31                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 30) GOTO 34      *IF ERROR CODE 07018                        FMD
   B2=32                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=16D                    *NUMBER OF TRACKS                           FMD
   IF(EC EQ 31) GOTO 40      *IF ERROR CODE 07019                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 32) GOTO 40      *IF ERROR CODE 0701A                        FMD
   B2=32                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=32D                    *NUMBER OF TRACKS                           FMD
   IF(EC EQ 33) GOTO 40      *IF ERROR CODE 0701B                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 34) GOTO 40      *IF ERROR CODE 0701C                        FMD
   B2=32                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=64D                    *NUMBER OF TRACKS                           FMD
   IF(EC EQ 35) GOTO 40      *IF ERROR CODE 0701D                        FMD
   B2=32                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 36) GOTO 40      *IF ERROR CODE 0701E                        FMD
   B2=32                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 37) GOTO 40      *IF ERROR CODE 0701F                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 40) GOTO 40      *IF ERROR CODE 07020                        FMD
   B2=32                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 41) GOTO 40      *IF ERROR CODE 07021                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 42) GOTO 40      *IF ERROR CODE 07022                        FMD
   B2=32                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 43) GOTO 40      *IF ERROR CODE 07023                        FMD
   EXIT TO 97V               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODE 07017 AND 07018.                            FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0700F, 07011, 07012, 07013,                FMD
/         07014, 07015, 07016, 07019, 0701A, 0701B, 0701C,               FMD
/         0701D, 0701E, 0701F, 07020, 07021, 07022, AND                  FMD
/         07023.                                                         FMD
*                                                                        FMD
40 MSG B0 (B3) TO LINE B1    *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 (B3) TO LINE B1    *TRANSFER MESSAGE TO DISPLAY                FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 970  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97V,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97V,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97V,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97V - PROCESS ERRORS FOR TEST 7.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97V - PROCESS ERRORS FOR TEST 7. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97V - PROCESS ERRORS FOE TEST 7. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 07024, 07025, 07026,   FMD06
*         07027, 07028, 0702A, 0702B, 0702C, 0702D, 0702E, AND 0702F.    FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 24, OR 25, OR 26,  FMD
*         OR 27, OR 28, OR 2A, OR 2B, OR 2C, OR 2D, OR 2E, OR 2F, THE    FMD
*         ERROR DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER  FMD
*         DOES NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL     FMD
*IF DEF,SFMD
*         EXIT TO THE FMD97W MODULE.                                     FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO THE FHD97W MODULE.
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO THE FLD97W MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD970 TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD970 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD970 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97W -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97W - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97W - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD970 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD970 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD970 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*         B3 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97W - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97W - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97V - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CALLING MODULE NUMBER.                           FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 07024.                                           FMD
*                                                                        FMD
0  FORMAT ON CYL FAILED TO COME ACTIVE AFTER ISSUING A RTZ               FMD
1  FORMAT CMD FROM TRACK 512.                                            FMD
*                                                                        FMD
/         ERROR MESSAGE 07025.                                           FMD
*                                                                        FMD
2  FORMAT ON CYL FAILED TO COME ACTIVE AFTER ISSUING AN 842              FMD
3  FORMAT TRACK FWD SEEK.                                                FMD
*                                                                        FMD
/         ERROR MESSAGE 07026.                                           FMD
*                                                                        FMD
4  FORMAT ON CYL FAILED TO COME ACTIVE AFTER ISSUING A RTZ               FMD
5  FORMAT FROM TRACK 842.                                                FMD
*                                                                        FMD
/         ERROR MESSAGE 07027.                                           FMD
*                                                                        FMD
6  FORMAT ON CYL NOT ACTIVE AFTER A RTZ FROM TRACK 0.                    FMD
*                                                                        FMD
/         ERROR MESSAGE 07028.                                           FMD
*                                                                        FMD
7  FORMAT AFTER PREFORMING A NUMBER OF RANDOM SEEKS, THE                 FMD
10 FORMAT AVERAGE ACCESS TIME WAS NOT PER SPEC.                          FMD
*                                                                        FMD
/         ERROR MESSAGE 0702A.                                           FMD
*                                                                        FMD
11 FORMAT A LD DIFF UPPER CMD WAS ISSUED WITH BUS OUT EQUAL              FMD10
12 FORMAT ZEROS. INCORRECT STATUS WAS RETURNED.                          FMD10
*                                                                        FMD
/         ERROR MESSAGE 0702B.                                           FMD
*                                                                        FMD
13 FORMAT AN OFFSET START CMD WAS ISSUED AND ON CYL REMAINED             FMD
14 FORMAT ACTIVE. CMD 48 BUS OUT BIT 0 ACTIVE.                           FMD
*                                                                        FMD
/         ERROR MESSAGE 0702C.                                           FMD
*                                                                        FMD
15 FORMAT ON CYL WAS NOT ACTIVE 10 MS AFTER ISSUING AN                   FMD
16 FORMAT OFFSET START CMD.                                              FMD
*                                                                        FMD
/         ERROR MESSAGE 0702D.                                           FMD
*                                                                        FMD
17 FORMAT INCORRECT STATUS ON BUS IN AFTER ISSUING AN OFFSET             FMD
20 FORMAT START CMD.                                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 0702E.                                           FMD
*                                                                        FMD
21 FORMAT INCORRECT STATUS UNDER STATUS WORD 6 AFTER SETTING             FMD
22 FORMAT REV OFFSET.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 0702F.                                           FMD
*                                                                        FMD
23 FORMAT INCORRECT STATUS UNDER STATUS WORD 6 AFTER                     FMD
24 FORMAT SETTING FWD OFFSET.                                            FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 44) GOTO 34      *IF ERROR CODE 07024                        FMD
   B2=32                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 45) GOTO 34      *IF ERROR CODE 07025                        FMD
   B2=33                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 46) GOTO 34      *IF ERROR CODE 07026                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 47) GOTO 40      *IF ERROR CODE 07027                        FMD
   B2=2                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 50) GOTO 34      *IF ERROR CODE 07028                        FMD
   B2=34                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 52) GOTO 34      *IF ERROR CODE 0702A                        FMD
   B2=35                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 53) GOTO 34      *IF ERROR CODE 0702B                        FMD
   B2=36                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 54) GOTO 34      *IF ERROR CODE 0702C                        FMD
   B2=1                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 55) GOTO 34      *IF ERROR CODE 0702D                        FMD
   B2=37                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 56) GOTO 34      *IF ERROR CODE 0702E                        FMD
   B2=40                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 57) GOTO 34      *IF ERROR CODE 0702F                        FMD
   EXIT TO 97W               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 07024, 07025, 07026, 07028,                FMD
/         0702A, 0702B, 0702C, 0702D, 0702E, AND 0702F.                  FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODE 07027.                                      FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 52) GOTO 44      *IF ERROR CODE 0702A                        FMD
   IF(EC EQ 56) GOTO 44      *IF ERROR CODE 0702E                        FMD
   IF(EC EQ 57) GOTO 44      *IF ERROR CODE 0702F                        FMD
   IF(EC NE 55) GOTO 50      *IF NOT ERROR CODE 0702D                    FMD
   B12=B12 AND 177           *MASK BUS IN STATUS                         FMD
44 B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 27 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 970  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97W,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97W,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97W,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97W - PROCESS ERRORS FOR TEST 7.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97W - PROCESS ERRORS FOR TEST 7. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97W - PROCESS ERRORS FOR TEST 7. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 07030, 07031, 07032,   FMD06
*         07033, 07034, 07035, 07036, 07037, 07038, 07039, AND 0703A.    FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 30, OR 31, OR 32,  FMD
*         OR 33, OR 34, OR 35, OR 36, OR 37, OR 38, OR 39, OR 3A, THE    FMD
*         ERROR DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER  FMD
*         DOES NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL     FMD
*IF DEF,SFMD
*         EXIT TO THE FMD97X MODULE.                                     FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO THE FHD97X MODULE.
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO THE FLD97X MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD970 TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD970 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD970 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97X -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97X - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97X - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD970 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD970 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD970 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*         B3 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97X - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97X - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97X - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - TEMPORARY STORAGE.                               FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         FIRST LINE OF ALL ERROR MESSAGES.                              FMD
*                                                                        FMD
0  FORMAT READY AND SAFE WAS FOUND NOT ACTIVE. A STATUS                  FMD
*                                                                        FMD
/         SECOND LINE OF ERROR MESSAGES 07031 -07037.                    FMD
*                                                                        FMD
1  FORMAT WORD 2 CMD (89) WAS ISSUED AND BUS IN BIT *H WAS               FMD
*                                                                        FMD
/         SECOND LINE OF ERROR MESSAGES 07038 -0703A.                    FMD
*                                                                        FMD
2  FORMAT WORD 3 CMD (8A) WAS ISSUED AND BUS IN BIT *H WAS               FMD
*                                                                        FMD
/         ERROR MESSAGE 07030.                                           FMD
*                                                                        FMD
3  FORMAT ACTIVE. THIS INDICATES WAIT LATCH WAS ACTIVE AND               FMD
4  FORMAT SHOULD NOT BE.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 07031.                                           FMD
*                                                                        FMD
5  FORMAT NOT ACTIVE. THIS INDICATES CONTROL LATCH NOT                   FMD
6  FORMAT ACTIVE.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 07032.                                           FMD
*                                                                        FMD
7  FORMAT NOT ACTIVE. THIS INDICATES LINEAR MODE LATCH NOT               FMD
10 FORMAT ACTIVE.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 07033.                                           FMD
*                                                                        FMD
11 FORMAT NOT ACTIVE. THIS INDICATES SERVO LATCH NOT                     FMD
12 FORMAT ACTIVE.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 07034.                                           FMD
*                                                                        FMD
13 FORMAT FOUND ACTIVE. THIS INDICATES REZERO MODE LATCH                 FMD
14 FORMAT WAS ACTIVE AND SHOULD NOT BE.                                  FMD
*                                                                        FMD
/         ERROR MESSAGE 07035.                                           FMD
*                                                                        FMD
15 FORMAT ACTIVE, INDICATING A SERVO OFF-CYL ERROR.                      FMD
*                                                                        FMD
/         ERROR MESSAGE 07036.                                           FMD
*                                                                        FMD
16 FORMAT ACTIVE, INDICATING A SEEK OVERSHOOT ERROR.                     FMD
*                                                                        FMD
/         ERROR MESSAGE 07037.                                           FMD
*                                                                        FMD
17 FORMAT ACTIVE, INDICATING A SEEK TIMEOUT ERROR.                       FMD
*                                                                        FMD
/         ERROR MESSAGE 07038.                                           FMD
*                                                                        FMD
20 FORMAT FOUND TO BE NOT ACTIVE, INDICATING ON CYL NOT                  FMD
21 FORMAT PRESENT.                                                       FMD
*                                                                        FMD
/         ERROR MESSAGE 07039.                                           FMD
*                                                                        FMD
22 FORMAT FOUND TO BE ACTIVE, INDICATING TRACK CROSSING                  FMD
23 FORMAT PULSES.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0703A.                                           FMD
*                                                                        FMD
24 FORMAT FOUND TO BE ACTIVE, INDICATING TARGET VELOCITY                 FMD10
25 FORMAT ACTIVE.                                                        FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=41                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 60) GOTO 34      *IF ERROR CODE 07030                        FMD
   B2 = 106B                 *SET INFORMATION FLAG FOR ERROR
   IF(EC EQ 61) GOTO 34      *IF ERROR CODE 07031                        FMD
   B2=42                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 62) GOTO 34      *IF ERROR CODE 07032                        FMD
   B2=43                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 63) GOTO 34      *IF ERROR CODE 07033                        FMD
   B2=44                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 64) GOTO 34      *IF ERROR CODE 07034                        FMD
   B2=45                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 65) GOTO 34      *IF ERROR CODE 07035                        FMD
   B2=46                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 66) GOTO 34      *IF ERROR CODE 07036                        FMD
   B2=47                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 67) GOTO 34      *IF ERROR CODE 07037                        FMD
   B2=50                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=0                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 70) GOTO 40      *IF ERROR CODE 07038                        FMD
   B2=51                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=4                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 71) GOTO 40      *IF ERROR CODE 07039                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=5                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 72) GOTO 40      *IF ERROR CODE 0703A                        FMD
   EXIT TO 97X               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 07030, 07031, 07032, 07033,                FMD
/         07034, 07035, 07036, AND 07037.                                FMD
*                                                                        FMD
34 B3=EC-60                  *DETERMINE FAILING BIT NUMBER               FMD
   MSG 0 TO LINE B1          *FIRST LINE OF ERROR MESSAGE                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 1 (B3) TO LINE B1     *MOVE ERROR MESSAGE TO DISPLAY              FMD
   IF(EC EQ 65) GOTO 46      *IF ERROR CODE 07035                        FMD
   IF(EC EQ 66) GOTO 46      *IF ERROR CODE 07036                        FMD
   IF(EC EQ 67) GOTO 46      *IF ERROR CODE 07037                        FMD
   GOTO 44                   *GOTO TO COMPLETE ERROR MESSAGE             FMD
*                                                                        FMD
/         PROCESS ERROR CODES 07038, 07039, AND 0703A.                   FMD
*                                                                        FMD
40 MSG 0 TO LINE B1          *FIRST LINE OF ERROR MESSAGE                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 2 (B3) TO LINE B1     *MOVE ERROR MESSAGE TO DISPLAY              FMD
*                                                                        FMD
/         COMPLETE THE ERROR MESSAGE.                                    FMD
*                                                                        FMD
44 B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
46 B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 970  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97X,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97X,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97X,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97X - PROCESS ERRORS FOR TEST 7.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97X - PROCESS ERRORS FOR TEST 7. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97X - PROCESS ERRORS FOR TEST 7. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0703B, 0703C, 0703D,   FMD06
*         0703E, 0703F, 07043, 07044, 07045, 07046, 07047, 07048, 07049, FMD06
*         0704A, AND 0704B.                                              FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 3B, OR 3C, OR 3D,  FMD
*         OR 3E, OR 3F, OR 43, OR 44, OR 45, OR 46, OR 47, OR 48, OR 49, FMD
*         OR 4A, OR 4B, THE ERROR DISPLAY WILL BE BUILT FOR THE ERROR.   FMD
*         IF THE EC REGISTER DOES NOT CONTAIN ONE OF THESE ERROR CODES,  FMD
*IF DEF,SFMD
*         THE MODULE WILL EXIT TO THE FMD97Y MODULE.                     FMD
*ENDIF
*IF DEF,PFMD
*         THE MODULE WILL EXIT TO THE FHD97Y MODULE.
*ENDIF
*IF DEF,LSFMD 
*         THE MODULE WILL EXIT TO THE FLD97Y MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD970 TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD970 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD970 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97Y -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97Y - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97Y - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD970 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD970 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD970 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*         B3 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97Y - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97Y - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97U - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - TEMPORARY STORAGE.                               FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         FIRST LINE OF ALL ERROR MESSAGES.                              FMD
*                                                                        FMD
0  FORMAT READY AND SAFE WERE FOUND NOT ACTIVE. A STATUS                 FMD
*                                                                        FMD
/         SECOND LINE OF ERROR MESSAGE 0703B.                            FMD
*                                                                        FMD
1  FORMAT WORD 3 CMD (8A) WAS ISSUED AND BUS IN BIT 6 WAS                FMD
*                                                                        FMD
/         SECOND LINE OF ERROR MESSAGES 0703C -07043.                    FMD
*                                                                        FMD
2  FORMAT WORD 4 CMD (8B) WAS ISSUED AND BUS IN BIT *D WAS               FMD
*                                                                        FMD
/         SECOND LINE OF ERROR MESSAGES 07044 -0704B.                    FMD
*                                                                        FMD
3  FORMAT WORD 5 CMD (8C) WAS ISSUED AND BUS IN BIT *D WAS               FMD
*                                                                        FMD
/         ERROR MESSAGE 0703B.                                           FMD
*                                                                        FMD
4  FORMAT FOUND TO BE ACTIVE, INDICATING GUARD BAND PATTERN              FMD
5  FORMAT WAS DETECTED.                                                  FMD
*                                                                        FMD
/         ERROR MESSAGE 0703C.                                           FMD
*                                                                        FMD
6  FORMAT ACTIVE, INDICATING MOTOR AT SPEED LATCH ACTIVE.                FMD
*                                                                        FMD
/         ERROR MESSAGE 0703D.                                           FMD
*                                                                        FMD
7  FORMAT ACTIVE, INDICATING AIR SWITCH LATCH ACTIVE.                    FMD
*                                                                        FMD
/         ERROR MESSAGE 0703E.                                           FMD
*                                                                        FMD
10 FORMAT ACTIVE, INDICATING INHIBIT HDA RECYCLE LATCH                   FMD
11 FORMAT ACTIVE.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0703F.                                           FMD
*                                                                        FMD
12 FORMAT ACTIVE, INDICATING SEQUENCE CHECK LATCH ACTIVE.                FMD
*                                                                        FMD
/         ERROR MESSAGE 07043.                                           FMD
*                                                                        FMD
13 FORMAT NOT ACTIVE, INDICATING HDA SEQ NOT COMPLETE.                   FMD
*                                                                        FMD
/         ERROR MESSAGE 07044.                                           FMD
*                                                                        FMD
14 FORMAT FOUND ACTIVE, INDICATING A HEAD SHORT ERROR.                   FMD
*                                                                        FMD
/         ERROR MESSAGE 07045.                                           FMD
*                                                                        FMD
15 FORMAT FOUND ACTIVE, INDICATING AN INDEX CHECK WAS                    FMD
16 FORMAT PRESENT.                                                       FMD
*                                                                        FMD
/         ERROR MESSAGE 07046.                                           FMD
*                                                                        FMD
17 FORMAT FOUND ACTIVE, INDICATING A CONTROL ERROR PRESENT.              FMD
*                                                                        FMD
/         ERROR MESSAGE 07047.                                           FMD
*                                                                        FMD
20 FORMAT FOUND ACTIVE, INDICATING WRITE TRANSITIONS ERROR.              FMD
*                                                                        FMD
/         ERROR MESSAGE 07048.                                           FMD
*                                                                        FMD
21 FORMAT FOUND ACTIVE, INDICATING WRITE CURRENT ERROR.                  FMD
*                                                                        FMD
/         ERROR MESSAGE 07049.                                           FMD
*                                                                        FMD
22 FORMAT FOUND ACTIVE, INDICATING A MULTI-HEAD ERROR.                   FMD
*                                                                        FMD
/         ERROR MESSAGE 0704A.                                           FMD
*                                                                        FMD
23 FORMAT FOUND ACTIVE, INDICATING A WRITE OVERRUN ERROR.                FMD
*                                                                        FMD
/         ERROR MESSAGE 0704B.                                           FMD
*                                                                        FMD
24 FORMAT FOUND ACTIVE, INDICATING A CAPABLE ENABLE ERROR.               FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 73) GOTO 34      *IF ERROR CODE 0703B                        FMD
   B2=52                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=0                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 74) GOTO 40      *IF ERROR CODE 0703C                        FMD
   B2=52                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=1                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 75) GOTO 40      *IF ERROR CODE 0703D                        FMD
   B2=53                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=2                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 76) GOTO 40      *IF ERROR CODE 0703E                        FMD
   B2=53                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=3                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 77) GOTO 40      *IF ERROR CODE 0703F                        FMD
   B2=54                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=7                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 103) GOTO 40     *IF ERROR CODE 07043                        FMD
   B2=55                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 104) GOTO 44     *IF ERROR CODE 07044                        FMD
   B2=56                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 105) GOTO 44     *IF ERROR CODE 07045                        FMD
   B2=57                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 106) GOTO 44     *IF ERROR CODE 07046                        FMD
   B2=60                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 107) GOTO 44     *IF ERROR CODE 07047                        FMD
   B2=61                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 110) GOTO 44     *IF ERROR CODE 07048                        FMD
   B2=62                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 111) GOTO 44     *IF ERROR CODE 07049                        FMD
   B2=63                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 112) GOTO 44     *IF ERROR CODE 0704A                        FMD
   B2=64                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 113) GOTO 44      *IF ERROR CODE 0704B                       FMD
   EXIT TO 97Y               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODE 0703B.                                      FMD
*                                                                        FMD
34 MSG 0 TO LINE B1          *FIRST LINE OF ERROR MESSAGE                FMD
   B1=B1+1                   *INCREMENT MESSAGE NUMBER                   FMD
   MSG 1 TO LINE B1          *SECOND LINE OF ERROR MESSAGE               FMD
   GOTO 46                   *GO TO COMPLETE ERROR MESSAGE               FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0703C, 0703D, 0703E, 0703F,                FMD
/         AND 07043.                                                     FMD
*                                                                        FMD
40 MSG 0 TO LINE B1          *FIRST LINE OF ERROR MESSAGE                FMD
   B1=B1+1                   *INCREMENT MESSAGE NUMBER                   FMD
   MSG 2 (B3) TO LINE B1     *SECOND LINE OF ERROR MESSAGE               FMD
   IF(EC NE 76) GOTO 50      *IF NOT ERROR CODE 0703E                    FMD
   GOTO 46                   *GO TO COMPLETE ERROR MESSAGE               FMD
*                                                                        FMD
/         PROCESS ERROR CODES 07044, 07045, 07046, 07047,                FMD
/         07048, 07049, 0704A, AND 0704B.                                FMD
*                                                                        FMD
44 MSG 0 TO LINE B1          *FIRST LINE OF ERROR MESSAGE                FMD
   B3=EC-104                 *DETERMINE FAILINE BIT NUMBER               FMD
   B1=B1+1                   *INCREMENT MESSAGE NUMBER                   FMD
   MSG 3 (B3) TO LINE B1     *SECOND LINE OF ERROR MESSAGE               FMD
   IF(EC NE 105) GOTO 50     *IF NOT ERROR CODE 07045                    FMD
*                                                                        FMD
/         COMPLETE THE ERROR MESSAGE.                                    FMD
*                                                                        FMD
46 B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
50 B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 970  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97Y,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97Y,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97Y,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97Y - PROCESS ERRORS FOR TEST 7.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97Y - PROCESS ERRORS FOR TEST 7. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97Y - PROCESS ERRORS FOR TEST 7. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0704C, 0704D, 0704E,   FMD06
*         0704F, 07050, 07051, 07052, 07053, 07054, 07055, 07057, AND    FMD06
*         07058.                                                         FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 4C, OR 4D, OR 4E,  FMD
*         OR 4F, OR 50, OR 51, OR 52, OR 53, OR 54, OR 55, OR 57, OR 58, FMD
*         THE ERROR DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC       FMD
*         REGISTER DOES NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE FMD
*IF DEF,SFMD
*         WILL EXIT TO THE FMD97Z MODULE.                                FMD
*ENDIF
*IF DEF,PFMD
*         WILL EXIT TO THE FHD97Z MODULE. 
*ENDIF
*IF DEF,LSFMD 
*         WILL EXIT TO THE FLD97Z MODULE. 
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD970 TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD970 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD970 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97Z -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97Z - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97Z - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD970 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD970 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD970 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*         B3 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97Z - PROCESS ERRORS.                                       FMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97Z - PROCESS ERRORS.
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97U - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - TEMPORARY STORAGE.                               FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         FIRST LINE OF ERROR MESSAGES 0704C - 07055.                    FMD
*                                                                        FMD
0  FORMAT READY AND SAFE WAS FOUND NOT ACTIVE. A STATUS                  FMD
*                                                                        FMD
/         SECOND LINE OF ERROR MESSAGES 0704C - 07051.                   FMD
*                                                                        FMD
1  FORMAT WORD 6 CMD (8D) WAS ISSUED AND BUS IN BIT *D WAS               FMD
*                                                                        FMD
/         SECOND LINE OF ERROR MESSAGES 07052 - 07055.                   FMD
*                                                                        FMD
2  FORMAT WORD 7 CMD (8E) WAS ISSUED AND BUS IN BIT *D WAS               FMD
*                                                                        FMD
/         ERROR MESSAGE 0704C.                                           FMD
*                                                                        FMD
3  FORMAT FOUND ACTIVE, INDICATING REV OFFSET WAS ACTIVE.                FMD
*                                                                        FMD
/         ERROR MESSAGE 0704D.                                           FMD
*                                                                        FMD
4  FORMAT FOUND ACTIVE, INDICATING FWD OFFSET ACTIVE.                    FMD
*                                                                        FMD
/         ERROR MESSAGE 0704E.                                           FMD
*                                                                        FMD
5  FORMAT FOUND ACTIVE, INDICATING LATE STROBE ACTIVE.                   FMD
*                                                                        FMD
/         ERROR MESSAGE 0704F.                                           FMD
*                                                                        FMD
6  FORMAT FOUND ACTIVE, INDICATING EARLY STROBE ACTIVE.                  FMD
*                                                                        FMD
/         ERROR MESSAGE 07050.                                           FMD
*                                                                        FMD
7  FORMAT FOUND ACTIVE, INDICATING A WRITE IN OFFSET ERROR               FMD
10 FORMAT ACTIVE.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 07051.                                           FMD
*                                                                        FMD
11 FORMAT FOUND ACTIVE, INDICATING A WRITE OR READ OCCURRED              FMD
12 FORMAT AND CONTROL SELECT WAS NOT ACTIVE.                             FMD
*                                                                        FMD
/         ERROR MESSAGE 07052.                                           FMD
*                                                                        FMD
13 FORMAT FOUND ACTIVE, INDICATING AN ACCESS ERROR.                      FMD
*                                                                        FMD
/         ERROR MESSAGE 07053.                                           FMD
*                                                                        FMD
14 FORMAT FOUND ACTIVE, INDICATING A READ/WRITE ERROR.                   FMD
*                                                                        FMD
/         ERROR MESSAGE 07054.                                           FMD
*                                                                        FMD
15 FORMAT FOUND ACTIVE, INDICATING A DRIVE CHECK ERROR.                  FMD
*                                                                        FMD
/         ERROR MESSAGE 07055.                                           FMD
*                                                                        FMD
16 FORMAT FOUND ACTIVE, INDICATING A SECTOR COMPARE ERROR.               FMD
*                                                                        FMD
/         ERROR MESSAGE 07057.                                           FMD
*                                                                        FMD
17 FORMAT ON CYL WAS STILL ACTIVE AFTER ISSUING A RESET                  FMD
20 FORMAT OFFSET CMD.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 07058.                                           FMD
*                                                                        FMD
21 FORMAT ON CYL DID NOT COME ACTIVE 10 MS AFTER ISSUING A               FMD
22 FORMAT RESET OFFSET CMD.                                              FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=65                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=0                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 114) GOTO 34     *IF ERROR CODE 0704C                        FMD
   B2=65                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=1                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 115) GOTO 34     *IF ERROR CODE 0704D                        FMD
   B2=3                      *SET INFORMATION FLAG FOR ERROR             FMD
   B3=2                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 116) GOTO 34     *IF ERROR CODE 0704E                        FMD
   B2=4                      *SET INFORMATION FLAG FOR ERROR             FMD
   B3=3                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 117) GOTO 34     *IF ERROR CODE 0704F                        FMD
   B2=66                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=6                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 120) GOTO 34     *IF ERROR CODE 07050                        FMD
   B2=66                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=7                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 121) GOTO 34     *IF ERROR CODE 07051                        FMD
   B2=67                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=0                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 122) GOTO 40     *IF ERROR CODE 07052                        FMD
   B2=70                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=3                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 123) GOTO 40     *IF ERROR CODE 07053                        FMD
   B2=71                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=5                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 124) GOTO 40     *IF ERROR CODE 07054                        FMD
   B2=72                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=6                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 125) GOTO 40     *IF ERROR CODE 07055                        FMD
   B2=73                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 127) GOTO 44     *IF ERROR CODE 07057                        FMD
   B2=74                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 130) GOTO 44     *IF ERROR CODE 07058                        FMD
   EXIT TO 97Z               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0704C, 0704D, 0704E, 0704F,                FMD
/         07050, AND 07051.                                              FMD
*                                                                        FMD
34 MSG 0 TO LINE B1          *FIRST LINE OF ERROR MESSAGE                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 1 (B3) TO LINE B1     *SECOND LINE OF ERROR MESSAGE               FMD
   IF(EC EQ 120) GOTO 42     *IF ERROR CODE 07050                        FMD
   IF(EC EQ 121) GOTO 42     *IF ERROR CODE 07051                        FMD
   GOTO 46                   *GO TO COMPLETE ERROR MESSAGE               FMD
*                                                                        FMD
/         PROCESS ERROR CODES 07052, 07053, 07054, AND                   FMD
/         07055.                                                         FMD
*                                                                        FMD
40 MSG 0 TO LINE B1          *FIRST LINE OF ERROR MESSAGE                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 2 (B3) TO LINE B1     *SECOND LINE OF ERROR MESSAGE               FMD
   GOTO 46                   *GO TO COMPLETE ERROR MESSAGE               FMD
42 B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 07057 AND 07058.                           FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
46 B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 970  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD97Z,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD97Z,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD97Z,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD97Z - PROCESS ERRORS FOR TEST 7.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD97Z - PROCESS ERRORS FOR TEST 7. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97Z - PROCESS ERRORS FOR TEST 7. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 07059, 0705A, 0705B,   FMD06
*         0705C, 0705D, 0705E, 0705F, 07060, AND 07061.                  FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE ERROR DISPLAY WILL BE BUILT FOR ERROR CODES 59, 5A, 5B,    FMD
*         5C, 5D, 5E, 5F, 60, AND 61.                                    FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD970 TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD970 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD970 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD970 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD970 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD970 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE FOR FMD
*                       THE ERROR CODE.                                  FMD
*         B3 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD970 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD971 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD972 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD970 - PROCESS ISOLATION INFORMATION. 
*         FHD971 - PROCESS ISOLATION INFORMATION. 
*         FHD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97Z - PROCESS ERRORS.
*         FLD970 - PROCESS ISOLATION INFORMATION. 
*         FLD971 - PROCESS ISOLATION INFORMATION. 
*         FLD972 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 07059.                                           FMD
*                                                                        FMD
0  FORMAT INCORRECT STATUS AFTER ISSUING A RESET OFFSET CMD.             FMD
*                                                                        FMD
/         ERROR MESSAGE 0705A.                                           FMD
*                                                                        FMD
1  FORMAT AFTER ISSUING A RESET OFFSET CMD, STATUS WORD 6                FMD
2  FORMAT INDICATED OFFSET STATUS STILL ACTIVE.                          FMD
*                                                                        FMD
/         ERROR MESSAGE 0705B.                                           FMD
*                                                                        FMD
3  FORMAT WHILE IN OFFSET A RTZ CMD WAS ISSUED AND ON CYL                FMD
4  FORMAT FAILED TO BECOME ACTIVE AFTER THE RTZ.                         FMD
*                                                                        FMD
/         ERROR MESSAGE 0705C.                                           FMD
*                                                                        FMD
5  FORMAT WHILE IN OFFSET A RTZ CMD WAS ISSUED AND INCORRECT             FMD
6  FORMAT STATUS WAS RECEIVED.                                           FMD
*                                                                        FMD
/         ERROR MESSAGE 0705D.                                           FMD
*                                                                        FMD
7  FORMAT AFTER ISSUING A RTZ CMD IN OFFSET MODE, A STATUS               FMD
10 FORMAT WORD 6 CMD WAS ISSUED AND INCORRECT STATUS WAS                 FMD
11 FORMAT RECEIVED.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 0705E.                                           FMD
*                                                                        FMD
12 FORMAT WHILE IN OFFSET MODE THE SELECT LINE WAS DROPPED               FMD
13 FORMAT AND ON CYL REMAINED ACTIVE.                                    FMD17
*                                                                        FMD
/         ERROR MESSAGE 0705F.                                           FMD
*                                                                        FMD
14 FORMAT WHILE IN OFFSET, AN ATTEMPT TO CLEAR OFFSET BY                 FMD
15 FORMAT DROPPING SELECT WAS MADE AND ON CYL FAILED TO COME             FMD
16 FORMAT ACTIVE AFTER A 10 MS DELAY.                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 07060.                                           FMD
*                                                                        FMD
17 FORMAT INCORRECT STATUS, UNDER STATUS WORD 6, AFTER                   FMD
20 FORMAT CLEARING OFFSET BY DROPPING THE SELECT LINE.                   FMD
*                                                                        FMD
/         ERROR MESSAGE 07061.                                           FMD
*                                                                        FMD
21 FORMAT INCORRECT STATUS AFTER SETTING DIFF WITH 1000                  FMD
22 FORMAT 0000.                                                          FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=75                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 131) GOTO 44     *IF ERROR CODE 07059                        FMD
   B2=76                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 132) GOTO 40     *IF ERROR CODE 0705A                        FMD
   B2=77                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 133) GOTO 40     *IF ERROR CODE 0705B                        FMD
   B2=100                    *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 134) GOTO 40     *IF ERROR CODE 0705C                        FMD
   B2=65                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 135) GOTO 34     *IF ERROR CODE 0705D                        FMD
   B2=101                    *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 136) GOTO 40     *IF ERROR CODE 0705E                        FMD
   B2=102                    *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 137) GOTO 34     *IF ERROR CODE 0705F                        FMD
   B2=103                    *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 140) GOTO 40     *IF ERROR CODE 07060                        FMD
   B2=104                    *SET INFORMATION FLAG FOR ERROR             FMD
   GOTO 40                   *ERROR CODE 07061                           FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0705D AND 0705F.                           FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0705A, 0705B, 0705C, 0705E,                FMD
/         07060, AND 07061.                                              FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODE 07059.                                      FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 133) GOTO 50     *IF ERROR CODE 0705B                        FMD
   IF(EC EQ 136) GOTO 50     *IF ERROR CODE 0705E                        FMD
   IF(EC EQ 137) GOTO 50     *IF ERROR CODE 0705F                        FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 27 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 970  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD970,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD970,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD970,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD970 - PROCESS ISOLATION INFORMATION FOR TEST 7.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD970 - PROCESS ISOLATION INFORMATION FOR TEST 7.
*ENDIF
*IF DEF,LSFMD 
*         FLD970 - PROCESS ISOLATION INFORMATION FOR TEST 7.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD970 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD34 THROUGH FMD45 WITH THE    FMD
*ENDIF
*IF DEF,PFMD
*         FHD970 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD34 THROUGH FHD45 WITH THE 
*ENDIF
*IF DEF,LSFMD 
*         FLD970 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD34 THROUGH FLD45 WITH THE 
*ENDIF
*         ISOLATION NUMBERS 1 THROUGH 30 OCTAL.                          FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO OR THREE OR FOUR LINE MESSAGE WILL BE APPENDED ONE LINE  FMD
*         AFTER THE END OF THE ERROR MESSAGE FOR THE ISOLATION NUMBERS 1 FMD
*         THROUGH 30 OCTAL. EXIT WILL BE MADE TO THE NEXT ISOLATION      FMD
*IF DEF,SFMD
*         MODULE (FMD971).                                               FMD
*ENDIF
*IF DEF,PFMD
*         MODULE (FHD971).
*ENDIF
*IF DEF,LSFMD 
*         MODULE (FLD971).
*ENDIF
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*IF DEF,SFMD
*         EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE (FMD971).       FMD
*ENDIF
*IF DEF,PFMD
*         EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE (FHD971).
*ENDIF
*IF DEF,LSFMD 
*         EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE (FLD971).
*ENDIF
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         PROCESS ISOLATION INFORMATION - FMD971.                        FMD
*ENDIF
*IF DEF,PFMD
*         PROCESS ISOLATION INFORMATION - FHD971. 
*ENDIF
*IF DEF,LSFMD 
*         PROCESS ISOLATION INFORMATION - FLD971. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
0  FORMAT REPLACE PWBS ONE AT A TIME IN THE FOLLOWING                    FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
5  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.                     FMD
7  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D,              FMD
12 FORMAT         A/B*D, A/B*D. 
*                                                                        FMD
/         ISOLATION MESSAGE FOR ERROR 0702D.                             FMD
*                                                                        FMD
13 FORMAT REPLACE PWBS A/B26 AND A/B23 IF BIT 0 IS NOT                   FMD
14 FORMAT ACTIVE. IF BITS 1 AND 2 ARE ACTIVE, REPLACE A/B26,             FMD
15 FORMAT A/B23, AND A/B22. IF BIT 3 IS NOT ACTIVE, REPLACE              FMD
16 FORMAT A/B23, A/B33, AND A/B34.                                       FMD
17 FORMAT PERFORM VELOCITY ADJUSTMENT TEST.                              FMD
20 FORMAT THIS STOP INDICATES LATE STROBE WAS ACTIVE WHEN                FMD
21 FORMAT THIS STOP INDICATES EARLY STROBE WAS ACTIVE WHEN               FMD
22 FORMAT ERROR OCCURRED.                                                FMD10
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
*                                                                        FMD
30 B1=B1+2                   *INSERT BLANK LINE                          FMD
   IF(B2 NE 1) GOTO 32       *IF NOT ERROR CODE 0702D                    FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07000.                         FMD
*                                                                        FMD
   MSG 13 TO LINE B1         *MOVE ISOLATION MESSAGE TO DIS.             FMD
   MSG 14 TO LINE B1+1                                                   FMD
   MSG 15 TO LINE B1+2                                                   FMD
   MSG 16 TO LINE B1+3                                                   FMD
   EXIT TO 971               *EXIT TO NEXT ISOLATION MODULE              FMD
32 IF(B2 NE 2) GOTO 34       *IF NOT ISOLATION NUMBER 2                  FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07028.                         FMD
*                                                                        FMD
   MSG 17 TO LINE B1         *INSERT ISOLATION MESSAGE                   FMD
   EXIT TO 971               *EXIT TO NEXT ISOLATION MODULE              FMD
34 IF(B2 NE 3) GOTO 36       *IF NOT ISOLATION NUMBER 3                  FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0704E.                         FMD
*                                                                        FMD
   MSG 20 TO LINE B1         *INSERT ISOLATION MESSAGE                   FMD
   GOTO 40                   *GO TO COMPLETE THE MESSAGE                 FMD
36 IF(B2 NE 4) GOTO 42       *IF NOT ISOLATION NUMBER 4                  FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0704F.                         FMD
*                                                                        FMD
   MSG 21 TO LINE B1         *INSERT ISOLATION MESSAGE                   FMD
40 MSG 22 TO LINE B1+1       *COMPLETE THE ISOLATION MESSAGE             FMD
   EXIT TO 971               *EXIT TO NEXT ISOLATION MODULE              FMD
42 MSG 0 TO LINE B1          *BOARDS MSG TO NEXT LINE                    FMD
   B1=B1+1                   *INCREMENT DISPLAY NUMBER                   FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07000.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 5) MSG 3(20D,03D,21D)TO LINE B1                              FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 5) MSG 3(20D,02D,21D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 5) MSG 3(20D,13D,21D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07001.                         FMD
*                                                                        FMD
   IF(B2 EQ 6) MSG 4(22D,23D,21D,20D)TO LINE B1                          FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07002.                         FMD
*                                                                        FMD
   IF(B2 EQ 7) MSG 3(36D,37D,40D)TO LINE B1                              FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07003.                         FMD
*                                                                        FMD
   IF(B2 EQ 10) MSG 5(33D,37D,35D,36D,34D)TO LINE B1                     FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 07005, 07006,                 FMD
/         AND 07007.                                                     FMD
*                                                                        FMD
   IF(B2 EQ 11) MSG 3(27D,33D,34D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07008.                         FMD
*                                                                        FMD
   IF(B2 EQ 12) MSG 4(27D,37D,39D,33D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07009.                         FMD
*                                                                        FMD
   IF(B2 EQ 13) MSG 2(27D,38D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0700A.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 14) MSG 4(27D,34D,33D,15D)TO LINE B1                         FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 14) MSG 4(27D,34D,33D,29D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 14) MSG 4(27D,34D,33D,15D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0700B.                         FMD
*                                                                        FMD
   IF(B2 EQ 15) MSG 2(26D,23D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0700C.                         FMD
*                                                                        FMD
   IF(B2 EQ 16) MSG 4(33D,23D,34D,22D)TO LINE B1                         FMD14
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0700F.
*                                                                        FMD
   IF(B2 EQ 17) MSG 4(33D,34D,35D,36D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0700E.                         FMD
*                                                                        FMD
   IF(B2 EQ 20) MSG 3(27D,33D,23D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07010.                         FMD
*                                                                        FMD
   IF(B2 EQ 21) MSG 4(35D,36D,34D,33D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07011.                         FMD
*                                                                        FMD
   IF(B2 EQ 22) MSG 4(33D,34D,37D,38D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07012.                         FMD
*                                                                        FMD
   IF(B2 EQ 23) MSG 4(40D,39D,34D,33D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07013.                         FMD
*                                                                        FMD
   IF(B2 EQ 24) MSG 4(36D,34D,35D,37D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07014.                         FMD
*                                                                        FMD
   IF(B2 EQ 25) MSG 4(36D,37D,35D,39D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07015.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 26) MSG 4(37D,36D,35D,15D)TO LINE B1                         FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 26) MSG 4(37D,36D,35D,29D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 26) MSG 4(37D,36D,35D,29D)TO LINE B1
*ENDIF
   IF(B2 NE 27) GOTO 44      *IF NOT ISOLATION NUMBER 27                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 07016, 0701A,                 FMD
/         0701C, 07020, 07022, 07024, 07027, 0703A, AND                  FMD
/         0703B.                                                         FMD
*                                                                        FMD
   MSG 4(37D,39D,36D,35D)TO LINE B1                                      FMD
   IF(EC EQ 44) GOTO 50      *IF ERROR CODE 07024                        FMD
   IF(EC EQ 47) GOTO 50      *IF ERROR CODE 07027                        FMD
   IF(EC EQ 72) GOTO 50      *IF ERROR CODE 0703A                        FMD
   IF(EC EQ 73) GOTO 50      *IF ERROR CODE 0703B                        FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07017.                         FMD
*                                                                        FMD
*IF DEF,SFMD
44 IF(B2 EQ 30) MSG 7(27D,36D,22D,15D,16D,23D)TO LINE B1
*ENDIF
*IF DEF,PFMD
44 IF(B2 EQ 30) MSG 7(27D,36D,22D,29D,30D,23D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
44 IF(B2 EQ 30) MSG 7(27D,36D,22D,15D,16D,23D)TO LINE B1
*ENDIF
   IF(B2 EQ 30) MSG 12(28D,20D)TO LINE B1+1 
   EXIT TO 971               *EXIT TO NEXT ISOLATION MODULE              FMD
50 MSG 17 TO LINE B1+1       *COMPLETE THE ISOLATION MESSAGE             FMD
   EXIT TO 971                                                           FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD971,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD971,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD971,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD971 - PROCESS ISOLATION INFORMATION FOR TEST 7.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD971 - PROCESS ISOLATION INFORMATION FOR TEST 7.
*ENDIF
*IF DEF,LSFMD 
*         FLD971 - PROCESS ISOLATION INFORMATION FOR TEST 7.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD971 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD34 THROUGH FMD45 WITH THE    FMD
*ENDIF
*IF DEF,PFMD
*         FHD971 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD34 THROUGH FHD45 WITH THE 
*ENDIF
*IF DEF,LSFMD 
*         FLD971 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD34 THROUGH FLD45 WITH THE 
*ENDIF
*         ISOLATION NUMBERS 31 THROUGH 60 OCTAL.                         FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO OR THREE OR FOUR LINE MESSAGE WILL BE APPENDED ONE LINE  FMD
*         AFTER THE END OF THE ERROR MESSAGE FOR THE ISOLATION NUMBERS   FMD
*         31 THROUGH 60 OCTAL. EXIT WILL BE MADE TO THE NEXT ISOLATION   FMD
*IF DEF,SFMD
*         MODULE (FMD972).                                               FMD
*ENDIF
*IF DEF,PFMD
*         MODULE (FHD972).
*ENDIF
*IF DEF,LSFMD 
*         MODULE (FLD972).
*ENDIF
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*IF DEF,SFMD
*         EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE (FMD972).       FMD
*ENDIF
*IF DEF,PFMD
*         EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE (FHD972).
*ENDIF
*IF DEF,LSFMD 
*         EXIT WILL BE MADE TO THE NEXT ISOLATION MODULE (FLD972).
*ENDIF
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         PROCESS ISOLATION INFORMATION - FMD972.                        FMD
*ENDIF
*IF DEF,PFMD
*         PROCESS ISOLATION INFORMATION - FHD972. 
*ENDIF
*IF DEF,LSFMD 
*         PROCESS ISOLATION INFORMATION - FLD972. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
5  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.                     FMD
7  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D,              FMD
10 FORMAT         A/B*D, A/B*D, A/B*D.
11 FORMAT         A/B*D.
12 FORMAT         A/B*D, A/B*D. 
13 FORMAT ORDER - A/B*D, DECK BOARDS, A/B*D, A/B*D.                      FMD
14 FORMAT ORDER - A/B*D, A/B*D, A/B*D, DECK BOARDS.                      FMD
15 FORMAT ORDER - A/B*D, DECK BOARDS, A/B*D, A/B*D, A/B*D.               FMD
16 FORMAT PERFORM VELOCITY ADJUSTMENT TEST.                              FMD
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
/         ISOLATION INFORMATION FOR ERROR 07018.                         FMD
*                                                                        FMD
*IF DEF,SFMD
30 IF(B2 EQ 31) MSG 7(27D,37D,35D,22D,15D,16D)TO LINE B1
*ENDIF
*IF DEF,PFMD
30 IF(B2 EQ 31) MSG 7(27D,37D,35D,22D,29D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
30 IF(B2 EQ 31) MSG 7(27D,37D,35D,22D,15D,16D)TO LINE B1
*ENDIF
   IF(B2 EQ 31) MSG 12(23D,28D)TO LINE B1+1 
   IF(B2 NE 32) GOTO 32      *IF NOT ISOLATION NUMBER 32                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 07019, 0701B,                 FMD
/         0701D, 0701E, 0701F, 07021, 07023, AND 07025.                  FMD
*                                                                        FMD
   MSG 4(37D,36D,35D,39D)TO LINE B1                                      FMD
   IF(EC EQ 45) GOTO 60      *IF ERROR CODE 07025                        FMD
32 IF(B2 NE 33) GOTO 34      *IF NOT ISOLATION NUMBER 33                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07026.                         FMD
*                                                                        FMD
   MSG 5(37D,39D,36D,40D,35D)TO LINE B1                                  FMD
   GOTO 60                   *APPEND ADJUSTMENT MESSAGE                  FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0702A.                         FMD
*                                                                        FMD
*IF DEF,SFMD
34 IF(B2 EQ 34) MSG 2(15D,25D)TO LINE B1                                 FMD
*ENDIF
*IF DEF,PFMD
34 IF(B2 EQ 34) MSG 2(29D,25D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
34 IF(B2 EQ 34) MSG 2(15D,25D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0702B.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 35) MSG 7(23D,34D,33D,22D,15D,16D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 35) MSG 7(23D,34D,33D,22D,29D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 35) MSG 7(23D,34D,33D,22D,15D,16D)TO LINE B1
*ENDIF
   IF(B2 EQ 35) MSG 11(28D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0702C.                         FMD
*                                                                        FMD
   IF(B2 EQ 36) MSG 3(23D,33D,35D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0702E.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 37) MSG 7(27D,15D,23D,22D,16D,28D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 37) MSG 7(27D,29D,23D,22D,30D,28D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 37) MSG 7(27D,15D,23D,22D,16D,28D)TO LINE B1
*ENDIF
   IF(B2 EQ 37) MSG 11(20D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0702F.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 40) MSG 7(27D,31D,33D,23D,22D,15D)TO LINE B1
   IF(B2 EQ 40) MSG 12(16D,28D)TO LINE B1+1 
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 40) MSG 7(27D,31D,33D,23D,22D,29D)TO LINE B1
   IF(B2 EQ 40) MSG 12(30D,28D)TO LINE B1+1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 40) MSG 7(27D,31D,33D,23D,22D,15D)TO LINE B1
   IF(B2 EQ 40) MSG 12(16D,28D)TO LINE B1+1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07030 
*                                                                        FMD
   IF(B2 EQ 41) MSG 3(33D,34D,27D)TO LINE B1                             FMD
   IF(B2 NE 42) GOTO 36      *IF NOT ISOLATION NUMBER 42                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07032.                         FMD
*                                                                        FMD
   MSG 5(33D,34D,35D,37D,39D)TO LINE B1                                  FMD
   GOTO 60                   *APPEND ADJUSTMENT MESSAGE                  FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07033.                         FMD
*                                                                        FMD
36 IF(B2 EQ 43) MSG 5(33D,34D,27D,37D,39D)TO LINE B1                     FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07034.                         FMD
*                                                                        FMD
   IF(B2 EQ 44) MSG 4(27D,34D,37D,38D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07035.                         FMD
*                                                                        FMD
   IF(B2 EQ 45) MSG 3(33D,24D,23D)TO LINE B1                             FMD
   IF(B2 NE 46) GOTO 40      *IF NOT ISOLATION NUMBER 46                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07036.                         FMD
*                                                                        FMD
   MSG 4(34D,36D,37D,39D)TO LINE B1                                      FMD
   GOTO 60                   *APPEND ADJUSTMENT MESSAGE                  FMD
40 IF(B2 NE 47) GOTO 42      *IF NOT ISOLATION NUMBER 47                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07037.                         FMD
*                                                                        FMD
   MSG 4(33D,37D,39D,36D)TO LINE B1                                      FMD
   GOTO 60                   *APPEND ADJUSTMENT MESSAGE                  FMD
42 IF(B2 NE 50) GOTO 44      *IF NOT ISOLATION NUMBER 50                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07038.                         FMD
*                                                                        FMD
   MSG 4(27D,23D,39D,37D)TO LINE B1                                      FMD
   GOTO 60                   *APPEND ADJUSTMENT MESSAGE                  FMD
44 IF(B2 NE 51) GOTO 46      *IF NOT ISOLATION NUMBER 51                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07039.                         FMD
*                                                                        FMD
   MSG 4(27D,37D,39D,36D)TO LINE B1                                      FMD
   GOTO 60                   *APPEND ADJUSTMENT MESSAGE                  FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0703C AND 0703D.              FMD
*                                                                        FMD
46 IF(B2 EQ 52) MSG 4(31D,32D,40D,27D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0703E AND 0703F.              FMD
*                                                                        FMD
   IF(B2 EQ 53) MSG 4(31D,32D,40D,34D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07043.                         FMD
*                                                                        FMD
   IF(B2 EQ 54) MSG 4(31D,32D,33D,34D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07044.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 55) MSG 4(16D,24D,23D,27D)TO LINE B1                         FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 55) MSG 4(30D,24D,23D,27D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 55) MSG 4(16D,24D,23D,27D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07045.                         FMD
*                                                                        FMD
   IF(B2 EQ 56) MSG 4(38D,28D,40D,27D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07046.                         FMD
*                                                                        FMD
   IF(B2 EQ 57) MSG 4(24D,21D,23D,27D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07047.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 60) MSG 13(16D,38D,24D)TO LINE B1                            FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 60) MSG 13(30D,38D,24D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 60) MSG 13(16D,38D,24D)TO LINE B1 
*ENDIF
   EXIT TO 972               *EXIT TO NEXT ISOLATION MODULE              FMD
60 MSG 16 TO LINE B1+1       *COMPLETE THE ISOLATION MESSAGE             FMD
   EXIT TO 972               *EXIT TO NEXT ISOLATION MODULE              FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD972,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD972,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD972,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD972 - PROCESS ISOLATION INFORMATION FOR TEST 7.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD972 - PROCESS ISOLATION INFORMATION FOR TEST 7.
*ENDIF
*IF DEF,LSFMD 
*         FLD972 - PROCESS ISOLATION INFORMATION FOR TEST 7.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD972 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD34 THROUGH FMD45 WITH THE    FMD
*ENDIF
*IF DEF,PFMD
*         FHD972 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD34 THROUGH FHD45 WITH THE 
*ENDIF
*IF DEF,LSFMD 
*         FLD972 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD34 THROUGH FLD45 WITH THE 
*ENDIF
*         ISOLATION NUMBERS 61 THROUGH 104 OCTAL.                        FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO OR THREE OR FOUR LINE MESSAGE WILL BE APPENDED ONE LINE  FMD
*         AFTER THE END OF THE ERROR MESSAGE FOR THE ISOLATION NUMBERS   FMD
*         61 THROUGH 104 OCTAL. THE ERROR MESSAGE WILL THEN BE DISPLAYED FMD
*         TO THE OPERATOR.                                               FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE REFERENCED.                                               FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
1  FORMAT ORDER - A/B*D.                                                 FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
5  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.                     FMD
6  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.              FMD
7  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D,              FMD
10 FORMAT         A/B*D.                                                 FMD
11 FORMAT         A/B*D, A/B*D.                                          FMD
12 FORMAT         A/B*D, DECK BOARDS, A/B*D, A/B*D. 
13 FORMAT ORDER - A/B*D, A/B*D, A/B*D, DECK BOARDS.                      FMD
14 FORMAT READJUST SERV0 WITH VELOCITY ADJUSTMENT TEST.                  FMD
15 FORMAT THIS ERROR STOP MAY NOT NECESSARILY BE AN ERROR.               FMD10
16 FORMAT REV OFFSET ALONE DOES NOT CAUSE READY AND SAFE                 FMD10
17 FORMAT FWD OFFSET ALONE DOES NOT CAUSE READY AND SAFE                 FMD10
20 FORMAT TO DEACTIVATE.                                                 FMD10
21 FORMAT RTZ FAILED TO CLEAR OFFSET MODE.                               FMD
22 FORMAT POSSIBLE SERVO ERROR. GO TO TABLE 3-1 IN                       FMD
23 FORMAT TROUBLESHOOTING GUIDE.                                         FMD
24 FORMAT         A/B*D, A/B*D, A/B*D.
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
/         ISOLATION INFORMATION FOR ERROR 07048.                         FMD
*                                                                        FMD
*IF DEF,SFMD
30 IF(B2 EQ 61) MSG 13(16D,24D,38D)TO LINE B1                            FMD
*ENDIF
*IF DEF,PFMD
30 IF(B2 EQ 61) MSG 13(30D,24D,38D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
30 IF(B2 EQ 61) MSG 13(16D,24D,38D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07049.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 62) MSG 12(24D,16D,15D)TO LINE B1 
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 62) MSG 12(24D,30D,29D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 62) MSG 12(24D,16D,15D,24D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0704A.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 63) MSG 2(16D,24D)TO LINE B1                                 FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 63) MSG 2(30D,24D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 63) MSG 2(16D,24D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0704B.                         FMD
*                                                                        FMD
   IF(B2 EQ 64) MSG 3(24D,34D,31D)TO LINE B1                             FMD
   IF(B2 NE 65) GOTO 34      *IF NOT ISOLATION NUMBER 65                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0704C, 0704D,                 FMD
/         AND 0705D.                                                     FMD
*                                                                        FMD
   MSG 2(23D,24D)TO LINE B1                                              FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   IF(EC NE 135)GOTO 32             *IF NOT ERROR CODE 0705D             FMD
   MSG 21 TO LINE B1                *COMPLETE MESSAGE                    FMD
   GOTO 34                          *CONTINUE                            FMD
32 MSG 15 TO LINE B1                  *NEXT LINE OF MESSAGE              FMD10
   IF(EC EQ 114) MSG 16 TO LINE B1+1  *IF ERROR CODE 0704C               FMD10
   IF(EC EQ 115) MSG 17 TO LINE B1+1  *IF ERROR CODE 0704D               FMD10
   MSG 20 TO LINE B1+2                *NEXT LINE OF MESSAGE              FMD10
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 07050 AND 07051.              FMD
*                                                                        FMD
34 IF(B2 EQ 66) MSG 3(24D,23D,21D)TO LINE B1                             FMD
   IF(B2 NE 67) GOTO 36      *IF NOT ISOLATION NUMBER 67                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07052.                         FMD
*                                                                        FMD
   MSG 4(24D,37D,39D,36D)TO LINE B1                                      FMD
   MSG 14 TO LINE B1+1       *COMPLETE THE MESSAGE                       FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07053.                         FMD
*                                                                        FMD
*IF DEF,SFMD
36 IF(B2 EQ 70) MSG 13(24D,16D,23D)TO LINE B1                            FMD
*ENDIF
*IF DEF,PFMD
36 IF(B2 EQ 70) MSG 13(24D,30D,23D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
36 IF(B2 EQ 70) MSG 13(24D,16D,23D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07054.                         FMD
*                                                                        FMD
   IF(B2 EQ 71) MSG 4(38D,31D,32D,28D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07055.                         FMD
*                                                                        FMD
   IF(B2 EQ 72) MSG 3(28D,38D,40D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07057.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 73) MSG 5(23D,22D,15D,16D,28D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 73) MSG 5(23D,22D,29D,30D,28D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 73) MSG 5(23D,22D,15D,16D,28D)TO LINE B1
*ENDIF
   IF(B2 NE 74) GOTO 40      *IF NOT ISOLATION NUMBER 74                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07058.                         FMD
*                                                                        FMD
   MSG 4(23D,37D,39D,36D)TO LINE B1                                      FMD
   MSG 22 TO LINE B1+1       *COMPLETE THE MESSAGE                       FMD
   MSG 23 TO LINE B1+2                                                   FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07059.                         FMD
*                                                                        FMD
40 IF(B2 EQ 75) MSG 3(23D,22D,26D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0705A.                         FMD
*                                                                        FMD
   IF(B2 EQ 76) MSG 2(23D,27D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0705B.                         FMD
*                                                                        FMD
   IF(B2 EQ 77) MSG 4(37D,39D,36D,38D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0705C.                         FMD
*                                                                        FMD
   IF(B2 EQ 100) MSG 3(23D,33D,26D)TO LINE B1                            FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0705E.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 101) MSG 6(23D,21D,22D,15D,16D,28D)TO LINE B1 
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 101) MSG 6(23D,21D,22D,29D,30D,28D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 101) MSG 6(23D,21D,22D,15D,16D,28D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0705F.                         FMD
*                                                                        FMD
   IF(B2 EQ 102) MSG 3(23D,37D,39D)TO LINE B1                            FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07060.                         FMD
*                                                                        FMD
   IF(B2 EQ 103) MSG 3(23D,20D,21D)TO LINE B1                            FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 07061.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 104) MSG 2(16D,27D)TO LINE B1                                FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 104) MSG 2(30D,27D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 104) MSG 2(16D,27D)TO LINE B1 
*ENDIF
* 
/         ISOLATION INFORMATION FOR ERROR 0700D.
* 
*IF DEF,SFMD
   IF(B2 EQ 105) MSG 5(33D,34D,35D,36D,15D) TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 105) MSG 5(33D,34D,35D,36D,29D) TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 105) MSG 5(33D,34D,35D,36D,15D)TO LINE B1 
*ENDIF
* 
/         ISOLATION INFORMATION FOR ERROR 07031 
* 
*IF DEF,SFMD
   IF(B2 EQ 106B) MSG 7(33D,34D,27D,22D,15D,16D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 106B) MSG 7(33D,34D,27D,22D,29D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 106B) MSG 7(33D,34D,27D,22D,15D,16D)TO LINE B1
*ENDIF
   IF(B2 EQ 106B) MSG 24(23D,28D,20D)TO LINE B1+1 
*                                                                        FMD
/         DISPLAY ERROR MESSAGE AND STOP ON THE ERROR.                   FMD
*                                                                        FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD973,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD973,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD973,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD973 - PROCESS RETRY COUNTER FOR TEST 8.                     FMD
*ENDIF
*IF DEF,PFMD
*         FHD973 - PROCESS RETRY COUNTER FOR TEST 8.
*ENDIF
*IF DEF,LSFMD 
*         FLD973 - PROCESS RETRY COUNTER FOR TEST 8.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         DETERMINE THE ERROR CODE TO BE DISPLAYED FOR THE STROBE AND    FMD
*         OFFSET MARGINS REQUIRED TO SUCCESSFULLY READ A SECTOR OR THE   FMD06
*         ERROR CODE IF THE SECTOR COULD NOT BE READ FOR THE MODULES IN  FMD
*         TEST 8.                                                        FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE RETRY COUNT IN THE STATUS BUFFER WILL BE INTERROGATED TO   FMD
*         DETERMINE THE MARGINS CONDITIONS ENABLED IF THE SECTOR WAS     FMD
*         SUCCESSFULLY READ OR IF THE SECTOR COULD NOT BE READ. THE EA,  FMD06
*         EC, AND EM REGISTERS WILL BE LOADED FOR THE ERROR TO BE        FMD
*         REPORTED.                                                      FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         SB(00) CONTAINS THE GENERAL STATUS.                            FMD
*         SB(52) CONTAINS THE RETRY COUNT.                               FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         EA, EC, AND EM REGISTER LOADED FOR THE ERROR TO BE REPORTED.   FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NO SUBMODULES REFERENCED.                                      FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER                                  FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTOR NUMBER.                                   FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         STATUS BUFFER CONTAINS GENERAL AND DETAILED STATUS.            FMD
*                                                                        FMD
/         SAVE RETRY COUNT IN B1 REGISTER.                               FMD
*                                                                        FMD
20 B1=SB(52)                 *SAVE RETRY COUNT                           FMD
*                                                                        FMD
/         CHECK FOR UNRECOVERALBE ERROR.                                 FMD
*                                                                        FMD
   IF(SB EQ 5000)ERROR 21/23 GOTO 30  *UNRECOVERABLE ERROR               FMD
*                                                                        FMD
/         CHECK FOR NORMAL STROBE AND NO OFFSET.                         FMD
*                                                                        FMD
   IF(B1-3 LT 0) EXIT        *EXIT THE MODULE NO MARGINS                 FMD
*                                                                        FMD
/         CHECK FOR EARLY STROBE AND NO OFFSET.                          FMD
*                                                                        FMD
   IF(B1-6 LT 0)ERROR 10/13 GOTO 30  *EARLY MARGIN                       FMD
*                                                                        FMD
/         CHECK FOR LATE STROBE AND NO OFFSET.                           FMD
*                                                                        FMD
   IF(B1-9D LT 0)ERROR 11/14 GOTO 30  *LATE MARGIN                       FMD
*                                                                        FMD
/         CHECK FOR NORMAL STROBE AND REVERSE OFFSET.                    FMD
*                                                                        FMD
   IF(B1-12D LT 0)ERROR 16/20 GOTO 30  *REVERSE MARGIN                   FMD
*                                                                        FMD
/         CHECK FOR EARLY STROBE AND REVERSE OFFSET.                     FMD
*                                                                        FMD
   IF(B1-15D LT 0)ERROR 17/21 GOTO 30  *EARLY, REV. MARGIN               FMD
*                                                                        FMD
/         CHECK FOR LATE STROBE AND REVERSE OFFSET.                      FMD
*                                                                        FMD
   IF(B1-18D LT 0)ERROR 20/22 GOTO 30  *LATE, REV. MARGIN                FMD
*                                                                        FMD
/         CHECK FOR NORMAL STROBE AND FORWARD OFFSET.                    FMD
*                                                                        FMD
   IF(B1-21D LT 0)ERROR 13/15 GOTO 30  *FORWARD MARGIN                   FMD
*                                                                        FMD
/         CHECK FOR EARLY STROBE AND FORWARD OFFSET.                     FMD
*                                                                        FMD
   IF(B1-24D LT 0)ERROR 13/16 GOTO 30  *EARLY, FWD. MARGIN               FMD
*                                                                        FMD
/         CHECK FOR LATE STROBE AND FORWARD OFFSET.                      FMD
*                                                                        FMD
   ERROR 15/17                         *LATE, FWD. MARGIN                FMD
30 EXIT                                *EXIT THE MODULE                  FMD
   END 20                              *END OF THE MODULE                FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD974,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD974,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD974,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD974 - PROCESS ERRORS FOR TEST 8.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD974 - PROCESS ERRORS FOR TEST 8. 
*ENDIF
*IF DEF,LSFMD 
*         FLD974 - PROCESS ERRORS FOR TEST 8. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 08000, 08001, 08002,   FMD06
*         08003, 08004, 08005, 08006, AND 08007.                         FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE FIRST THREE LINES FOR THE ERROR DISPLAY WILL BE PLACED IN  FMD06
*         THE DISPLAY BUFFER.  IF THE ERROR CODE NUMBER IN THE EC        FMD06
*         REGISTER IS A PRODUCT OVERLAY ERROR CODE, THE MODULE WILL EXIT FMD06
*IF DEF,SFMD
*         TO THE FMD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE FMD06
*ENDIF
*IF DEF,PFMD
*         TO THE FHD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*IF DEF,LSFMD 
*         TO THE FLD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*         ERROR. THE ERROR CODE LINE WILL BE PLACED IN THE DISPLAY       FMD06
*         BUFFER. IF THE EC REGISTER CONTAINS THE ERROR CODES 00, OR 01, FMD06
*         OR 02, OR 03, OR 04, OR 05, OR 06, OR 07, THE ERROR DISPLAY    FMD06
*         WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER DOES NOT       FMD06
*         CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE  FMD06
*IF DEF,SFMD
*         FMD975 MODULE.                                                 FMD06
*ENDIF
*IF DEF,PFMD
*         FHD975 MODULE.
*ENDIF
*IF DEF,LSFMD 
*         FLD975 MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD06
*IF DEF,SFMD
*         EXIT TO FMD978 TO APPEND THE ISOLATION INFORMATION TO THE      FMD06
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD978 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD978 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD06
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98B -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98B - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98B - 
*ENDIF
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         THE FIRST THREE LINES OF THE ERROR DISPLAY PLACED              FMD
*         IN THE DISPLAY BUFFER BY THE CALLING MODULE.                   FMD
*IF DEF,SFMD
*         IF EXIT TO FMD975 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD975 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD975 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED               FMD
*         IN THE DISPLAY BUFFER BY THE CALLING MODULE.                   FMD
*IF DEF,SFMD
*         IF EXIT TO FMD978 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD978 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD978 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION             FMD
*                       MESSAGE FOR THE ERROR CODE.                      FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD975 - PROCESS ERRORS.                                       FMD
*         FMD978 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD979 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96A - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD975 - PROCESS ERRORS.
*         FHD978 - PROCESS ISOLATION INFORMATION. 
*         FHD979 - PROCESS ISOLATION INFORMATION. 
*         FHD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD975 - PROCESS ERRORS.
*         FLD978 - PROCESS ISOLATION INFORMATION. 
*         FLD979 - PROCESS ISOLATION INFORMATION. 
*         FLD97A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CALLING MODULE NUMBER.                           FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - TEMPORARY STORAGE.                               FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER.                                 FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTOR NUMBER.                                   FMD
*         B10 REGISTER - UPPER CYLINDER NUMBER.                          FMD
*         B11 REGISTER - UPPER TRACK NUMBER.                             FMD
*         B12 REGISTER - UPPER SECTOR NUMBER.                            FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*                                                                        FMD
*IF DEF,SFMD
0  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
1  FORMAT FMD46 - READ ADDRESS FIELD                                     FMD
2  FORMAT FMD47 - READ DATA FIELD                                        FMD
3  FORMAT FMD48 - READ ADDRESS FORWARD                                   FMD
4  FORMAT FMD49 - READ ADDRESS REVERSE                                   FMD
5  FORMAT FMD50 - RANDOM READ TEST                                       FMD
6  FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD05
7  FORMAT FMD*D - LINE *OCT ERROR CODE 08*HE                             FMD
*ENDIF
*IF DEF,PFMD
0  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FHD46 - READ ADDRESS FIELD
2  FORMAT FHD47 - READ DATA FIELD 
3  FORMAT FHD48 - READ ADDRESS FORWARD
4  FORMAT FHD49 - READ ADDRESS REVERSE
5  FORMAT FHD50 - RANDOM READ TEST
6  FORMAT PRESERVICE FORECAST GROUP FHDD
7  FORMAT FHD*D - LINE *OCT ERROR CODE 08*HE
*ENDIF
*IF DEF,LSFMD 
0  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FLD46 - READ ADDRESS FIELD
2  FORMAT FLD47 - READ DATA FIELD 
3  FORMAT FLD48 - READ ADDRESS FORWARD
4  FORMAT FLD49 - READ ADDRESS REVERSE
5  FORMAT FLD50 - RANDOM READ TEST
6  FORMAT PRESERVICE FORECAST GROUP FMDD
7  FORMAT FLD*D - LINE *OCT ERROR CODE 08*HE
*ENDIF
*                                                                        FMD
/         ERROR MESSAGE 08000.                                           FMD
*                                                                        FMD
10 FORMAT SELECT AND RESERVE NOT ACTIVE AFTER DROPPING AND               FMD
11 FORMAT RAISING SELECT LINE.                                           FMD
*                                                                        FMD
/         ERROR MESSAGE 08001.                                           FMD
*                                                                        FMD
12 FORMAT ON CYL NOT ACTIVE AFTER ENTERING TEST 8.                       FMD
*                                                                        FMD
/         ERROR MESSAGE 08002.                                           FMD
*                                                                        FMD
13 FORMAT STATUS VALID WAS NOT RETURNED FROM DEVICE AFTER                FMD
14 FORMAT ISSUING A NORMAL COMMAND.                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 08003.                                           FMD
*                                                                        FMD
15 FORMAT ON CYL NOT ACTIVE AFTER ISSUING AN RTZ CMD.                    FMD
*                                                                        FMD
/         ERROR MESSAGE 08004.                                           FMD
*                                                                        FMD
16 FORMAT NO SYNC BYTE WAS FOUND WHILE ATTEMPTING TO READ                FMD
17 FORMAT ADDRESS.                                                       FMD
*                                                                        FMD
/         ERROR MESSAGE 08005.                                           FMD
*                                                                        FMD
20 FORMAT AFTER READING ADDRESS, THE ADDRESS READ WAS NOT                FMD10
21 FORMAT THE SAME AS THE EXPECTED ADDRESS.                              FMD10
*                                                                        FMD
/         ERROR MESSAGE 08006.                                           FMD
*                                                                        FMD
22 FORMAT AFTER FINDING SYNC BYTE AND READING THE CORRECT                FMD
23 FORMAT ADDRESS, AN ADDRESS ECC ERROR OCCURRED.                        FMD
*                                                                        FMD
/         ERROR MESSAGE 08007.                                           FMD
*                                                                        FMD
24 FORMAT ON CYL NOT ACTIVE AFTER ISSUING SEEK CMD.                      FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
25 FORMAT CYLINDER = *OCT, TRACK = *OCT, SECTOR = *OCT                   FMD
26 FORMAT EXP   CYLINDER = *OCT, TRACK = *OCT, SECTOR = *OCT             FMD
27 FORMAT RCVD  CYLINDER = *OCT, TRACK = *OCT, SECTOR = *OCT             FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 MSG 0 TO LINE 1           *DIAGNOSTIC TITLE MESSAGE                   FMD
   B1=B0-45D                 *CALL MODULE NAME MESSAGE                   FMD
   MSG B1 TO LINE 2          *MODULE NUMBER AND NAME MESSAGE             FMD
   MSG 6 TO LINE 3           *PRESERVICE FORECAST MESSAGE                FMD05
   IF(EC GT 3777) EXIT TO 98B  *IF PRODUCT OVERLAY ERROR                 FMD
   MSG 7 (B0,EA,EC) TO LINE 5  *ERROR CODE TO DISPLAY                    FMD
   B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=5                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 0) GOTO 34       *IF ERROR CODE 08000                        FMD
   B2=6                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 1) GOTO 40       *IF ERROR CODE 08001                        FMD
   B2=7                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 2) GOTO 34       *IF ERROR CODE 08002                        FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 3) GOTO 40       *IF ERROR CODE 08003                        FMD
   B2=11                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 4) GOTO 34       *IF ERROR CODE 08004                        FMD
   B2=1                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 5) GOTO 34       *IF ERROR CODE 08005                        FMD
   B2=2                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 6) GOTO 34       *IF ERROR CODE 08006                        FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 7) GOTO 40       *IF ERROR CODE 08007                        FMD
   EXIT TO 975               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 08000, 08002, 08004, 08005,                FMD
/         AND 08006.                                                     FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 08001, 08003, AND 08007.                   FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 4) GOTO 44       *IF ERROR CODE 08004                        FMD
   IF(EC NE 6) GOTO 50       *IF NOT ERROR CODE 08006                    FMD
44 MSG 25(B7,B8,B9)TO LINE 7  *CYLINDER, TRACK, SECTOR                   FMD
   GOTO 60                                                               FMD
50 IF(EC NE 5) GOTO 60       *IF NOT ERROR CODE 08005                    FMD
   MSG 26(B7,B8,B9)TO LINE 7  *CYLINDER, TRACK, SECTOR                   FMD
   B0=SB(5) AND 77 LS 4       *ASSEMBLE ACTUAL CYLINDER                  FMD
   B0=SB(6) RS 8 XOR B0                                                  FMD
   B3=SB(6) AND 377           *ACTUAL TRACK NUMBER                       FMD
   B4=SB(7) RS 4              *ACTUAL SECTOR NUMBER                      FMD
   MSG 27(B0,B3,B4)TO LINE 10  *CYLINDER, TRACK, SECTOR                  FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
60 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 978  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD975,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD975,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD975,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD975 - PROCESS ERRORS FOR TEST 8.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD975 - PROCESS ERRORS FOR TEST 8. 
*ENDIF
*IF DEF,LSFMD 
*         FLD975 - PROCESS ERRORS FOR TEST 8. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 08009, 0800A, 0800B,   FMD06
*         0800C, 0800D, 0800E, 0800F, 08010, 08011, 08012, AND 08013.    FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 09, OR 0A, OR 0B,  FMD06
*         OR 0C, OR 0D, OR 0E, OR 0F, OR 10, OR 11, OR 12, OR 13, THE    FMD06
*         ERROR DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER  FMD06
*         DOES NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL     FMD06
*IF DEF,SFMD
*         EXIT TO THE FMD976 MODULE.                                     FMD06
*ENDIF
*IF DEF,PFMD
*         EXIT TO THE FHD976 MODULE.
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO THE FLD976 MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD06
*IF DEF,SFMD
*         EXIT TO FMD978 TO APPEND THE ISOLATION INFORMATION TO THE      FMD06
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD978 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD978 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD06
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED               FMD
*         IN THE DISPLAY BUFFER BY THE CALLING MODULE.                   FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD976 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD976 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD976 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED               FMD
*         IN THE DISPLAY BUFFER BY THE CALLING MODULE.                   FMD
*IF DEF,SFMD
*         IF EXIT TO FMD978 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD978 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD978 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION             FMD
*                       MESSAGE FOR THE ERROR CODE.                      FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD976 - PROCESS ERRORS.                                       FMD
*         FMD978 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD979 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96A - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD976 - PROCESS ERRORS.
*         FHD978 - PROCESS ISOLATION INFORMATION. 
*         FHD979 - PROCESS ISOLATION INFORMATION. 
*         FHD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD976 - PROCESS ERRORS.
*         FLD978 - PROCESS ERRORS.
*         FLD979 - PROCESS ISOLATION INFORMATION. 
*         FLD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CALLING MODULE NUMBER.                           FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER.                                 FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTOR NUMBER.                                   FMD
*         B10 REGISTER - UPPER CYLINDER NUMBER.                          FMD
*         B11 REGISTER - UPPER TRACK NUMBER.                             FMD
*         B12 REGISTER - UPPER SECTOR NUMBER.                            FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         REMARKS-                                                       FMD
*                                                                        FMD
*         KNOWN LIMITATIONS-                                             FMD
*                                                                        FMD
/         ERROR MESSAGE 08009.                                           FMD
*                                                                        FMD
0  FORMAT AFTER READING THE CORRECT ADDRESS AN ATTEMPT WAS               FMD
1  FORMAT MADE TO READ THE DATA FIELD, BUT THE SYNC BYTE FOR             FMD
2  FORMAT THE DATA FIELD WAS NOT FOUND.                                  FMD
*                                                                        FMD
/         ERROR MESSAGE 0800A.                                           FMD
*                                                                        FMD
3  FORMAT AFTER READING THE CORRECT ADDRESS AN ATTEMPT WAS               FMD
4  FORMAT MADE TO READ THE DATA FIELD. SYNC BYTE WAS FOUND,              FMD
5  FORMAT BUT A DATA FIELD ECC ERROR OCCURRED.                           FMD
*                                                                        FMD
/         FIRST TWO LINES OF ERROR MESSAGES 0800B - 08013.               FMD
*                                                                        FMD
6  FORMAT A READ ERROR OCCURRED THAT WAS DEFINED BY AN                   FMD
7  FORMAT EARLIER ERROR CODE. AN ATTEMPT TO RECOVER THIS                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0800B.                                           FMD
*                                                                        FMD
10 FORMAT ERROR USING EARLY STROBE WAS SUCCESSFUL.                       FMD
*                                                                        FMD
/         ERROR MESSAGE 0800C.                                           FMD
*                                                                        FMD
11 FORMAT ERROR USING LATE STROBE WAS SUCCESSFUL.                        FMD
*                                                                        FMD
/         ERROR MESSAGE 0800D.                                           FMD
*                                                                        FMD
12 FORMAT ERROR USING FWD OFFSET WAS SUCCESSFUL.                         FMD
*                                                                        FMD
/         ERROR MESSAGE 0800E.                                           FMD
*                                                                        FMD
13 FORMAT ERROR USING FWD OFFSET WITH EARLY STROBE WAS                   FMD
14 FORMAT SUCCESSFUL.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 0800F.                                           FMD
*                                                                        FMD
15 FORMAT ERROR USING FWD OFFSET WITH EARLY STROBE WAS                   FMD
*                                                                        FMD
/         ERROR MESSAGE 08010.                                           FMD
*                                                                        FMD
16 FORMAT ERROR USING REV OFFSET WAS SUCCESSFUL.                         FMD
*                                                                        FMD
/         ERROR MESSAGE 08011.                                           FMD
*                                                                        FMD
17 FORMAT ERROR USING REV OFFSET WITH EARLY STROBE WAS                   FMD
*                                                                        FMD
/         ERROR MESSAGE 08012.                                           FMD
*                                                                        FMD
20 FORMAT ERROR USING REV OFFSET WITH LATE STROBE WAS                    FMD
*                                                                        FMD
/         ERROR MESSAGE 08013.                                           FMD
*                                                                        FMD
21 FORMAT ERROR USING ALL COMBINATIONS OF MARGINS WAS                    FMD
22 FORMAT UNSUCCESSFUL.                                                  FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT CYLINDER = *OCT, TRACK = *OCT, SECTOR = *OCT                   FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=12                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 11) GOTO 34      *IF ERROR CODE 08009                        FMD
   B2=13                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 12) GOTO 34      *IF ERROR CODE 0800A                        FMD
   B2=14                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 13) GOTO 40      *IF ERROR CODE 0800B                        FMD
*IF DEF,SFMD
   B2=15                     *SET INFORMATION FLAG FOR ERROR             FMD
*ENDIF
*IF DEF,PFMD
   B2=14                     *SET INFORMATION FLAG FOR ERROR
*ENDIF
*IF DEF,LSFMD 
   B2=15               *SET INFORMATION FLAG FOR ERROR
*ENDIF
   IF(EC EQ 14) GOTO 40      *IF ERROR CODE 0800C                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 15) GOTO 40      *IF ERROR CODE 0800D                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 16) GOTO 40      *IF ERROR CODE 0800E                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 17) GOTO 40      *IF ERROR CODE 0800F                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 20) GOTO 40      *IF ERROR CODE 08010                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 21) GOTO 40      *IF ERROR CODE 08011                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 22) GOTO 40      *IF ERROR CODE 08012                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 23) GOTO 40      *IF ERROR CODE 08013                        FMD
   EXIT TO 976               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 08009 AND 0800A.                           FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC NE 11) GOTO 60      *IF NOT ERROR CODE 08009                    FMD
   MSG 27 (B7,B8,B9) TO LINE 7  *DISPLAY STATUS                          FMD
   GOTO 60                                                               FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0800B, 0800C, 0800D, 0800E,                FMD
/         0800F, 08010, 08011, 08012, AND 08013.                         FMD
*                                                                        FMD
40 MSG 6 TO LINE B1          *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 7 TO LINE B1          *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG EM TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 16) GOTO 44      *IF ERROR CODE 0800E                        FMD
   IF(EC EQ 17) GOTO 44      *IF ERROR CODE 0800F                        FMD
   IF(EC EQ 21) GOTO 44      *IF ERROR CODE 08010                        FMD
   IF(EC NE 22) GOTO 50      *IF NOT ERROR CODE 08012                    FMD
44 B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 14 TO LINE B1         *COMPLETE THE ERROR MESSAGE                 FMD
50 IF(EC NE 23) GOTO 60      *IF NOT ERROR CODE 08013                    FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 22 TO LINE B1         *COMPLETE THE ERROR MESSAGE                 FMD
60 MSG 27 (B7,B8,B9) TO LINE 7  *DISPLAY DISK ADDRESS                    FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 978  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD976,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD976,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD976,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD976 - PROCESS ERRORS FOR TEST 8.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD976 - PROCESS ERRORS FOR TEST 8. 
*ENDIF
*IF DEF,LSFMD 
*         FLD976 - PROCESS ERRORS FOR TEST 8. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 08014, 08015, 08016,   FMD06
*         08017, 08018, 08019, 0801A, 0801B, 0801C, 0801D, 0801E, 0801F, FMD06
*         AND 08020.                                                     FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 14, OR 15, OR 16,  FMD06
*         OR 17, OR 18, OR 19, OR 1A, OR 1B, OR 1C, OR 1D, OR 1E, OR 1F, FMD06
*         OR 20, THE ERROR DISPLAY WILL BE BUILT FOR THE ERROR. IF THE   FMD06
*         EC REGISTER DOES NOT CONTAIN ONE OF THESE ERROR CODES, THE     FMD06
*IF DEF,SFMD
*         MODULE WILL EXIT TO THE FMD977 MODULE.                         FMD06
*ENDIF
*IF DEF,PFMD
*         MODULE WILL EXIT TO THE FHD977 MODULE.
*ENDIF
*IF DEF,LSFMD 
*         MODULE WILL EXIT TO THE FLD977 MODULE 
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD06
*IF DEF,SFMD
*         EXIT TO FMD978 TO APPEND THE ISOLATION INFORMATION TO THE      FMD06
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD978 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD06
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED               FMD
*         IN THE DISPLAY BUFFER BY THE CALLING MODULE.                   FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD977 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD977 - 
*ENDIF
*IF DEF,LSFMD 
*        IF EXIT TO FLD977 -
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED               FMD
*         IN THE DISPLAY BUFFER BY THE CALLING MODULE.                   FMD
*IF DEF,SFMD
*         IF EXIT TO FMD978 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD978 - 
*ENDIF
*IF DEF,LSFMD 
*        IF EXIT TO FLD978 -
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION             FMD
*                       MESSAGE FOR THE ERROR CODE.                      FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD977 - PROCESS ERRORS.                                       FMD
*         FMD978 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD979 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96A - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD977 - PROCESS ERRORS.
*         FHD978 - PROCESS ISOLATION INFORMATION. 
*         FHD979 - PROCESS ISOLATION INFORMATION. 
*         FHD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD977 - PROCESS ERRORS.
*         FLD978 - PROCESS ERRORS.
*         FLD979 - PROCESS ISOLATION INFORMATION. 
*         FLD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER.                                 FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTOR NUMBER.                                   FMD
*         B10 REGISTER - UPPER CYLINDER NUMBER                           FMD
*         B11 REGISTER - UPPER TRACK NUMBER.                             FMD
*         B12 REGISTER - UPPER SECTOR NUMBER.                            FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 08014.                                           FMD
0  FORMAT READY AND SAFE BECAME NOT ACTIVE. STATUS INDICATED             FMD
1  FORMAT AN ACCESS CHECK.                                               FMD
/         ERROR MESSAGE 08015.                                           FMD
2  FORMAT INITIAL STATUS INDICATED ACCESS ERROR. DETAILED                FMD
3  FORMAT STATUS INDICATED NO ERROR BITS ACTIVE.                         FMD
/         FIRST LINE OF ERROR MESSAGES 08016 - 08020.                    FMD
4  FORMAT READY AND SAFE BECAME NOT ACTIVE. INITIAL STATUS               FMD
/         SECOND LINE OF ERROR MESSAGES 08016 - 0801F.                   FMD
5  FORMAT INDICATED A R/W CHECK. EXTENDED STATUS INDICATED A             FMD
/         ERROR MESSAGE 08016.                                           FMD
6  FORMAT HEAD SHORT FAULT UNDER STATUS WORD 5.                          FMD
/         ERROR MESSAGE 08017.                                           FMD
7  FORMAT INDEX CHECK UNDER STATUS WORD 5.                               FMD10
/         ERROR MESSAGE 08018.                                           FMD
10 FORMAT CONTROL ERROR UNDER STATUS WORD 5.                             FMD
/         ERROR MESSAGE 08019.                                           FMD
11 FORMAT WRITE TRANSITION ERROR UNDER STATUS WORD 5.                    FMD
/         ERROR MESSAGE 0801A.                                           FMD
12 FORMAT WRITE CURRENT ERROR UNDER STATUS WORD 5.                       FMD
/         ERROR MESSAGE 0801B.                                           FMD
13 FORMAT MULTIHEAD ERROR UNDER STATUS WORD 5.                           FMD
/         ERROR MESSAGE 0801C.                                           FMD
14 FORMAT WRITE OVERRUN ERROR UNDER STATUS WORD 5.                       FMD
/         ERROR MESSAGE 0801D.                                           FMD
15 FORMAT CAPABLE ENABLE ERROR UNDER STATUS WORD 5.                      FMD
/         ERROR MESSAGE 0801E.                                           FMD
16 FORMAT WRITE IN OFFSET ERROR UNDER STATUS WORD 6.                     FMD
/         ERROR MESSAGE 0801F.                                           FMD
17 FORMAT WRT/READ OCCURRED WITHOUT CONTROL SELECT UNDER                 FMD
20 FORMAT STATUS WORD 6.                                                 FMD
/         ERROR MESSAGE 08020.                                           FMD
21 FORMAT INDICATED A R/W CHECK. EXTENDED STATUS INDICATED               FMD
22 FORMAT NO ERROR BITS WERE ACTIVE.                                     FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
24 FORMAT SERVO OFF TRACK.                                               FMD
25 FORMAT SEEK ERROR (OVERSHOOT).                                        FMD
26 FORMAT SEEK TIME OUT ERROR.                                           FMD
27 FORMAT STATUS WORD *O = *H.                                           FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=20                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 24) GOTO 40      *IF ERROR CODE 08014                        FMD
   B2=21                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 25) GOTO 40      *IF ERROR CODE 08015                        FMD
   B2=22                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 26) GOTO 34      *IF ERROR CODE 08016                        FMD
   B2=23                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 27) GOTO 34      *IF ERROR CODE 08017                        FMD
   B2=24                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 30) GOTO 34      *IF ERROR CODE 08018                        FMD
   B2=25                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 31) GOTO 34      *IF ERROR CODE 08019                        FMD
   B2=26                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 32) GOTO 34      *IF ERROR CODE 0801A                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 33) GOTO 34      *IF ERROR CODE 0801B                        FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 34) GOTO 34      *IF ERROR CODE 0801C                        FMD
   B2=31                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 35) GOTO 34      *IF ERROR CODE 0801D                        FMD
   B2=32                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 36) GOTO 34      *IF ERROR CODE 0801E                        FMD
   B2=33                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 37) GOTO 34      *IF ERROR CODE 0801F                        FMD
   B2=34                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 40) GOTO 34      *IF ERROR CODE 08020                        FMD
   EXIT TO 977               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 08016, 08017, 08018, 08019,                FMD
/         0801A, 0801B, 0801C, 0801D, 0801E, 0801F, AND                  FMD
/         08020.                                                         FMD
*                                                                        FMD
34 MSG 4 TO LINE B1          *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   IF(EC EQ 40) GOTO 40      *IF ERROR CODE 08020                        FMD
   MSG 5 TO LINE B1          *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 08014 AND 08015.                           FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 24) GOTO 44      *IF ERROR CODE 08014                        FMD
   IF(EC EQ 25) GOTO 44      *IF ERROR CODE 08015                        FMD
   IF(EC EQ 37) GOTO 44      *IF ERROR CODE 0801F                        FMD
   IF(EC NE 40) GOTO 46      *IF NOT ERROR CODE 08020                    FMD
44 B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
46 IF(EC NE 24) GOTO 50      *IF NOT ERROR CODE 08014                    FMD
   IF(SB(9) AND 10 NE 0)MSG 24 TO LINE 7  *SEEK TIMEOUT                  FMD
   IF(SB(9) AND 4 NE 0)MSG 25 TO LINE 7   *SEEK OVERSHOOT                FMD
   IF(SB(9) AND 2 NE 0)MSG 26 TO LINE 7   *SERVO OFF TRACK               FMD
50 IF(EC LE 25) GOTO 60      *IF ERROR CODED 08014 OR 08015              FMD
   IF(EC EQ 40) GOTO 60      *IF ERROR CODE 08020                        FMD
   B0=5                      *STATUS WORD NUMBER                         FMD
   B3=SB(11D) RS 4           *STATUS WORD 5                              FMD
   IF(EC LT 36) GOTO 52      *IF STATUS WORD 5 ERROR                     FMD
   B3=SB(11D) AND 17         *STATUS WORD 6                              FMD
   B0=SB(12D) RS 4 AND 360                                               FMD
   B3=B3 XOR B0                                                          FMD
   B0=6                      *STATUS WORD NUMBER                         FMD
52 MSG 27 (B0,B3) TO LINE 7  *DISPLAY STATUS WORD                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
60 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 978  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD977,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD977,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD977,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD977 - PROCESS ERRORS FOR TEST 8.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD977 - PROCESS ERRORS FOR TEST 8. 
*ENDIF
*IF DEF,LSFMD 
*         FLD977 - PROCESS ERRORS FOR TEST 8. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 08021, 08022, 08023,   FMD06
*         08024, 08025, 08026, 08027, AND 08028.                         FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE ERROR DISPLAY WILL BE BUILT FOR ERROR CODES 21, 22, 23,    FMD06
*         24, 25, 26, 27, AND 28.                                        FMD06
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD06
*IF DEF,SFMD
*         EXIT TO FMD978 TO APPEND THE ISOLATION INFORMATION TO THE      FMD06
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD978 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD978 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD06
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED               FMD
*         IN THE DISPLAY BUFFER BY THE CALLING MODULE.                   FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         EXIT TO CALLING PRIMARY MODULE-                                FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD978 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD978 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD978 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION             FMD
*                       MESSAGE FOR THE ERROR CODE.                      FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD978 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD979 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96A - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD978 - PROCESS ISOLATION INFORMATION. 
*         FHD979 - PROCESS ISOLATION INFORMATION. 
*         FHD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD978 - PROCESS ISOLATION INFORMATION. 
*         FLD979 - PROCESS ISOLATION INFORMATION. 
*         FLD97A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - CYLINDER NUMBER.                                 FMD
*         B8 REGISTER - TRACK NUMBER.                                    FMD
*         B9 REGISTER - SECTORCNUMBER.                                   FMD
*         B10 REGISTER - UPPER CYLINDER NUMBER                           FMD
*         B11 REGISTER - UPPER TRACK NUMBER.                             FMD
*         B12 REGISTER - UPPER SECTOR NUMBER.                            FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         FIRST LINE OF ERROR MESSAGES 08021 - 08029.                    FMD
0  FORMAT READY AND SAFE BECAME NOT ACTIVE. INITIAL STATUS               FMD
/         SECOND LINE OF ERROR MESSAGES 08021 - 08027.                   FMD
1  FORMAT INDICATED A DRIVE CHECK. EXTENDED STATUS INDICATED             FMD
/         ERROR MESSAGE 08021.                                           FMD
2  FORMAT MOTOR NOT AT SPEED UNDER STATUS WORD 1.                        FMD
/         ERROR MESSAGE 08022.                                           FMD
3  FORMAT DRIVE START SWITCH NOT ON UNDER STATUS WORD 1.                 FMD
/         ERROR MESSAGE 08023.                                           FMD
4  FORMAT SEQUENCE CHECK LATCH ACTIVE UNDER STATUS WORD 4.               FMD
/         ERROR MESSAGE 08024.                                           FMD
5  FORMAT HDA SEQ COMPLETE STATUS NOT ACTIVE UNDER STATUS                FMD
6  FORMAT WORD 4.                                                        FMD
/         ERROR MESSAGE 08025.                                           FMD
7  FORMAT AN INDEX CHECK UNDER STATUS WORD 5.                            FMD
/         ERROR MESSAGE 08026.                                           FMD
10 FORMAT A SECTOR COMPARE ERROR UNDER STATUS WORD 7.                    FMD
/         ERROR MESSAGE 08027.                                           FMD
11 FORMAT NO FAULT BITS ACTIVE.                                          FMD
/         ERROR MESSAGE 08028.                                           FMD
12 FORMAT INDICATED NO FURTHER INFORMATION.                              FMD
/         ERROR MESSAGE 08029.                                           FMD
13 FORMAT INDICATED ECHO MODE ACTIVE.                                    FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT STATUS WORD *O = *H                                            FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   MSG 0 TO LINE B1          *FIRST LINE OF ERROR MESSAGE                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B2=3                      *SET INFORMATION FLAG FOR ERROR             FMD
   B3=SB(8) AND 377          *STATUS WORD 1                              FMD
   B4=1                      *STATUS WORD NUMBER                         FMD
   IF(EC EQ 41) GOTO 34      *IF ERROR CODE 08021                        FMD
   B2=4                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 42) GOTO 34      *IF ERROR CODE 08022                        FMD
   B2=35                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=SB(2) AND 17           *STATUS WORD 4                              FMD
   B4=4                      *STATUS WORD NUMBER                         FMD
   IF(EC EQ 43) GOTO 34      *IF ERROR CODE 08023                        FMD
   B2=36                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 44) GOTO 34      *IF ERROR CODE 08024                        FMD
   B2=37                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=SB(11D) RS 4           *STATUS WORD 5                              FMD
   B4=5                      *STATUS WORD NUMBER                         FMD
   IF(EC EQ 45) GOTO 34      *IF ERROR CODE 08025                        FMD
   B2=40                     *SET INFORMATION FLAG FOR ERROR             FMD
   B3=SB(12D) AND 377        *STATUS WORD 7                              FMD
   B4=7                      *STATUS WORD NUMBER                         FMD
   IF(EC EQ 46) GOTO 34      *IF ERROR CODE 08026                        FMD
   B2=41                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 47) GOTO 34      *IF ERROR CODE 08027                        FMD
   B2=42                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 50) GOTO 40      *IF ERROR CODE 08028                        FMD
   B2=43                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 51) GOTO 40      *IF ERROR CODE 08029                        FMD
*                                                                        FMD
/         PROCESS ERROR CODES 08012, 08022, 08023, 08023,                FMD
/         08024, 08025, 08026, AND 08027.                                FMD
*                                                                        FMD
34 MSG 1 TO LINE B1          *SECOND LINE OF ERROR MESSAGE               FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 08028 AND 08029.                           FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC NE 44) GOTO 44      *IF NOT ERROR CODE 08024                    FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
44 IF(EC GE 50) GOTO 60      *IF ERROR CODES 08028 OR 08029              FMD
   MSG 27 (B4,B3) TO LINE 7  *DISPLAY STATUS WORD                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
60 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 978  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD978,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD978,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD978,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD978 - PROCESS ISOLATION INFORMATION FOR TEST 8.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD978 - PROCESS ISOLATION INFORMATION FOR TEST 8.
*ENDIF
*IF DEF,LSFMD 
*         FLD978 - PROCESS ISOLATION INFORMATION FOR TEST 8.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD978 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD46, FMD47, FMD48, FMD49, AND FMD
*         FMD50 FOR ISOLATION NUMBERS 1 THROUGH 12 OCTAL.                FMD
*ENDIF
*IF DEF,PFMD
*         FHD978 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD46, FHD47, FHD48, FHD49, AND
*         FHD50 FOR ISOLATION NUMBERS 1 THROUGH 12 OCTAL. 
*ENDIF
*IF DEF,LSFMD 
*         FLD978 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD46, FLD47, FLD48, FLD49, AND
*         FLD50 FOR ISOLATION NUMBERS 1 THROUGH 12 OCTAL. 
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO OR THREE OR FOUR LINE MESSAGE WILL BE APPENDED ONE LINE  FMD
*         AFTER THE END OF THE ERROR MESSAGE FOR THE ISOLATION NUMBERS 1 FMD
*         THROUGH 12 OCTAL. EXIT WILL BE MADE TO THE NEXT ISOLATION      FMD
*IF DEF,SFMD
*         MODULE (FMD979).                                               FMD
*ENDIF
*IF DEF,PFMD
*         MODULE (FHD979).
*ENDIF
*IF DEF,LSFMD 
*         MODULE (FLD979).
*ENDIF
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*IF DEF,SFMD
*         EXIT WILL BE MADE TO NEXT ISOLATION MODULE (FMD979).           FMD
*ENDIF
*IF DEF,PFMD
*         EXIT WILL BE MADE TO NEXT ISOLATION MODULE (FHD979).
*ENDIF
*IF DEF,LSFMD 
*         EXIT WILL BE MADE TO NEXT ISOLATION MODULE (FLD979).
*ENDIF
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD979 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD96A - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD979 - PROCESS ISOLATION INFORMATION. 
*         FHD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD979 - PROCESS ISOLATION INFORMATION. 
*         FLD97A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
0  FORMAT REPLACE PWBS ONE AT A TIME IN THE FOLLOWING                    FMD
1  FORMAT ORDER - A/B*D.                                                 FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
*IF DEF,SFMD
5  FORMAT ORDER - A/B*D, A/B*D, (A/B09, A/B10) MATCHED PAIR,             FMD
*ENDIF
*IF DEF,PFMD
5  FORMAT ORDER - A/B*D, A/B*D, (A/B*D, A/B*D) MATCHED PAIR,
*ENDIF
*IF DEF,LSFMD 
5  FORMAT ORDER - A/B*D, A/B*D, (A/B09, A/B10) MATCHED PAIR,
*ENDIF
6  FORMAT         DECK BOARDS, A/B*D.                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 08005 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
7  FORMAT A SEEK ERROR OR READ ERROR HAS OCCURRED. ASSUMING              FMD10
10 FORMAT THE SEEK WORKED FROM PREVIOUS TESTS, REPLACE PWBS              FMD
*IF DEF,PFMD,1
11 FORMAT ONE AT A TIME IN THE FOLLOWING ORDER - A/B07, 
*IF DEF,SFMD,1
11 FORMAT ONE AT A TIME IN THE FOLLOWING ORDER - A/B11,                  FMD
*IF DEF,LSFMD,1 
11 FORMAT ONE AT A TIME IN THE FOLLOWING ORDER - A/B11, 
*IF DEF,SFMD
12 FORMAT (A/B09, A/B10) MATCHED PAIR, A/B07, DECK BOARDS.               FMD
*ENDIF
*IF DEF,PFMD
12 FORMAT (A/B05, A/B06) MATCHED PAIR, A/B04, DECK BOARDS.
*ENDIF
*IF DEF,LSFMD 
12 FORMAT (A/B09, A/B10) MATCHED PAIR, A/B07, DECK BOARDS.
*ENDIF
*                                                                        FMD
/         ERROR MESSAGE 08006 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
14 FORMAT REPLACE PWBS ONE AT A TIME IN THE FOLLOWING ORDER              FMD
*IF DEF,SFMD
15 FORMAT - (A/B09, A/B10) MATCHED PAIR, CHECK CABLES FROM               FMD
16 FORMAT DECK TO LOGIC FOR BEING LOOSE, A/B11, DECK BOARDS.             FMD
*ENDIF
*IF DEF,PFMD
15 FORMAT - (A/B*D, A/B*D) MATCHED PAIR, CHECK CABLES FROM
16 FORMAT DECK TO LOGIC FOR BEING LOOSE, A/B*D, DECK BOARDS.
*ENDIF
*IF DEF,LSFMD 
15 FORMAT - (A/B09, A/B10) MATCHED PAIR, CHECK CABLES FROM
16 FORMAT DECK TO LOGIC FOR BEING LOOSE, A/B11, DECK BOARDS.
*ENDIF
*                                                                        FMD
/         ERROR MESSAGE 08021 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
17 FORMAT IF SPINDLE IS POWERED DOWN, REPLACE A/B31, A/B32,              FMD
20 FORMAT AND A/B40. CHECK AIR SWITCH. IF NOT POWERED DOWN,              FMD10
21 FORMAT REPLACE A/B27, A/B38, A/B31, AND A/B32.                        FMD10
*                                                                        FMD
/         ERROR MESSAGE 08022 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
22 FORMAT IF SPINDLE IS POWERED DOWN, REPLACE A/B31 AND                  FMD
23 FORMAT A/B32. IF SPINDLE IS NOT POWERED DOWN, REPLACE                 FMD
24 FORMAT A/B27 AND A/B31.                                               FMD
*                                                                        FMD
/         EXTRA ISOLATION MESSAGES.                                      FMD
*                                                                        FMD
25 FORMAT POSSIBLE SERVO ERROR. GO TO TABLE 3-1 IN                       FMD
26 FORMAT TROUBLESHOOTING GUIDE.                                         FMD
27 FORMAT READJUST SERVO AFTER EACH BOARD REPLACEMENT.                   FMD
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
*                                                                        FMD
30 B1=B1+2                   *INSERT BLANK LINE                          FMD
   IF(B2 NE 1) GOTO 32       *IF NOT ERROR CODE 08005                    FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08005.                         FMD
*                                                                        FMD
   MSG 7 TO LINE B1          *MOVE ISOLATION MESSAGE                     FMD
   MSG 10 TO LINE B1+1       *NEXT LINE OF ISOLATION MESSAGE             FMD
   MSG 11 TO LINE B1+2       *NEXT LINE OF ISOLATION MESSAGE             FMD
   MSG 12 TO LINE B1+3       *NEXT LINE OF ISOLATION MESSAGE             FMD
   EXIT TO 979                                                           FMD
32 IF(B2 NE 2) GOTO 34       *IF NOT ERROR CODE 08006                    FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08006.
*                                                                        FMD
   MSG 14 TO LINE B1         *MOVE ISOLATION MESSAGE                     FMD
*IF DEF,SFMD
   MSG 15 TO LINE B1+1       *NEXT LINE OF ISOLATION MESSAGE             FMD
   MSG 16 TO LINE B1+2       *NEXT LINE OF ISOLATION MESSAGE             FMD
*ENDIF
*IF DEF,PFMD
   B0=SB(B4+20).RS.7.AND.17     *PARALLEL HEADS CHECKWORD 
   IF(B0.EQ.0) B0=1          *IF NO FAILING HEAD INDICATED
   IF(B0.EQ.10) MSG 15 (17D,18D) TO LINE B1+1  *HEAD 3
   IF(B0.AND.7.EQ.4) MSG 15 (13D,14D) TO LINE B1+1  *HEAD 2 
   IF(B0.AND.3.EQ.2) MSG 15 (09D,10D) TO LINE B1+1  *HEAD 1 
   IF(B0.AND.1.EQ.1) MSG 15 (05D,06D) TO LINE B1+1  *HEAD 0 
   IF(B0.EQ.10) MSG 16 (19D) TO LINE B1+2  *HEAD 3
   IF(B0.AND.7.EQ.4) MSG 16 (15D) TO LINE B1+2  *HEAD 2 
   IF(B0.AND.3.EQ.2) MSG 16 (11D) TO LINE B1+2  *HEAD 1 
   IF(B0.AND.1.EQ.1) MSG 16 (07D) TO LINE B1+2  *HEAD 0 
*ENDIF
*IF DEF,LSFMD 
   MSG 15 TO LINE B1+1       *NEXT LINE OF ISOLATION MESSAGE
   MSG 16 TO LINE B1+2       *NEXT LINE OF ISOLATION MESSAGE
*ENDIF
   EXIT TO 979                                                           FMD
34 IF(B2 NE 3) GOTO 36       *IF NOT ERROR CODE 08021                    FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08021.                         FMD
*                                                                        FMD
   MSG 17 TO LINE B1         *MOVE ISOLATION MESSAGE                     FMD
   MSG 20 TO LINE B1+1       *NEXT LINE OF ISOLATION MESSAGE             FMD
   MSG 21 TO LINE B1+2       *NEXT LINE OF ISOLATION MESSAGE             FMD
   EXIT TO 979                                                           FMD
36 IF(B2 NE 4) GOTO 40       *IF NOT ERROR CODE 08022                    FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08022.                         FMD
*                                                                        FMD
   MSG 22 TO LINE B1         *MOVE ISOLATION MESSAGE                     FMD
   MSG 23 TO LINE B1+1       *NEXT LINE OF ISOLATION MESSAGE             FMD
   MSG 24 TO LINE B1+2       *NEXT LINE OF ISOLATION MESSAGE             FMD
   EXIT TO 979                                                           FMD
40 MSG 0 TO LINE B1          *BOARDS MSG TO NEXT LINE                    FMD
   B1=B1+1                   *INCREMENT DISPLAY NUMBER                   FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08000.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 5) MSG 3(03D,20D,21D)TO LINE B1                              FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 5) MSG 3(02D,20D,21D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 5) MSG 3(03D,20D,21D)TO LINE B1 
*ENDIF
   IF(B2 NE 6) GOTO 42      *IF ISOLATION NUMBER 6                       FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08001.                         FMD
*                                                                        FMD
   MSG 2(37D,39D)TO LINE B1  *MOVE ISOLATION MESSAGE                     FMD
   GOTO 52                   *GO TO APPEND MORE INFORMATION              FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08002.                         FMD
*                                                                        FMD
42 IF(B2 EQ 7) MSG 4(22D,23D,21D,20D)TO LINE B1                          FMD
   IF(B2 NE 10) GOTO 44      *IF ISOLATION NUMBER 10                     FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 08003 AND 08007.              FMD
*                                                                        FMD
   MSG 4(37D,39D,36D,35D)TO LINE B1  *MOVE ISOLATION MESSAGE             FMD
   IF(EC EQ 3)GOTO 52              *IF NOT ERROR CODE 08003              FMD
   IF(EC EQ 7)MSG 27 TO LINE B1+1  *NEXT LINE OF MESSAGE                 FMD
44 IF(B2 NE 11) GOTO 46      *IF ISOLATION NUMBER 11                     FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08004.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   MSG 5(24D,11D) TO LINE B1  *MOVE ISOLATION MESSAGE                    FMD
*ENDIF
*IF DEF,PFMD
   B0=SB(B4+24).RS.8D           *PARALLEL HEADS ERROR BITS
   IF(B0.EQ.0) B0=1          *IF NO FAILING HEAD INDICATED
   IF(B0.EQ.10) MSG 5 (24D,19D,17D,18D) TO LINE B1  *HEAD 3 
   IF(B0.AND.7.EQ.4)MSG 5 (24D,15D,13D,14D)TO LINE B1  *HD 2
   IF(B0.AND.3.EQ.2)MSG 5 (24D,11D,09D,10D)TO LINE B1  *HD 1
   IF(B0.AND.1.EQ.1)MSG 5 (24D,07D,05D,06D)TO LINE B1  *HD 0
*ENDIF
*IF DEF,LSFMD 
   MSG 5(24D,11D)TO LINE B1   *MOVE ISOLATION MESSAGE 
*ENDIF
   MSG 6(21D) TO LINE B1+1   *NEXT LINE OF ISOLATION MESSAGE             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08009.                         FMD
*                                                                        FMD
46 IF(B2 EQ 12) MSG 1(24D)TO LINE B1                                     FMD
   EXIT TO 979               *EXIT TO NEXT ISOLATION MODULE              FMD
52 MSG 25 TO LINE B1+1       *NEXT LINE OF ISOLATION MESSAGE             FMD
   MSG 26 TO LINE B1+2       *NEXT LINE OF ISOLATION MESSAGE             FMD
   EXIT TO 979               *EXIT TO NEXT ISOLATION MODULE              FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD979,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD979,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD979,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD979 - PROCESS ISOLATION INFORMATION FOR TEST 8.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD979 - PROCESS ISOLATION INFORMATION FOR TEST 8.
*ENDIF
*IF DEF,LSFMD 
*         FLD979 - PROCESS ISOLATION INFORMATION FOR TEST 8.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD979 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD46, FMD47, FMD48, FMD49, AND FMD
*         FMD50 FOR ISOLATION NUMBERS 13 THROUGH 33 OCTAL.               FMD
*ENDIF
*IF DEF,PFMD
*         FHD979 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD46, FHD47, FHD48, FHD49, AND
*         FHD50 FOR ISOLATION NUMBERS 12 THROUGH 33 OCTAL.
*ENDIF
*IF DEF,LSFMD 
*         FLD979 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD46, FLD47, FLD48, FLD49, AND
*         FLD50 FOR ISOLATION NUMBERS 13 THROUGH 33 OCTAL.
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO OR THREE OR FOUR LINE MESSAGE WILL BE APPENDED ONE LINE  FMD
*         AFTER THE END OF THE ERROR MESSAGE FOR THE ISOLATION NUMBERS   FMD
*IF DEF,PFMD,1
*         12 THROUGH 33 OCTAL. EXIT WILL BE MADE TO THE NEXT ISOLATION
*IF DEF,SFMD,1
*         13 THROUGH 33 OCTAL. EXIT WILL BE MADE TO THE NEXT ISOLATION   FMD
*IF DEF,SFMD
*         MODULE (FMD96A)                                                FMD
*ENDIF
*IF DEF,PFMD
*         MODULE (FHD96A) 
*ENDIF
*IF DEF,LSFMD 
*         MODULE (FLD96A) 
*ENDIF
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*IF DEF,SFMD
*         EXIT WILL BE MADE TO NEXT ISOLATION MODULE (FMD96A).           FMD
*ENDIF
*IF DEF,PFMD
*         EXIT WILL BE MADE TO NEXT ISOLATION MODULE (FHD96A).
*ENDIF
*IF DEF,LSFMD 
*         EXIT WILL BE MADE TO NEXT ISOLATION MODULE (FLD96A).
*ENDIF
*         B2 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD96A - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD96A - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
5  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.                     FMD
7  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D,              FMD
12 FORMAT         A/B*D, A/B*D. 
*IF DEF,SFMD
13 FORMAT ORDER - A/B*D, A/B*D, (A/B09, A/B10) MATCHED PAIR.             FMD
*ENDIF
*IF DEF,PFMD
13 FORMAT ORDER - A/B*D, (A/B*D, A/B*D) MATCHED PAIR, A/B*D.
*ENDIF
*IF DEF,LSFMD 
13 FORMAT ORDER - A/B*D, A/B*D, (A/B09, A/B10) MATCHED PAIR 
*ENDIF
14 FORMAT ORDER - (A/B09, A/B10) MATCHED PAIR, A/B*D, A/B*D.             FMD
*IF DEF,SFMD
15 FORMAT ORDER - (A/B09, A/B10) MATCHED PAIR, A/B*D, DECK               FMD
*ENDIF
*IF DEF,PFMD
15 FORMAT ORDER - (A/B*D, A/B*D) MATCHED PAIR, A/B*D, DECK
*ENDIF
*IF DEF,LSFMD 
15 FORMAT ORDER - (A/B09, A/B10) MATCHED PAIR, A/B*D, DECK
*ENDIF
16 FORMAT         BOARDS.                                                FMD
17 FORMAT         BOARDS, A/B*D, A/B*D, A/B*D.                           FMD
*IF DEF,SFMD
20 FORMAT ORDER - (A/B09, A/B10) MATCHED PAIR, A/B*D, A/B*D,             FMD
*ENDIF
*IF DEF,PFMD
20 FORMAT ORDER - (A/B*D, A/B*D) MATCHED PAIR, A/B*D, A/B*D,
*ENDIF
*IF DEF,LSFMD 
20 FORMAT ORDER - (A/B09, A/B10) MATCHED PAIR, A/B*D, A/B*D,
*ENDIF
21 FORMAT         DECK BOARDS.                                           FMD
*IF DEF,SFMD
22 FORMAT ORDER - DECK BOARDS, A/B*D, A/B*D.                             FMD
*ENDIF
*IF DEF,LSFMD 
22 FORMAT ORDER - DECK BOARDS, A/B*D, A/B*D.
*ENDIF
23 FORMAT ORDER - DECK BOARDS, A/B*D, A/B*D, A/B*D.                      FMD
*IF DEF,SFMD
24 FORMAT ORDER - A/B*D, A/B*D, DECK BOARDS, A/B*D.                      FMD
*ENDIF
*IF DEF,LSFMD 
24 FORMAT ORDER - A/B*D, A/B*D, DECK BOARDS, A/B*D. 
*ENDIF
*IF DEF,PFMD
25 FORMAT ORDER - DECK BOARDS, A/B*D, A/B*D, A/B*D, A/B*D,
*ENDIF
27 FORMAT READJUST SERVO AFTER EACH BOARD REPLACEMENT.                   FMD
*IF DEF,SFMD
31 FORMAT VERIFY READ ONLY SWITCH IS NOT ACTIVE.                         FMD
*ENDIF
*IF DEF,LSFMD 
31 FORMAT VERIFY READ ONLY SWITCH IS NOT ACTIVE.
*ENDIF
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
*IF DEF,PFMD
/         ISOLATION INFORMATION FOR ERROR 08009.
* 
30 IF(B2.NE.12) GOTO 40 
   B1=B1+1                   *INCREMENT LINE NUMBER 
   B0=SB(B4+24).RS.8D           *HEADS ERROR BITS 
   IF(B0.EQ.0) B0=1          *IF NO FAILING HEADS 
   GOTO 43
* 
*ENDIF
/         ISOLATION INFORMATION FOR ERROR 0800A.                         FMD
*                                                                        FMD
*IF DEF,SFMD
40 IF(B2 EQ 13) MSG 13(24D,11D)TO LINE B1                                FMD
*ENDIF
*IF DEF,PFMD
40 IF(B2.NE.13) GOTO 41      *IF NOT ISOLATION NUMBER 13
   B0=SB(B4+24).RS.8D           *PARALLEL HEADS ERROR BITS
   IF(B0.EQ.0) B0=1          *IF NO FAILING HEAD INDICATED
   IF(B0.EQ.10) MSG 13 (24D,17D,18D,19D) TO LINE B1  *HEAD 3
   IF(B0.AND.7.EQ.4)MSG 13(24D,13D,14D,15D)TO LINE B1  *HD 2
   IF(B0.AND.3.EQ.2)MSG 13(24D,09D,10D,11D)TO LINE B1  *HD 1
   IF(B0.AND.1.EQ.1)MSG 13(24D,05D,06D,07D)TO LINE B1  *HD 0
*ENDIF
*IF DEF,LSFMD 
40 IF(B2 EQ 13) MSG 13(24D,11D)TO LINE B1 
*ENDIF
*                                                                        FMD
*IF DEF,SFMD
/         ISOLATION INFORMATION FOR ERROR 0800B.                         FMD
*ENDIF
*IF DEF,PFMD
/         ISOLATION INFORMATION FOR ERROR 0800B AND 0800C.
*ENDIF
*IF DEF,LSFMD 
/         ISOLATION INFORMATION FOR ERROR 0800B.
*ENDIF
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 14) MSG 14(11D,07D)TO LINE B1                                FMD
   IF(B2 NE 15) GOTO 42      *IF NOT ISOLATION NUMBER 15                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0800C.                         FMD
*                                                                        FMD
   MSG 20(11D,07D)TO LINE B1  *MOVE ISOLATION MESSAGE                    FMD
*ENDIF
*IF DEF,PFMD
41 B0=SB(B4+20).RS.7.AND.17     *PARALLEL HEADS CHECKWORD 
   IF(B0.EQ.0)B0=SB(B4+24).RS.8D   *HEADS ERROR BITS
   IF(B0.EQ.0) B0=1          *IF NO FAILING HEAD INDICATED
   IF(B2 NE 14) GOTO 42      *IF NOT ISOLATION NUMBER 15
   IF(B0.EQ.10) MSG 20 (17D,18D,19D,16D) TO LINE B1  *HEAD 3
   IF(B0.AND.7.EQ.4)MSG 20(13D,14D,15D,12D)TO LINE B1  *HD 2
   IF(B0.AND.3.EQ.2)MSG 20(09D,10D,11D,08D)TO LINE B1  *HD 1
   IF(B0.AND.1.EQ.1)MSG 20(05D,06D,07D,04D)TO LINE B1  *HD 0
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 14) MSG 14(11D,07D)TO LINE B1 
   IF(B2 NE 15) GOTO 42      *IF NOT ISOLATION NUMBER 15
* 
/         ISOLATION INFORMATION FOR ERROR 0800C.
* 
   MSG 20(11D,07D)TO LINE B1  *MOVE ISOLATION MESSAGE 
*ENDIF
   MSG 21 TO LINE B1+1       *NEXT LINE OF ISOLATION MESSAGE             FMD
42 IF(B2 NE 16) GOTO 44      *IF NOT ISOLATION NUMBER 16                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0800D, 0800E,                 FMD
/         0800F, 08010, 08011, AND 08012.                                FMD
*                                                                        FMD
*IF DEF,SFMD
   MSG 15(11D)TO LINE B1     *MOVE ISOLATION MESSAGE                     FMD
*ENDIF
*IF DEF,PFMD
43 IF(B0.EQ.10) MSG 15 (17D,18D,19D) TO LINE B1  *HEAD 3
   IF(B0.AND.7.EQ.4)MSG 15 (13D,14D,15D) TO LINE B1  *HEAD 2
   IF(B0.AND.3.EQ.2)MSG 15 (09D,10D,11D) TO LINE B1  *HEAD 1
   IF(B0.AND.1.EQ.1)MSG 15 (05D,06D,07D) TO LINE B1  *HEAD 0
*ENDIF
*IF DEF,LSFMD 
   MSG 15(11D)TO LINE B1       *MOVE ISOLATION MESSAGE
*ENDIF
   MSG 16 TO LINE B1+1       *NEXT LINE OF ISOLATION MESSAGE             FMD
44 IF(B2 NE 17) GOTO 46      *IF NOT ISOLATION NUMBER 17                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08013.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   MSG 15(11D)TO LINE B1     *MOVE ISOLATION MESSAGE                     FMD
   MSG 17(7D,21D,24D)TO LINE B1+1   *NEXT LINE OF MESSAGE                FMD
*ENDIF
*IF DEF,PFMD
   IF(B0.EQ.10) MSG 15 (17D,18D,19D) TO LINE B1  *HEAD 3
   IF(B0.AND.7.EQ.4)MSG 15 (13D,14D,15D) TO LINE B1  *HEAD 2
   IF(B0.AND.3.EQ.2)MSG 15 (09D,10D,11D) TO LINE B1  *HEAD 1
   IF(B0.AND.1.EQ.1)MSG 15 (05D,06D,07D) TO LINE B1  *HEAD 0
   IF(B0.EQ.10) MSG 17 (16D,21D,24D) TO LINE B1+1  *HEAD 3
   IF(B0.AND.7.EQ.4)MSG 17(12D,21D,24D)TO LINE B1+1  *HEAD 2
   IF(B0.AND.3.EQ.2)MSG 17(08D,21D,24D)TO LINE B1+1  *HEAD 1
   IF(B0.AND.1.EQ.1)MSG 17(04D,21D,24D)TO LINE B1+1  *HEAD 0
*ENDIF
*IF DEF,LSFMD 
   MSG 15(11D)TO LINE B1     *MOVE ISOLATION MESSAGE
   MSG 17(7D,21D,24D)TO LINE B1+1   *NEXT LINE OF MESSAGE 
*ENDIF
46 IF(B2 NE 20) GOTO 50      *IF NOT ISOLATION NUMBER 20                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08014.                         FMD
*                                                                        FMD
   MSG 5(37D,39D,36D,35D,40D)TO LINE B1                                  FMD
   MSG 27 TO LINE B1+1       *NEXT LINE OF ISOLATION MESSAGE             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08015.                         FMD
*                                                                        FMD
50 IF(B2 EQ 21) MSG 2(33D,34D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08016.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 22) MSG 4(16D,24D,15D,23D)TO LINE B1                         FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 22) MSG 4(30D,24D,29D,23D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 22) MSG 4(16D,24D,15D,23D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08017.                         FMD
*                                                                        FMD
   IF(B2 EQ 23) MSG 3(38D,28D,40D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08018.                         FMD
*                                                                        FMD
   IF(B2 EQ 24) MSG 2(24D,21D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 08019.                         FMD
*                                                                        FMD
*IF DEF,PFMD
   IF(B2 EQ 25) MSG 25(30D,21D,04D,08D)TO LINE B1 
   IF(B2 EQ 25) MSG 12(12D,16D)TO LINE B1+1 
*ENDIF
*IF DEF,SFMD
   IF(B2 EQ 25) MSG 23(16D,21D,07D)TO LINE B1                            FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0801A.                         FMD
*                                                                        FMD
   IF(B2 EQ 26) MSG 22(16D,24D)TO LINE B1                                FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0801B.                         FMD
*                                                                        FMD
   IF(B2 EQ 27) MSG 24(16D,15D,24D)TO LINE B1                            FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0801C.                         FMD
*                                                                        FMD
   IF(B2 EQ 30) MSG 2(24D,16D)TO LINE B1                                 FMD
   IF(B2 NE 31) GOTO 52      *IF NOT ISOLATION NUMBER 31                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0801D.                         FMD
*                                                                        FMD
   MSG 3(24D,31D,34D)TO LINE B1                                          FMD
   MSG 31 TO LINE B1+1       *NEXT LINE OF ISOLATION MESSAGE             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0801E.                         FMD
*                                                                        FMD
52 IF(B2 EQ 32) MSG 3(24D,23D,21D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0801F.                         FMD
*                                                                        FMD
   IF(B2 EQ 33) MSG 7(24D,23D,22D,21D,15D,16D)TO LINE B1
   IF(B2 EQ 33) MSG 12(28D,20D)TO LINE B1+1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 25) MSG 23(16D,21D,07D)TO LINE B1 
* 
/         ISOLATION INFORMATION FOR ERROR 08001A. 
* 
   IF(B2 EQ 26) MSG 22(16D,24D)TO LINE B1 
* 
/         ISOLATION INFORMATION FOR ERROR 0801B.
* 
   IF(B2 EQ 27) MSG 24(16D,15D,24D)TO LINE B1 
* 
/         ISOLATION INFORMATION FOR ERROR 0801C.
* 
   IF(B2 EQ 30) MSG 2(24D,16D)TO LINE B1
   IF(B2 NE 31) GOTO 52       *IF NOT ISOLATION NUMBER 31 
* 
/         ISOLATION INFORMATION FOR ERROR 0801D.
* 
   MSG 3(24D,31D,34D)TO LINE B1 
   MSG 31 TO LINE B1+1       *NEXT LINE OF ISOLATION MESSAGE
* 
/         ISOLATION INFORMATION FOR ERROR 0801E.
* 
52 IF(B2 EQ 32) MSG 3(24D,23D,21D)TO LINE B1
* 
/         ISOLATION INFORMATION FOR ERROR 0801F.
* 
   IF(B2 EQ 33) MSG 7(24D,23D,22D,21D,15D,16D)TO LINE B1
   IF(B2 EQ 33) MSG 12(28D,20D)TO LINE B1+1 
*ENDIF
   EXIT TO 96A               *EXIT TO NEXT ISOLATION MODULE              FMD
*IF DEF,PFMD,1
   END 30                   *END OF THE MODULE
*IF DEF,SFMD,1
   END 40                    *END OF THE MODULE                          FMD
*IF DEF,LSFMD,1 
   END 40                     *END OF THE MODULE
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98A,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98A,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98A,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98A - REPORT REPEAT MODULE ERROR.                           FMD
*ENDIF
*IF DEF,PFMD
*         FHD98A - REPORT REPEAT MODULE ERROR.
*ENDIF
*IF DEF,LSFMD 
*         FLD98A - REPORT REPEAT MODULE ERROR 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         TO INFORM THE OPERATOR THAT HE IS TRYING TO REPEAT A MODULE    FMD
*         THAT REQUIRES OPERATOR INTERVENTION AND THAT OPERATOR          FMD
*         INTERVENTION IS DISABLED.                                      FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         A DISPLAY MESSAGE WILL BE PLACED ON THE DISPLAY SCREEN TO      FMD
*         INFORM THE OPERATOR OF THE PROBLEM.  THE MODULE WILL THEN DO A FMD
*         PAUSE. IF THE OPERATOR GIVES THE MODULE A GO COMMAND, THE WILL FMD
*         REPEAT THE MODULE.                                             FMD
*                                                                        FMD
*         ENTRY-                                                         FMD
*         REPEAT MODULE SELECTED AND A MODULE THAT REQUIRES OPERATOR     FMD
*         INTERVENTION WHEN OPERATOR INTERVENTION IS DISABLED.           FMD
*                                                                        FMD
/                                                                        FMD
*         EXIT-                                                          FMD
*         NOT EXIT FROM THE MODULE UNTIL THE OPERATOR ENTERS A NEW RUN   FMD
*         COMMAND.                                                       FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE REFERENCED.                                               FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - NOT USED.                                       FMD
*         B14 REGISTER - NOT USED.                                       FMD
*         B15 REGISTER - NOT USED.                                       FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WC REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - NOT USED.                           FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         REMARKS-                                                       FMD
*         THE OPERATOR MUST EITHER ENABLE MANUAL OPERATOR INTERVENTION   FMD
*         AND RERUN THE MODULE OR RUN ANOTHER MODULE. IN EITHER CASE,    FMD
*         A NEW RUN COMMAND MUST BE ENTERED.                             FMD
*                                                                        FMD
1  FORMAT AN ATTEMPT WAS MADE TO RUN A MODULE WHICH                      FMD
2  FORMAT REQUIRES OPERATOR INTERVENTION WITH THE DISABLE                FMD
3  FORMAT OPERATOR INTERVENTION BIT SET (P5 = XX1X) AND                  FMD
4  FORMAT REPEAT MODULE SET (SETSW RM).                                  FMD
5  FORMAT                                                                FMD
6  FORMAT CLEAR ONE OF THESE CONDITIONS BEFORE ATTEMPTING TO             FMD
7  FORMAT RUN THE MODULE AGAIN.                                          FMD
10 FORMAT REPEAT MODULE CONFLICT                                         FMD
*                                                                        FMD
/         BUILD THE DISPLAY MESSAGE.                                     FMD
*                                                                        FMD
20 MSG 1 TO LINE 1           *MOVE MESSAGES TO THE DISPLAY               FMD
   MSG 2 TO LINE 2                                                       FMD
   MSG 3 TO LINE 3                                                       FMD
   MSG 4 TO LINE 4                                                       FMD
   MSG 5 TO LINE 5                                                       FMD
   MSG 6 TO LINE 6                                                       FMD
   MSG 7 TO LINE 7                                                       FMD
   MSG 10 TO DISPLAY         *DISPLAY CAUSE FOR STOP                     FMD
*                                                                        FMD
/         DISPLAY THE MESSAGE TO THE OPERATOR.                           FMD
*                                                                        FMD
   PICTURE                   *SAVE DISPLAY BUFFER                        FMD
   PAUSE                     *STOP                                       FMD
   BLANK                     *CLEAR THE DISPLAY BUFFER                   FMD
   GOTO 20                   *LOOP WITHIN THE MODULE                     FMD
   END 20                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98B,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98B,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98B,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98B - REPORT UNEXPECTED PRODUCT OVERLAY ERRORS.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - REPORT UNEXPECTED PRODUCT OVERLAY ERRORS.
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - REPORT UNEXPECTED PRODUCT OVERLAY ERRORS.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR PRODUCT OVERLAY ERRORS.            FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE ERROR MESSAGE DISPLAY WILL BE BUILT FOR THE PRODUCT        FMD
*         OVERLAY ERROR TO BE REPORTED. IF THE ERROR CODE IS A 25 ERROR  FMD
*         CODE, GENERAL AND DETAILED STATUS WILL BE DISPLAYED.           FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER                 FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         FL REGISTER CONTAINS THE LAST FUNCTION CODE SENT               FMD
*         TO THE 7155 CONTROLLER.                                        FMD
*         STATUS BUFFER CONTAINS GENERAL AND DETAILED STATUS ON ABNORMAL FMD
*         GENERAL STATUS ERROR                                           FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         ERROR REPORTED.                                                FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NO SUBMODULES CALLED.                                          FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CALLING MODULE NUMBER                            FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(00-24) - GENERAL AND DETAILED STATUS.                       FMD
*                                                                        FMD
*         REMARKS-                                                       FMD
*         THIS MODULE ONLY HANDLES PRODUCT OVERLAY ERRORS.               FMD
*                                                                        FMD
*IF DEF,SFMD
0  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
1  FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD05
2  FORMAT FMD*D - LINE *OCT ERROR CODE *OCT                              FMD
*ENDIF
*IF DEF,PFMD
0  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT PRESERVICE FORECAST GROUP FHDD
2  FORMAT FHD*D - LINE *OCT ERROR CODE *OCT 
*ENDIF
*IF DEF,LSFMD 
0  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT PRESERVICE FORECAST GROUP FMDD
2  FORMAT FLD*D - LINE *OCT ERROR CODE *OCT 
*ENDIF
3  FORMAT FUNCTION CODE = *OCT                                           FMD
4  FORMAT                  WORD   DETAILED STATUS (OCTAL)                FMD
5  FORMAT  GENERAL STATUS   01D   *OCT *OCT *OCT *OCT *OCT               FMD
6  FORMAT  = *OCTB          06D   *OCT *OCT *OCT *OCT *OCT               FMD
7  FORMAT                   11D   *OCT *OCT *OCT *OCT *OCT               FMD
10 FORMAT                   16D   *OCT *OCT *OCT *OCT *OCT               FMD
*                                                                        FMD
/         PROCESS PRODUCT OVERLAY ERROR MESSAGES.                        FMD
*                                                                        FMD
30 MSG 0 TO LINE 1              *DIAGNOSTIC TITLE MESSAGE                FMD
   MSG 1 TO LINE 3              *PRESERVICE FORECAST MESSAGE             FMD05
   MSG 2 (B0,EA,EC) TO LINE 5   *ERROR LINE NO./CODE                     FMD
   MSG 3 (LF) TO LINE 7         *DISPLAY FUNCTION CODE                   FMD
   MSG EM TO LINE 12            *TRANSFER MESSAGE TO DISPLAY             FMD
   IF(EC AND 77 NE 25) GOTO 34  *IF NOT ERROR CODE 25                    FMD
*                                                                        FMD
/         DISPLAY GENERAL AND DETAILED STATUS.                           FMD
*                                                                        FMD
   MSG 4 TO LINE 13                                                      FMD
   MSG 5 5 WORDS FROM SB(1) TO LINE 14                                   FMD
   MSG 6 (SB,SB(6),SB(7),SB(8),SB(9),SB(12)) TO LINE 15                  FMD
   MSG 7 5 WORDS FROM SB(13) TO LINE 16                                  FMD
   MSG 10 5 WORDS FROM SB(20) TO LINE 17                                 FMD
*                                                                        FMD
/         DISPLAY THE ERROR TO THE OPERATOR.                             FMD
*                                                                        FMD
34 PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98C,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98C,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98C,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98C - ISOLATE READY AND SAFE FAULTS FOR TESTS 2 THROUGH 6.  FMD
*ENDIF
*IF DEF,PFMD
*         FHD98C - ISOLATE READY AND SAFE FAULTS FOR TESTS 2 THROUGH 6. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98C - ISOLATE READY AND SAFE FAULTS FOR TESTS 2 THROUGH 6. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         ISOLATE THE CAUSE THAT THE FIXED MODULE DRIVE IS NOT READY AND FMD
*         SAFE FROM THE DETAILED STATUS IN THE STATUS BUFFER FOR PRIMARY FMD
*IF DEF,SFMD
*         MODULES FMD04 THROUGH FMD33 (TEST 2 THROUGH TEST 6).           FMD
*ENDIF
*IF DEF,PFMD
*         MODULES FHD04 THROUGH FHD33 (TEST 2 THROUGH TEST 6).
*ENDIF
*IF DEF,LSFMD 
*         MODULES FLD04 THROUGH FLD33 (TEST 2 THROUGH TEST 6).
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE DETAILED STATUS FROM THE DRIVE IN THE STATUS BUFFER WILL   FMD
*         BE INTERROGATED TO DETERMINE THE CAUSE FOR THE NOT READY AND   FMD
*         SAFE CONDITION IN THE FIXED MODULE DRIVE. A ERROR WILL BE      FMD
*         REPORTED.                                                      FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         THE STATUS BUFFER CONTAINS THE DETAILED STATUS FROM THE FIXED  FMD
*         MODULE DRIVE.                                                  FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*IF DEF,SFMD
*         EXIT TO MODULE FMD98M TO REPORT THE ERROR MESSAGE.             FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO MODULE FHD98M TO REPORT THE ERROR MESSAGE.
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO MODULE FLD98M TO REPORT THE ERROR MESSAGE.
*ENDIF
*         B0, B1, AND B2 REGISTERS DESTROYED.                            FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98M - PROCESS ERRORS.                                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98M - PROCESS ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98O - PROCESS ERRORS.
*         FHD98P - PROCESS ERRORS.
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98M - PROCESS ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98O - PROCESS ERRORS.
*         FLD98P - PROCESS ERRORS.
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(00-32) CONTAIN THE DETAILED STATUS FROM THE DRIVE.          FMD
*                                                                        FMD
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD98C - ISOLATE READY FAULT                                   FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD98C - ISOLATE READY FAULT
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD98C - ISOLATE READY FAULT
*ENDIF
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE BIT0=1, BIT1=2, BIT2=4, BIT3=10, BIT4=20, BIT5=40              FMD
   EQUATE BIT6=100, BIT7=200, BIT8=400, BIT9=1000                        FMD
   EQUATE BT10=2000, BT11=4000                                           FMD
*                                                                        FMD
/         DISPLAY THE RUNNING MESSAGE FOR THE MODULE.                    FMD
*                                                                        FMD
20 MSG 1 TO DAYFILE,PRINT    *DISPLAY MODULE NAME MESSAGE                FMD
   MSG 1 TO DISPLAY          *DISPLAY RUNNING MESSAGE                    FMD
*                                                                        FMD
/         CHECK IF DRIVE IS IN ECHO COMMAND MODE.                        FMD
*                                                                        FMD
   IF(SB(14) AND 377 EQ 216) ERROR 10/67 GOTO 60  *ECHO CMD              FMD
*                                                                        FMD
/         CHECK IF DRIVE IS IN ECHO BUS MODE.                            FMD
/         COMPARE STATUS WORDS 0 AND 1 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B0=SB(7) AND 17 LS 4      *BUILD STATUS WORD 0 (87)                   FMD
   B1=SB(10)                 *STATUS WORDS 0 AND 1                       FMD
   B0=B1 RS 10 XOR B0        *STATUS WORD 0 (87 CMD STATUS)              FMD
   B1=B1 AND 377             *STATUS WORD 1 (88 CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 30      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 2 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=SB(11) AND 17 LS 4     *BUILD STATUS WORD 2 (89)                   FMD
   B2=SB(12)                 *STATUS WORDS 2 AND 3                       FMD
   B1=B2 RS 10 XOR B1        *STATUS WORD 2 (89 CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 30      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 3 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=B2 AND 377             *STATUS WORD 3 (8A CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 30      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 4 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=SB(2) AND 377          *STATUS WORD 4 (8B CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 30      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 5 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B2=SB(13)                 *STATUS WORDS 5 AND 6                       FMD
   B1=B2 RS 4                *STATUS WORD 5 (8C CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 30      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 6 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=B2 AND 17 LS 4         *BUILD STATUS WORD 6 (8D)                   FMD
   B2=SB(14)                 *STATUS WORDS 6 AND 7                       FMD
   B1=B2 RS 10 XOR B1        *STATUS WORD 6 (8D CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 30      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 7 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=B2 AND 377             *STATUS WORD 7 (8E CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 30      *IF DRIVE NOT IN ECHO BUS MODE              FMD
   ERROR 13/70 GOTO 60       *ECHO COMMAND MODE ERROR                    FMD
*                                                                        FMD
/         CHECK STATUS WORD 7 (8E STATUS COMMAND).                       FMD
*                                                                        FMD
30 IF(SB(14) AND BIT0 NE 0) ERROR 2/37 GOTO 60   *IF BIT 0               FMD
   IF(SB(14) AND BIT3 NE 0) GOTO 40              *IF BIT 3               FMD
   IF(SB(14) AND BIT5 NE 0) GOTO 50              *IF BIT 5               FMD
   IF(SB(14) AND BIT6 NE 0) ERROR 3/64 GOTO 60   *IF BIT 6               FMD
   ERROR 4/66 GOTO 60        *IF NO BITS SET                             FMD
*                                                                        FMD
/         CHECK STATUS WORD 5 (8C STATUS COMMAND).                       FMD
*                                                                        FMD
40 IF(SB(13) AND BIT4 NE 0) ERROR 3/42 GOTO 60   *IF BIT 0               FMD
   IF(SB(13) AND BIT5 NE 0) ERROR 4/43 GOTO 60   *IF BIT 1               FMD
   IF(SB(13) AND BIT6 NE 0) ERROR 5/44 GOTO 60   *IF BIT 2               FMD
   IF(SB(13) AND BIT7 NE 0) ERROR 6/45 GOTO 60   *IF BIT 3               FMD
   IF(SB(13) AND BIT8 NE 0) ERROR 7/46 GOTO 60   *IF BIT 4               FMD
   IF(SB(13) AND BIT9 NE 0) ERROR 10/47 GOTO 60  *IF BIT 5               FMD
   IF(SB(13) AND BT10 NE 0) ERROR 11/50 GOTO 60  *IF BIT 6               FMD
   IF(SB(13) AND BT11 NE 0) ERROR 12/51 GOTO 60  *IF BIT 7               FMD
*                                                                        FMD
/         CHECK STATUS WORD 6 (8D STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(13) AND BIT2 NE 0) ERROR 13/53 GOTO 60  *IF BIT 6               FMD
   IF(SB(13) AND BIT3 NE 0) ERROR 14/54 GOTO 60  *IF BIT 7               FMD
   ERROR 15/55 GOTO 60       *IF NOT BITS SET                            FMD
*                                                                        FMD
/         CHECK STATUS WORD 1 (88 STATUS COMMAND).                       FMD
*                                                                        FMD
50 IF(SB(10) AND 7 NE 7) ERROR 21/60 GOTO 60  *IF 88 ERROR               FMD
*                                                                        FMD
/         CHECK STATUS WORD 4 (8B STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(2) AND BIT3 EQ 0) ERROR 24/62 GOTO 60  *IF BIT 3                FMD
   ERROR 15/63               *STATUS WORD 6 ERROR                        FMD
60 B0=8                                                                  FMD
   EXIT TO 98M               *EXIT TO REPORT THE ERROR                   FMD
   END 20                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98D,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98D,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98D,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98D - ISOLATE READY AND SAFE FAULTS FOR TEST 7.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD98D - ISOLATE READY AND SAFE FAULTS FOR TEST 7.
*ENDIF
*IF DEF,LSFMD 
*         FLD98D - ISOLATE READY AND SAFE FAULTS FOR TEST 7.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         ISOLATE THE CAUSE THAT THE FIXED MODULE DRIVE IS NOT READY AND FMD
*         SAFE FROM THE DETAILED STATUS IN THE STATUS BUFFER FOR PRIMARY FMD
*IF DEF,SFMD
*         MODULES FMD34 THROUGH FMD45 (TEST 7).                          FMD
*ENDIF
*IF DEF,PFMD
*         MODULES FHD34 THROUGH FHD45 (TEST 7). 
*ENDIF
*IF DEF,LSFMD 
*         MODULES FLD34 THROUGH FLD45 (TEST 7). 
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE DETAILED STATUS FROM THE DRIVE IN THE STATUS BUFFER WILL   FMD
*         BE INTERROGATED TO DETERMINE THE CAUSE FOR THE NOT READY AND   FMD
*         SAFE CONDITION IN THE FIXED MODULE DRIVE.                      FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         THE STATUS BUFFER CONTAINS THE DETAILED STATUS FROM THE FIXED  FMD
*         MODULE DRIVE.                                                  FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         EXIT TO THE CALLING MODULE.                                    FMD
*         EA,EC,AND EM REGISTER CONTAIN THE ERROR MESSAGE INFORMATION.   FMD
*         B0, B1, AND B2 REGISTERS DESTROYED.                            FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(00-32) CONTAIN THE DETAILED STATUS FROM THE DRIVE.          FMD
*                                                                        FMD
*         REMARKS-                                                       FMD
*                                                                        FMD
*         KNOWN LIMITATIONS-                                             FMD
*                                                                        FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE BIT0=1, BIT1=2, BIT2=4, BIT3=10, BIT4=20, BIT5=40              FMD
   EQUATE BIT6=100, BIT7=200, BIT8=400, BIT9=1000                        FMD
   EQUATE BT10=2000, BT11=4000                                           FMD
*                                                                        FMD
/         CHECK STATUS WORD 2 (89 STATUS COMMAND).                       FMD
*                                                                        FMD
30 IF(SB(12) AND BIT8 NE 0) ERROR 3/60 GOTO 32    *IF BIT 0              FMD
   IF(SB(12) AND BIT9 EQ 0) ERROR 5/61 GOTO 32    *IF BIT 1              FMD
   IF(SB(12) AND BT10 EQ 0) ERROR 7/62 GOTO 32    *IF BIT 2              FMD
   IF(SB(12) AND BT11 EQ 0) ERROR 11/63 GOTO 32   *IF BIT 3              FMD
   IF(SB(11) AND BIT0 NE 0) ERROR 13/64 GOTO 32   *IF BIT 4              FMD
   IF(SB(11) AND BIT1 NE 0) ERROR 15/65 GOTO 32   *IF BIT 5              FMD
   IF(SB(11) AND BIT2 NE 0) ERROR 16/66 GOTO 32   *IF BIT 6              FMD
   IF(SB(11) AND BIT3 NE 0) ERROR 17/67 GOTO 32   *IF BIT 7              FMD
*                                                                        FMD
/         CHECK STATUS WORD 3 (8A STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(12) AND BIT0 EQ 0) ERROR 20/70 GOTO 32   *IF BIT 0              FMD
   IF(SB(12) AND BIT4 NE 0) ERROR 22/71 GOTO 32   *IF BIT 4              FMD
   IF(SB(12) AND BIT5 NE 0) ERROR 24/72 GOTO 32   *IF BIT 5              FMD
   IF(SB(12) AND BIT6 NE 0) ERROR 4/73 GOTO 32    *IF BIT 6              FMD
*                                                                        FMD
/         CHECK STATUS WORD 4 (8B STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(2) AND BIT0 NE 0) ERROR 6/74 GOTO 32     *IF BIT 0              FMD
   IF(SB(2) AND BIT1 NE 0) ERROR 7/75 GOTO 32     *IF BIT 1              FMD
   IF(SB(2) AND BIT2 NE 0) ERROR 10/76 GOTO 32    *IF BIT 2              FMD
   IF(SB(2) AND BIT3 NE 0) ERROR 12/77 GOTO 32    *IF BIT 3              FMD
   IF(SB(2) AND BIT7 EQ 0) ERROR 13/103 GOTO 32   *IF BIT 7              FMD
*                                                                        FMD
/         CHECK STATUS WORD 5 (8C STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(13) AND BIT4 NE 0) ERROR 14/104 GOTO 32  *IF BIT 0              FMD
   IF(SB(13) AND BIT5 NE 0) ERROR 15/105 GOTO 32  *IF BIT 1              FMD
   IF(SB(13) AND BIT6 NE 0) ERROR 17/106 GOTO 32  *IF BIT 2              FMD
   IF(SB(13) AND BIT7 NE 0) ERROR 20/107 GOTO 32  *IF BIT 3              FMD
   IF(SB(13) AND BIT8 NE 0) ERROR 21/110 GOTO 32  *IF BIT 4              FMD
   IF(SB(13) AND BIT9 NE 0) ERROR 22/111 GOTO 32  *IF BIT 5              FMD
   IF(SB(13) AND BT10 NE 0) ERROR 23/112 GOTO 32  *IF BIT 6              FMD
   IF(SB(13) AND BT11 NE 0) ERROR 24/113 GOTO 32  *IF BIT 7              FMD
*                                                                        FMD
/         CHECK STATUS WORD 6 (8D STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(14) AND BIT8 NE 0) ERROR 3/114 GOTO 32   *IF BIT 0              FMD
   IF(SB(14) AND BIT9 NE 0) ERROR 4/115 GOTO 32   *IF BIT 1              FMD
   IF(SB(14) AND BT10 NE 0) ERROR 5/116 GOTO 32   *IF BIT 2              FMD
   IF(SB(14) AND BT11 NE 0) ERROR 6/117 GOTO 32   *IF BIT 3              FMD
   IF(SB(13) AND BIT2 NE 0) ERROR 7/120 GOTO 32   *IF BIT 6              FMD
   IF(SB(13) AND BIT3 NE 0) ERROR 11/121 GOTO 32  *IF BIT 7              FMD
*                                                                        FMD
/         CHECK STATUS WORD 7 (8E STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(14) AND BIT0 NE 0) ERROR 13/122 GOTO 32  *IF BIT 0              FMD
   IF(SB(14) AND BIT3 NE 0) ERROR 14/123 GOTO 32  *IF BIT 3              FMD
   IF(SB(14) AND BIT5 NE 0) ERROR 15/124 GOTO 32  *IF BIT 5              FMD
   IF(SB(14) AND BIT6 NE 0) ERROR 16/125 GOTO 32  *IF BIT 6              FMD
32 EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98E,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98E,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98E,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98E - ISOLATE READY AND SAFE FAULTS FOR TEST 8.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD98E - ISOLATE READY AND SAFE FAULTS FOR TEST 8.
*ENDIF
*IF DEF,LSFMD 
*         FLD98E - ISOLATE READY AND SAFE FAULTS FOR TEST 8.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         ISOLATE THE CAUSE THAT THE FIXED MODULE DRIVE IS NOT READY AND FMD
*         SAFE FROM THE DETAILED STATUS IN THE STATUS BUFFER FOR PRIMARY FMD
*IF DEF,SFMD
*         MODULES FMD46 THROUGH FMD50 (TEST 8).                          FMD
*ENDIF
*IF DEF,PFMD
*         MODULES FHD46 THROUGH FHD50 (TEST 8). 
*ENDIF
*IF DEF,LSFMD 
*         MODULES FLD46 THROUGH FLD50 (TEST 8). 
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE DETAILED STATUS FROM THE DRIVE IN THE STATUS BUFFER WILL   FMD
*         BE INTERROGATED TO DETERMINE THE CAUSE FOR THE NOT READY AND   FMD
*         SAFE CONDITION IN THE FIXED MODULE DRIVE.                      FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         THE STATUS BUFFER CONTAINS THE DETAILED STATUS FROM THE FIXED  FMD
*         MODULE DRIVE.                                                  FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         EXIT TO THE CALLING MODULE.                                    FMD
*         EA,EC,AND EM REGISTER CONTAIN THE ERROR MESSAGE INFORMATION.   FMD
*         B0, B1, AND B2 REGISTERS DESTROYED.                            FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(00-32) CONTAIN THE DETAILED STATUS FROM THE DRIVE.          FMD
*                                                                        FMD
*         REMARKS-                                                       FMD
*                                                                        FMD
*         KNOWN LIMITATIONS-                                             FMD
*                                                                        FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE BIT0=1, BIT1=2, BIT2=4, BIT3=10, BIT4=20, BIT5=40              FMD
   EQUATE BIT6=100, BIT7=200, BIT8=400, BIT9=1000                        FMD
   EQUATE BT10=2000, BT11=4000                                           FMD
*                                                                        FMD
/         CHECK IF DRIVE IS IN ECHO COMMAND MODE.                        FMD
*                                                                        FMD
30 IF(SB(14) AND 377 EQ 216) ERROR 13/51 GOTO 50  *ECHO CMD              FMD
*                                                                        FMD
/         CHECK IF DRIVE IS IN ECHO BUS MODE.                            FMD
/         COMPARE STATUS WORDS 0 AND 1 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B0=SB(7) AND 17 LS 4      *BUILD STATUS WORD 0 (87)                   FMD
   B1=SB(10)                 *STATUS WORDS 0 AND 1                       FMD
   B0=B1 RS 10 XOR B0        *STATUS WORD 0 (87 CMD STATUS)              FMD
   B1=B1 AND 377             *STATUS WORD 1 (88 CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 2 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=SB(11) AND 17 LS 4     *BUILD STATUS WORD 2 (89)                   FMD
   B2=SB(12)                 *STATUS WORDS 2 AND 3                       FMD
   B1=B2 RS 10 XOR B1        *STATUS WORD 2 (89 CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 3 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=B2 AND 377             *STATUS WORD 3 (8A CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 4 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=SB(2) AND 377          *STATUS WORD 4 (8B CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 5 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B2=SB(13)                 *STATUS WORDS 5 AND 6                       FMD
   B1=B2 RS 4                *STATUS WORD 5 (8C CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 6 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=B2 AND 17 LS 4         *BUILD STATUS WORD 6 (8D)                   FMD
   B2=SB(14)                 *STATUS WORDS 6 AND 7                       FMD
   B1=B2 RS 10 XOR B1        *STATUS WORD 6 (8D CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 7 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=B2 AND 377             *STATUS WORD 7 (8E CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
   ERROR 13/51 GOTO 50       *ECHO COMMAND MODE ERROR                    FMD
*                                                                        FMD
/         CHECK STATUS WORD 7 (8E STATUS COMMAND).                       FMD
*                                                                        FMD
32 IF(SB(14) AND BIT0 NE 0) GOTO 34              *IF BIT 0               FMD
   IF(SB(14) AND BIT3 NE 0) GOTO 36              *IF BIT 3               FMD
   IF(SB(14) AND BIT5 EQ 0) ERROR 12/50 GOTO 50  *IF BIT 5               FMD
*                                                                        FMD
/         CHECK STATUS WORD 1 (88 STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(10) AND BIT0 EQ 0) ERROR 2/41 GOTO 50   *IF BIT 0               FMD
   IF(SB(10) AND BIT1 EQ 0) ERROR 3/42 GOTO 50   *IF BIT 1               FMD
*                                                                        FMD
/         CHECK STATUS WORD 4 (8B STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(2) AND BIT3 NE 0) ERROR 4/43 GOTO 50    *IF BIT 3               FMD
   IF(SB(2) AND BIT7 EQ 0) ERROR 5/44 GOTO 50    *IF BIT 7               FMD
*                                                                        FMD
/         CHECK STATUS WORD 5 (8C STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(13) AND BIT5 NE 0) ERROR 7/45 GOTO 50   *IF BIT 1               FMD
*                                                                        FMD
/         CHECK STATUS WORD 7 (8E STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(14) AND BIT6 NE 0) ERROR 10/46 GOTO 50  *IF BIT 6               FMD
   ERROR 11/47 GOTO 50                                                   FMD
*                                                                        FMD
/         CHECK STATUS WORD 2 (89 STATUS COMMAND).                       FMD
*                                                                        FMD
34 IF(SB(11) AND 16 NE 0) ERROR 0/24 GOTO 50     *SEEK ERROR             FMD
   ERROR 2/25 GOTO 50                                                    FMD
*                                                                        FMD
/         CHECK STATUS WORD 5 (8C STATUS COMMAND).                       FMD
*                                                                        FMD
36 IF(SB(13) AND BIT4 NE 0) ERROR 6/26 GOTO 50   *IF BIT 0               FMD
   IF(SB(13) AND BIT5 NE 0) ERROR 7/27 GOTO 50   *IF BIT 1               FMD
   IF(SB(13) AND BIT6 NE 0) ERROR 10/30 GOTO 50  *IF BIT 2               FMD
   IF(SB(13) AND BIT7 NE 0) ERROR 11/31 GOTO 50  *IF BIT 3               FMD
   IF(SB(13) AND BIT8 NE 0) ERROR 12/32 GOTO 50  *IF BIT 4               FMD
   IF(SB(13) AND BIT9 NE 0) ERROR 13/33 GOTO 50  *IF BIT 5               FMD
   IF(SB(13) AND BT10 NE 0) ERROR 14/34 GOTO 50  *IF BIT 6               FMD
   IF(SB(13) AND BT11 NE 0) ERROR 15/35 GOTO 50  *IF BIT 7               FMD
*                                                                        FMD
/         CHECK STATUS WORD 6 (8D STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(13) AND BIT2 NE 0) ERROR 16/36 GOTO 50  *IF BIT 6               FMD
   IF(SB(13) AND BIT3 NE 0) ERROR 17/37 GOTO 50  *IF BIT 7               FMD
   ERROR 21/40                                                           FMD
50 EXIT                                *EXIT THE MODULE                  FMD
   END 30                              *END OF THE MODULE                FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98F,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98F,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98F,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98F - ISOLATE READY AND SAFE FAULTS FOR TEST 9.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD98F - ISOLATE READY AND SAFE FAULTS FOR TEST 9.
*ENDIF
*IF DEF,LSFMD 
*         FLD98F - ISOLATE READY AND SAFE FAULTS FOR TEST 9.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         ISOLATE THE CAUSE THAT THE FIXED MODULE DRIVE IS NOT READY AND FMD
*         SAFE FROM THE DETAILED STATUS IN THE STATUS BUFFER FOR PRIMARY FMD
*IF DEF,SFMD
*         MODULES FMD51 THROUGH FMD60 (TEST 9).                          FMD
*ENDIF
*IF DEF,PFMD
*         MODULES FHD51 THROUGH FHD60 (TEST 9). 
*ENDIF
*IF DEF,LSFMD 
*         MODULES FLD51 THROUGH FLD60 (TEST 9). 
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE DETAILED STATUS FROM THE DRIVE IN THE STATUS BUFFER WILL   FMD
*         BE INTERROGATED TO DETERMINE THE CAUSE FOR THE NOT READY AND   FMD
*         SAFE CONDITION IN THE FIXED MODULE DRIVE.                      FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         THE STATUS BUFFER CONTAINS THE DETAILED STATUS FROM THE FIXED  FMD
*         MODULE DRIVE.                                                  FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         EXIT TO THE CALLING MODULE.                                    FMD
*         EA,EC,AND EM REGISTER CONTAIN THE ERROR MESSAGE INFORMATION.   FMD
*         B0, B1, AND B2 REGISTERS DESTROYED.                            FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NO SUBMODULES REFERENCED.                                      FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(00-32) CONTAIN THE DETAILED STATUS FROM THE DRIVE.          FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE BIT0=1, BIT1=2, BIT2=4, BIT3=10, BIT4=20, BIT5=40              FMD
   EQUATE BIT6=100, BIT7=200, BIT8=400, BIT9=1000                        FMD
   EQUATE BT10=2000, BT11=4000                                           FMD
*                                                                        FMD
/         CHECK IF DRIVE IS IN ECHO COMMAND MODE.                        FMD
*                                                                        FMD
30 IF(SB(14) AND 377 EQ 216) ERROR 14/67 GOTO 50  *ECHO CMD              FMD
*                                                                        FMD
/         CHECK IF DRIVE IS IN ECHO BUS MODE.                            FMD
/         COMPARE STATUS WORDS 0 AND 1 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B0=SB(7) AND 17 LS 4      *BUILD STATUS WORD 0 (87)                   FMD
   B1=SB(10)                 *STATUS WORDS 0 AND 1                       FMD
   B0=B1 RS 10 XOR B0        *STATUS WORD 0 (87 CMD STATUS)              FMD
   B1=B1 AND 377             *STATUS WORD 1 (88 CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 2 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=SB(11) AND 17 LS 4     *BUILD STATUS WORD 2 (89)                   FMD
   B2=SB(12)                 *STATUS WORDS 2 AND 3                       FMD
   B1=B2 RS 10 XOR B1        *STATUS WORD 2 (89 CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 3 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=B2 AND 377             *STATUS WORD 3 (8A CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 4 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=SB(2) AND 377          *STATUS WORD 4 (8B CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 5 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B2=SB(13)                 *STATUS WORDS 5 AND 6                       FMD
   B1=B2 RS 4                *STATUS WORD 5 (8C CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 6 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=B2 AND 17 LS 4         *BUILD STATUS WORD 6 (8D)                   FMD
   B2=SB(14)                 *STATUS WORDS 6 AND 7                       FMD
   B1=B2 RS 10 XOR B1        *STATUS WORD 6 (8D CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 7 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=B2 AND 377             *STATUS WORD 7 (8E CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
   ERROR 14/67 GOTO 50       *ECHO COMMAND MODE ERROR                    FMD
*                                                                        FMD
/         CHECK STATUS WORD 7 (8E STATUS COMMAND).                       FMD
*                                                                        FMD
32 IF(SB(14) AND BIT0 NE 0) GOTO 34              *IF BIT 0               FMD
   IF(SB(14) AND BIT3 NE 0) GOTO 36              *IF BIT 3               FMD
   IF(SB(14) AND BIT5 EQ 0) ERROR 13/66 GOTO 50  *IF BIT 5               FMD
*                                                                        FMD
/         CHECK STATUS WORD 1 (88 STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(10) AND BIT0 EQ 0) ERROR 17/57 GOTO 50  *IF BIT 0               FMD
   IF(SB(10) AND BIT1 EQ 0) ERROR 21/60 GOTO 50  *IF BIT 1               FMD
*                                                                        FMD
/         CHECK STATUS WORD 4 (8B STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(2) AND BIT3 NE 0) ERROR 1/61 GOTO 50    *IF BIT 3               FMD
   IF(SB(2) AND BIT7 EQ 0) ERROR 3/62 GOTO 50    *IF BIT 7               FMD19
*                                                                        FMD
/         CHECK STATUS WORD 5 (8C STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(13) AND BIT5 NE 0) ERROR 5/63 GOTO 50   *IF BIT 1               FMD
*                                                                        FMD
/         CHECK STATUS WORD 7 (8E STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(14) AND BIT6 NE 0) ERROR 7/64 GOTO 50   *IF BIT 6               FMD
   ERROR 11/65 GOTO 50                                                   FMD
*                                                                        FMD
/         CHECK STATUS WORD 2 (89 STATUS COMMAND).                       FMD
*                                                                        FMD
34 IF(SB(11) AND 16 NE 0) ERROR 14/42 GOTO 50    *SEEK ERROR             FMD
   ERROR 16/43 GOTO 50                                                   FMD
*                                                                        FMD
/         CHECK STATUS WORD 5 (8C STATUS COMMAND).                       FMD
*                                                                        FMD
36 IF(SB(13) AND BIT4 NE 0) ERROR 21/44 GOTO 50  *IF BIT 0               FMD
   IF(SB(13) AND BIT5 NE 0) ERROR 22/45 GOTO 50  *IF BIT 1               FMD
   IF(SB(13) AND BIT6 NE 0) ERROR 2/46 GOTO 50   *IF BIT 2               FMD
   IF(SB(13) AND BIT7 NE 0) ERROR 3/47 GOTO 50   *IF BIT 3               FMD
   IF(SB(13) AND BIT8 NE 0) ERROR 4/50 GOTO 50   *IF BIT 4               FMD
   IF(SB(13) AND BIT9 NE 0) ERROR 5/51 GOTO 50   *IF BIT 5               FMD
   IF(SB(13) AND BT10 NE 0) ERROR 6/52 GOTO 50   *IF BIT 6               FMD
   IF(SB(13) AND BT11 NE 0) ERROR 7/53 GOTO 50   *IF BIT 7               FMD
*                                                                        FMD
/         CHECK STATUS WORD 6 (8D STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(13) AND BIT2 NE 0) ERROR 10/54 GOTO 50  *IF BIT 6               FMD
   IF(SB(13) AND BIT3 NE 0) ERROR 12/55 GOTO 50  *IF BIT 7               FMD
   ERROR 15/56                                                           FMD
50 EXIT                                *EXIT THE MODULE                  FMD
   END 30                              *END OF THE MODULE                FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98G,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98G,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98G,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98G - ISOLATE READY AND SAFE FAULTS FOR TEST A.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD98G - ISOLATE READY AND SAFE FAULTS FOR TEST A.
*ENDIF
*IF DEF,LSFMD 
*         FLD98G - ISOLATE READY AND SAFE FAULTS FOR TEST A.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         ISOLATE THE CAUSE THAT THE FIXED MODULE DRIVE IS NOT READY AND FMD
*         SAFE FROM THE DETAILED STATUS IN THE STATUS BUFFER FOR PRIMARY FMD
*IF DEF,SFMD
*         MODULES FMD61 THROUGH FMD69 (TEST A).                          FMD
*ENDIF
*IF DEF,PFMD
*         MODULES FHD61 THROUGH FHD69 (TEST A). 
*ENDIF
*IF DEF,LSFMD 
*         MODULES FLD61 THROUGH FLD69 (TEST A). 
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE DETAILED STATUS FROM THE DRIVE IN THE STATUS BUFFER WILL   FMD
*         BE INTERROGATED TO DETERMINE THE CAUSE FOR THE NOT READY AND   FMD
*         SAFE CONDITION IN THE FIXED MODULE DRIVE.                      FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         THE STATUS BUFFER CONTAINS THE DETAILED STATUS FROM THE FIXED  FMD
*         MODULE DRIVE.                                                  FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         EXIT TO THE CALLING MODULE.                                    FMD
*         EA,EC,AND EM REGISTER CONTAIN THE ERROR MESSAGE INFORMATION.   FMD
*         B0, B1, AND B2 REGISTERS DESTROYED.                            FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         SB(00-32) CONTAIN THE DETAILED STATUS FROM THE DRIVE.          FMD
*                                                                        FMD
*         REMARKS-                                                       FMD
*                                                                        FMD
*         KNOWN LIMITATIONS-                                             FMD
*                                                                        FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE BIT0=1, BIT1=2, BIT2=4, BIT3=10, BIT4=20, BIT5=40              FMD
   EQUATE BIT6=100, BIT7=200, BIT8=400, BIT9=1000                        FMD
   EQUATE BT10=2000, BT11=4000                                           FMD
*                                                                        FMD
/         CHECK IF DRIVE IS IN ECHO COMMAND MODE.                        FMD
*                                                                        FMD
30 IF(SB(14) AND 377 EQ 216) ERROR 2/61 GOTO 50   *ECHO CMD              FMD
*                                                                        FMD
/         CHECK IF DRIVE IS IN ECHO BUS MODE.                            FMD
/         COMPARE STATUS WORDS 0 AND 1 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B0=SB(7) AND 17 LS 4      *BUILD STATUS WORD 0 (87)                   FMD
   B1=SB(10)                 *STATUS WORDS 0 AND 1                       FMD
   B0=B1 RS 10 XOR B0        *STATUS WORD 0 (87 CMD STATUS)              FMD
   B1=B1 AND 377             *STATUS WORD 1 (88 CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 2 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=SB(11) AND 17 LS 4     *BUILD STATUS WORD 2 (89)                   FMD
   B2=SB(12)                 *STATUS WORDS 2 AND 3                       FMD
   B1=B2 RS 10 XOR B1        *STATUS WORD 2 (89 CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 3 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=B2 AND 377             *STATUS WORD 3 (8A CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 4 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=SB(2) AND 377          *STATUS WORD 4 (8B CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 5 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B2=SB(13)                 *STATUS WORDS 5 AND 6                       FMD
   B1=B2 RS 4                *STATUS WORD 5 (8C CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 6 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=B2 AND 17 LS 4         *BUILD STATUS WORD 6 (8D)                   FMD
   B2=SB(14)                 *STATUS WORDS 6 AND 7                       FMD
   B1=B2 RS 10 XOR B1        *STATUS WORD 6 (8D CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
*                                                                        FMD
/         COMPARE STATUS WORDS 0 AND 7 FOR ECHO BUS MODE.                FMD
*                                                                        FMD
   B1=B2 AND 377             *STATUS WORD 7 (8E CMD STATUS)              FMD
   IF(B0 NE B1) GOTO 32      *IF DRIVE NOT IN ECHO BUS MODE              FMD
   ERROR 1/60 GOTO 50        *ECHO COMMAND MODE ERROR                    FMD
*                                                                        FMD
/         CHECK STATUS WORD 7 (8E STATUS COMMAND).                       FMD
*                                                                        FMD
32 IF(SB(14) AND BIT0 NE 0) GOTO 34               *IF BIT 0              FMD
   IF(SB(14) AND BIT3 NE 0) GOTO 36               *IF BIT 3              FMD
   IF(SB(14) AND BIT5 EQ 0) ERROR 12/101 GOTO 50  *IF BIT 5              FMD
   IF(SB(14) AND BIT6 NE 0) ERROR 13/102 GOTO 50  *IF BIT 6              FMD
*                                                                        FMD
/         CHECK STATUS WORD 5 (8C STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(13) AND BIT5 NE 0) ERROR 15/103 GOTO 50  *IF BIT 1              FMD
*                                                                        FMD
/         CHECK STATUS WORD 4 (8B STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(2) AND BIT3 NE 0) ERROR 17/104 GOTO 50   *IF BIT 3              FMD
   IF(SB(2) AND BIT7 EQ 0) ERROR 21/105 GOTO 50   *IF BIT 7              FMD
*                                                                        FMD
/         CHECK STATUS WORD 1 (88 STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(10) AND BIT0 EQ 0) ERROR 23/106 GOTO 50  *IF BIT 0              FMD
   IF(SB(10) AND BIT1 EQ 0) ERROR 0/107 GOTO 50   *IF BIT 1              FMD
   ERROR 3/110 GOTO 50                                                   FMD
*                                                                        FMD
/         CHECK STATUS WORD 2 (89 STATUS COMMAND).                       FMD
*                                                                        FMD
34 IF(SB(11) AND BIT3 NE 0) ERROR 5/62 GOTO 50    *IF BIT 7              FMD
   IF(SB(11) AND BIT2 NE 0) ERROR 6/63 GOTO 50    *IF BIT 6              FMD
   IF(SB(11) AND BIT1 NE 0) ERROR 7/64 GOTO 50    *IF BIT 5              FMD
   ERROR 6/77 GOTO 50                                                    FMD
*                                                                        FMD
/         CHECK STATUS WORD 5 (8C STATUS COMMAND).                       FMD
*                                                                        FMD
36 IF(SB(13) AND BIT4 NE 0) ERROR 11/65 GOTO 50   *IF BIT 0              FMD
   IF(SB(13) AND BIT5 NE 0) ERROR 12/66 GOTO 50   *IF BIT 1              FMD
   IF(SB(13) AND BIT6 NE 0) ERROR 13/67 GOTO 50   *IF BIT 2              FMD
   IF(SB(13) AND BIT7 NE 0) ERROR 14/70 GOTO 50   *IF BIT 3              FMD
   IF(SB(13) AND BIT8 NE 0) ERROR 15/71 GOTO 50   *IF BIT 4              FMD
   IF(SB(13) AND BIT9 NE 0) ERROR 16/72 GOTO 50   *IF BIT 5              FMD
   IF(SB(13) AND BT10 NE 0) ERROR 17/73 GOTO 50   *IF BIT 6              FMD
   IF(SB(13) AND BT11 NE 0) ERROR 20/74 GOTO 50   *IF BIT 7              FMD
*                                                                        FMD
/         CHECK STATUS WORD 6 (8D STATUS COMMAND).                       FMD
*                                                                        FMD
   IF(SB(13) AND BIT3 NE 0) ERROR 1/75 GOTO 50    *IF BIT 7              FMD
   IF(SB(13) AND BIT2 NE 0) ERROR 4/76 GOTO 50    *IF BIT 6              FMD
   ERROR 10/100                                                          FMD
50 EXIT                                *EXIT THE MODULE                  FMD
   END 30                              *END OF THE MODULE                FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98H,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98H,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98H,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98H - GENERATE DATA PATTERNS IN THE OUTPUT DATA BUFFER.     FMD
*ENDIF
*IF DEF,PFMD
*         FHD98H - GENERATE DATA PATTERNS IN THE OUTPUT DATA BUFFER.
*ENDIF
*IF DEF,LSFMD 
*         FLD98H - GENERATE DATA PATTERNS IN THE OUTPUT DATA BUFFER.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD98H GENERATES A 502 OCTAL WORD DATA BUFFER IN THE OUTPUT    FMD
*ENDIF
*IF DEF,PFMD
*         FHD98H GENERATES A 504 OCTAL WORD DATA BUFFER IN THE OUTPUT 
*ENDIF
*IF DEF,LSFMD 
*         FLD98H GENERATES A 502 OCTAL WORD DATA BUFFER IN THE OUTPUT 
*ENDIF
*         DATA BUFFER. EITHER OF TWO DATA PATTERNS WILL BE GENERATED.    FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF B0 CONTAINS ZERO, A DATA PATTERN OF E36A AAAA WILL BE       FMD
*         GENERATED IN THE OUTPUT DATA BUFFER. IF B0 CONTAINS ONE, A     FMD
*         DATA PATTERN OF E36C E36C WILL BE GENERATED IN THE OUTPUT      FMD
*         DATA BUFFER.                                                   FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B0 REGISTER - CONTAINS A ZERO OR ONE FOR THE DATA PATTERN TO   FMD
*                       BE GENERATED.                                    FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*IF DEF,SFMD
*         THE OUTPUT DATA BUFFER CONTAINS THE 502 OCTAL WORD DATA        FMD
*ENDIF
*IF DEF,PFMD
*         THE OUTPUT DATA BUFFER CONTAINS THE 504 OCTAL WORD DATA 
*ENDIF
*IF DEF,LSFMD 
*         THE OUTPUT DATA BUFFER CONTAINS THE 502 OCTAL WORD DATA 
*ENDIF
*         PATTERN GENERATED.                                             FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - DATA PATTERN NUMBER.                             FMD
*         B1 REGISTER - NOT USED.                                        FMD
*         B2 REGISTER - NOT USED.                                        FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - NOT USED.                           FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*IF DEF,SFMD
*         OB(00-501) - DATA PATTERN GENERATED.                           FMD
*ENDIF
*IF DEF,PFMD
*         OB(00-503) - DATA PATTERN GENERATED.
*ENDIF
*IF DEF,LSFMD 
*         OB(00-501) - DATA PATTERN GENERATED.
*ENDIF
*                                                                        FMD
*IF DEF,SFMD
1  FORMAT FMD98H - GENERATE DATA                                         FMD
*ENDIF
*IF DEF,PFMD
1  FORMAT FHD98H - GENERATE DATA
*ENDIF
*IF DEF,LSFMD 
1  FORMAT FLD98H - GENERATE DATA
*ENDIF
*                                                                        FMD
/         NUMBER CONSTANTS FOR THE DATA BUFFER.                          FMD
*                                                                        FMD
*IF DEF,SFMD
   DATA (OB,3H) E36A,AAAA,E36A,AAAA,E36A,AAAA                            FMD
   DATA (OB(10)3H) E36C,E36C,E36C,E36C,E36C,E36C                         FMD
*ENDIF
*IF DEF,PFMD
   DATA (OB,3H) E36E,36E3,6E36,AAAA,AAAA,AAAA 
   DATA (OB(10)3H) AAEA,AEAA,EAAE,36A3,6A36,A36A
   DATA (OB(20)3H) AAAA,AAAA,AAAA,AE3A,E3AE,3AE3
   DATA (OB(30)3H) 6AA6,AA6A,A6AA,AAAA,AAAA,AAAA
   DATA (OB(40)3H) E36E,36E3,6E36,CE3C,E3CE,3CE3
   DATA (OB(50)3H) 6CE6,CE6C,E6CE,36C3,6C36,C36C
   DATA (OB(60)3H) E36E,36E3,6E36,CE3C,E3CE,3CE3
   DATA (OB(70)3H) 6CE6,CE6C,E6CE,36C3,6C36,C36C
*ENDIF
*IF DEF,LSFMD 
   DATA (OB,3H) E36A,AAAA,E36A,AAAA,E36A,AAAA 
   DATA (OB(10)3H) E36C,E36C,E36C,E36C,E36C,E36C
*ENDIF
/                                                                        FMD
20 MSG 1 TO DISPLAY          *DISPLAY MODULE NAME MESSAGE                FMD
*IF DEF,SFMD
   IF(B0 EQ 1) COPY OB(10) TO OB FOR 10  *IF SECOND PATTERN              FMD
   COPY OB TO OB(10) FOR 10  *GENERATE 20 WORD BUFFER                    FMD
   COPY OB TO OB(20) FOR 20  *GENERATE 40 WORD BUFFER                    FMD
*ENDIF
*IF DEF,PFMD
   IF(B0 EQ 1) COPY OB(40) TO OB FOR 40  *IF SECOND PATTERN 
*ENDIF
*IF DEF,LSFMD 
   IF(B0 EQ 1) COPY OB(10) TO OB FOR 10   *IF SECOND PATTERN
   COPY OB TO OB(10) FOR 10   *GENERATE 20 WORD BUFFER
   COPY OB TO OB(20) FOR 20   *GENERATE 40 WORD BUFFER
*ENDIF
   COPY OB TO OB(40) FOR 40  *GENERATE 100 WORD BUFFER                   FMD
   COPY OB TO OB(100) FOR 100  *GENERATE 200 WORD BUFFER                 FMD
   COPY OB TO OB(200) FOR 200  *GENERATE 400 WORD BUFFER                 FMD
   COPY OB TO OB(400) FOR 100  *GENERATE 500 WORD BUFFER                 FMD
*IF DEF,SFMD
   COPY OB TO OB(500) FOR 2    *GENERATE 502 WORD BUFFER                 FMD
   OB(1)=B7                    *CYLINDER NUMBER                          FMD
   OB(2)=B8                    *TRACK NUMBER                             FMD
   OB(3)=B9                    *SECTOR NUMBER                            FMD
*ENDIF
*IF DEF,PFMD
   OB(500)=B7                  *CYLINDER NUMBER 
   OB(501)=B8                  *TRACK NUMBER
   OB(502)=B9                  *SECTOR NUMBER 
*ENDIF
*IF DEF,LSFMD 
   COPY OB TO OB(500) FOR 4     *GENERATE 500 WORD BUFFER 
   OB(500)=B7 
   OB(501)=B8 
   OB(502)=B9 
*ENDIF
   EXIT                        *EXIT THE MODULE                          FMD
   END 20                      *END OF THE MODULE                        FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98I,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98I,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98I,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98I - PROCESS ERRORS TO TEST 1.                             FMD
*ENDIF
*IF DEF,PFMD
*         FHD98I - PROCESS ERRORS TO TEST 1.
*ENDIF
*IF DEF,LSFMD 
*         FLD98I - PROCESS ERRORS FOR TEST 1. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 01000, 01001, 01002,   FMD06
*         01003, 01004, 01005, 01006, 01007, 01008, 01009, 0100A, 0100B, FMD06
*         0100C, 0100D, 0100E, AND 0100F.                                FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE FIRST THREE LINES FOR THE ERROR DISPLAY WILL BE PLACED IN  FMD
*         THE DISPLAY BUFFER.  IF THE ERROR CODE NUMBER IN THE EC        FMD
*         REGISTER IS A PRODUCT OVERLAY ERROR CODE, THE MODULE WILL EXIT FMD
*IF DEF,SFMD
*         TO THE FMD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE FMD
*ENDIF
*IF DEF,PFMD
*         TO THE FHD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*IF DEF,LSFMD 
*         TO THE FLD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*         ERROR. THE ERROR CODE LINE WILL BE PLACED IN THE DISPLAY       FMD
*         BUFFER. IF THE EC REGISTER CONTAINS THE ERROR CODES 00, OR 01, FMD
*         OR 02, OR 03, OR 04, OR 05, OR 06, OR 07, 0R 08, OR 09, 0R 0A, FMD
*         OR 0B, 0R 0C, OR 0D, OR 0E, OR 0F, THE ERROR DISPLAY WILL BE   FMD
*         BUILT FOR THE ERROR. IF THE EC REGISTER DOES NOT CONTAIN ONE   FMD
*IF DEF,SFMD
*         OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FMD98J       FMD
*ENDIF
*IF DEF,PFMD
*         OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FHD98J
*ENDIF
*IF DEF,LSFMD 
*         OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FLD98J
*ENDIF
*         MODULE.                                                        FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD98K TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD98K TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD98K TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98B -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98B - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98B - 
*ENDIF
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         THE FIRST THREE LINES OF THE ERROR DISPLAY PLACED IN THE       FMD
*         DISPLAY BUFFER.                                                FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98J -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98J - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98J - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER.                                                FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98K -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98K - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98K - 
*ENDIF
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - CONTROL CODE FOR ISOLATION                       FMD
*                       INFORMATION.                                     FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98J - PROCESS ERRORS.                                       FMD
*         FMD98K - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98J - PROCESS ERRORS.
*         FHD98K - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98J - PROCESS ERRORS.
*         FLD98K - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CALLING MODULE NUMBER.                           FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*IF DEF,SFMD
0  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
1  FORMAT FMD02 - STATIC I/O TEST 1                                      FMD
2  FORMAT FMD03 - STATIC I/O TEST 2                                      FMD
3  FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD05
4  FORMAT FMD*D - LINE *OCT ERROR CODE 01*HE                             FMD
*ENDIF
*IF DEF,PFMD
0  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FHD02 - STATIC I/O TEST 1 
2  FORMAT FHD03 - STATIC I/O TEST 2 
3  FORMAT PRESERVICE FORECAST GROUP FHDD
4  FORMAT FHD*D - LINE *OCT ERROR CODE 01*HE
*ENDIF
*IF DEF,LSFMD 
0  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FLD02 - STATIC I/O TEST 1 
2  FORMAT FLD03 - STATIC I/O TEST 2 
3  FORMAT PRESERVICE FORECAST GROUP FMDD
4  FORMAT FLD*D - LINE *OCT ERROR CODE 01*HE
*ENDIF
*                                                                        FMD
/         01000 ERROR MESSAGE.                                           FMD
*                                                                        FMD
5  FORMAT SELECT AND RESERVE LINE IS ACTIVE FROM THE                     FMD
6  FORMAT DEVICE WITHOUT SELECT BEING ACTIVE FROM THE                    FMD
7  FORMAT CONTROLLER.                                                    FMD
*                                                                        FMD
/         01001 ERROR MESSAGE.                                           FMD
*                                                                        FMD
10 FORMAT READY AND SAFE NOT ACTIVE TO THE CONTROLLER.                   FMD
11 FORMAT THIS ERROR STOP ONLY INTENDS TO CHECK THE                      FMD
12 FORMAT TRANSMITTER FOR READY AND SAFE. READY AND SAFE                 FMD
13 FORMAT FAILURES WILL BE ANALYZED LATER. MANUAL                        FMD10
14 FORMAT INTERVENTION MUST BE SELECTED TO ARRIVE AT THIS                FMD
15 FORMAT ERROR STOP.                                                    FMD
*                                                                        FMD
/         01002 ERROR MESSAGE.                                           FMD
*                                                                        FMD
16 FORMAT WRITE CLOCK TO CONTROLLER NOT ACTIVE.                          FMD
*                                                                        FMD
/         01003 ERROR MESSAGE.                                           FMD
*                                                                        FMD
17 FORMAT SECTOR MARK/ON SECTOR LINE NOT ACTIVE.                         FMD
*                                                                        FMD
/         01004 ERROR MESSAGE.                                           FMD
*                                                                        FMD
20 FORMAT INDEX MARK NOT DETECTED AT CONTROLLER INTERFACE                FMD
21 FORMAT WITH DEVICE NOT SELECTED.                                      FMD
*                                                                        FMD
/         01005 ERROR MESSAGE.                                           FMD
*                                                                        FMD
22 FORMAT ON CYL NOT DETECTED AT CONTROLLER INTERFACE WITH               FMD
23 FORMAT DEVICE NOT SELECTED.                                           FMD
*                                                                        FMD
/         01006 - 0100D ERROR MESSAGES.                                  FMD
*                                                                        FMD
24 FORMAT BUS IN BIT *H ACTIVE WITH DEVICE NOT SELECTED.                 FMD
*                                                                        FMD
/         0100E ERROR MESSAGE.                                           FMD
*                                                                        FMD
25 FORMAT BUS IN PARITY BIT ACTIVE WITH DEVICE NOT SELECTED.             FMD
*                                                                        FMD
/         0100F ERROR MESSAGE.                                           FMD
*                                                                        FMD
26 FORMAT STATUS VALID ACTIVE AND DEVICE NOT SELECTED.                   FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 MSG 0 TO LINE 1           *DIAGNOSTIC TITLE MESSAGE                   FMD
   B1=B0-1
   MSG B1 TO LINE 2          *MODULE NUMBER AND NAME MESSAGE
   MSG 3 TO LINE 3           *PRESERVICE FORECAST MESSAGE                FMD05
   IF(EC GT 3777) EXIT TO 98B  *IF PRODUCT OVERLAY ERROR                 FMD
   MSG 4 (B0,EA,EC) TO LINE 5  *ERROR CODE TO DISPLAY                    FMD
   B0=EM                                                                 FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=4001                   *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 0) GOTO 34       *IF ERROR CODE 01000                        FMD
   B2=4400                   *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 1) GOTO 32       *IF ERROR CODE 01001                        FMD
   B2=3102                   *SET INFORMATION FLAG FOR ERROR
   IF(EC EQ 2) GOTO 40       *IF ERROR CODE 01002                        FMD
   B2=3103                   *SET INFORMATION FLAG FOR ERROR
   IF(EC EQ 3) GOTO 40       *IF ERROR CODE 01003                        FMD
   B2=3204                   *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 4) GOTO 36       *IF ERROR CODE 01004                        FMD
   B2=3205                   *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 5) GOTO 36       *IF ERROR CODE 01005                        FMD
   B2=1006                   *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 6) GOTO 42       *IF ERROR CODE 01006                        FMD
   IF(EC EQ 7) GOTO 42       *IF ERROR CODE 01007                        FMD
   IF(EC EQ 10) GOTO 42      *IF ERROR CODE 01008                        FMD
   IF(EC EQ 11) GOTO 42      *IF ERROR CODE 01009                        FMD
   IF(EC EQ 12) GOTO 42      *IF ERROR CODE 0100A                        FMD
   IF(EC EQ 13) GOTO 42      *IF ERROR CODE 0100B                        FMD
   IF(EC EQ 14) GOTO 42      *IF ERROR CODE 0100C                        FMD
   IF(EC EQ 15) GOTO 42      *IF ERROR CODE 0100D                        FMD
   IF(EC EQ 16) GOTO 40      *IF ERROR CODE 0100E                        FMD
   IF(EC EQ 17) GOTO 40      *IF ERROR CODE 0100F                        FMD
   EXIT TO 98J               *EXIT TO NEXT ERROR MODULE                  FMD
*                                                                        FMD
/         PROCESS ERROR CODES 01000, 01001, 01002, 01003,                FMD
/         01004, 01005, 0100E, AND 0100F.                                FMD
*                                                                        FMD
32 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
34 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
36 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   GOTO 50                   *GO TO COMPLETE ERROR DISPLAY               FMD
*                                                                        FMD
/         PROCESS ERROR CODES 01006, 01007, 01008, 01009,                FMD
/         0100A, 0100B, 0100C, AND 0100D.                                FMD
*                                                                        FMD
42 B0=EC-6                   *SET FALING BIT NUMBER                      FMD
   MSG EM (B0) TO LINE B1    *MOVE ERROR MESSAGE TO DISPLAY              FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 98K  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98J,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98J,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98J,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98J - PROCESS ERRORS TO TEST 1.                             FMD
*ENDIF
*IF DEF,PFMD
*         FHD98J - PROCESS ERRORS TO TEST 1.
*ENDIF
*IF DEF,LSFMD 
*         FLD98J - PROCESS ERRORS TO TEST 1.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 01010, 01011, 01012,   FMD06
*         01013, 01014, 01015, 01016, 01017, 01018, 01019, 0101A, 0101B, FMD06
*         0101C, 0101D, 0101E, AND 0101F.                                FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE ERROR MESSAGE FOR THE ERROR CODE IN THE EC REGISTER WILL   FMD
*         BE PLACED IN THE DISPLAY BUFFER.                               FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD98L TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD98L TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD98L TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINE OF THE ERROR DISPLAY PLACED IN THE DISPLAY FMD
*         BUFFER BY THE CALLING MODULE.                                  FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98L -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98L - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98L - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - CONTROL CODE FOR ISOLATION INFORMATION.          FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98L - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98L - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98L - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         01010 ERROR MESSAGE.                                           FMD
*                                                                        FMD
1  FORMAT SELECT AND RESERVED NOT ACTIVE AFTER RAISING                   FMD
2  FORMAT SELECT.                                                        FMD
*                                                                        FMD
/         01011 ERROR MESSAGE.                                           FMD
*                                                                        FMD
3  FORMAT READY AND SAFE NOT ACTIVE AFTER RAISING SELECT.                FMD
*                                                                        FMD
/         01012 ERROR MESSAGE.                                           FMD
*                                                                        FMD
4  FORMAT WRITE CLOCK NOT ACTIVE AFTER RAISING SELECT.                   FMD
*                                                                        FMD
/         01013 ERROR,MESSAGE.                                           FMD
*                                                                        FMD
5  FORMAT SECTOR MARK/ON SECTOR NOT ACTIVE AFTER SELECTION.              FMD
*                                                                        FMD
/         01014 ERROR MESSAGE.                                           FMD
*                                                                        FMD
6  FORMAT INDEX MARK NOT ACTIVE AFTER SELECTION.                         FMD
*                                                                        FMD
/         01015 ERROR MESSAGE.                                           FMD
*                                                                        FMD
7  FORMAT ON CYL SIGNAL NOT ACTIVE AFTER SELECTION.                      FMD
*                                                                        FMD
/         01016 - 0101D ERROR MESSAGES.                                  FMD
*                                                                        FMD
10 FORMAT BUS IN BIT *H ACTIVE AFTER SELECTION.                          FMD
*                                                                        FMD
/         0101E ERROR MESSAGE.                                           FMD
*                                                                        FMD
11 FORMAT BUS IN PARITY BIT ACTIVE AFTER SELECTION.                      FMD
*                                                                        FMD
/         0101F ERROR MESSAGE.                                           FMD
*                                                                        FMD
12 FORMAT STATUS VALID ACTIVE AFTER SELECTION.                           FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=4001                   *SET INFORMATION FLAG FOR ERROR
   IF(EC EQ 20) GOTO 32      *IF ERROR CODE 01010                        FMD
   B2=6002                   *SET INFORMATION FLAG FOR ERROR
   IF(EC EQ 21) GOTO 34      *IF ERROR CODE 01011                        FMD
   B2=2403                   *SET INFORMATION FLAG FOR ERROR
   IF(EC EQ 22) GOTO 34      *IF ERROR CODE 01012                        FMD
   B2=6404                   *SET INFORMATION FLAG FOR ERROR
   IF(EC EQ 23) GOTO 34      *IF ERROR CODE 01013                        FMD
   B2=6005                   *SET INFORMATION FLAG FOR ERROR
   IF(EC EQ 24) GOTO 34      *IF ERROR CODE 01014                        FMD
   B2=6006                   *SET INFORMATION FLAG FOR ERROR
   IF(EC EQ 25) GOTO 34      *IF ERROR CODE 01015                        FMD
   B2=6007                   *SET INFORMATION FLAG FOR ERROR
   IF(EC EQ 26) GOTO 36      *IF ERROR CODE 01016                        FMD
   IF(EC EQ 27) GOTO 36      *IF ERROR CODE 01017                        FMD
   B2=6010                   *SET INFORMATION FLAG FOR ERROR
   IF(EC EQ 30) GOTO 36      *IF ERROR CODE 01018                        FMD
   IF(EC EQ 31) GOTO 36      *IF ERROR CODE 01019                        FMD
   IF(EC EQ 32) GOTO 36      *IF ERROR CODE 0101A                        FMD
   IF(EC EQ 33) GOTO 36      *IF ERROR CODE 0101B                        FMD
   IF(EC EQ 34) GOTO 36      *IF ERROR CODE 0101C                        FMD
   IF(EC EQ 35) GOTO 36      *IF ERROR CODE 0101D                        FMD
   IF(EC EQ 36) GOTO 34      *IF ERROR CODE 0101E                        FMD
   GOTO 34                   *THE ERROR CODE IS 0101F                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 01010, 01011, 01012, 01013,                FMD
/         01014, 01015, 0101E, AND 0101F.                                FMD
*                                                                        FMD
32 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
34 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   GOTO 50                   *GO TO COMPLETE ERROR DISPLAY               FMD
*                                                                        FMD
/         PROCESS ERROR CODES 01016, 01017, 01018, 01019,                FMD
/         0101A, 0101B, 0101C, AND 0101D.                                FMD
*                                                                        FMD
36 B0=EC-26                  *SET FALING BIT NUMBER                      FMD
   MSG EM (B0) TO LINE B1    *MOVE ERROR MESSAGE TO DISPLAY              FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 98L  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98K,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98K,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98K,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98K - PROCESS ISOLATION INFORMATION TO TEST 1.              FMD
*ENDIF
*IF DEF,PFMD
*         FHD98K - PROCESS ISOLATION INFORMATION TO TEST 1. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98K - PROCESS ISOLATION INFORMATION TO TEST 1. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD98K PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS DETECTED IN PRIMARY MODULE FMD02.                   FMD
*ENDIF
*IF DEF,PFMD
*         FHD98K PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS DETECTED IN PRIMARY MODULE FHD02.
*ENDIF
*IF DEF,LSFMD 
*         FLD98K PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS DETECTED IN PRIMARY MODULE FLD02.
*ENDIF
*                                                                        FMD
*         METHOD                                                         FMD
*         A MESSAGE OF FROM THREE TO EIGHT LINES IN LENGTH WILL BE       FMD
*         APPENDED ONE LINE AFTER THE END OF THE ERROR MESSAGE.          FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - CONTROL CODE FOR ISOLATION INFORMATION.          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*         B4 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - CONTROL CODE FOR ISOLATION INFO.                 FMD
*         B3 REGISTER - TEMPORARY STORAGE.                               FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - NOT USED.                                       FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*                                                                        FMD
/         (4XXX) CONTROL CODE.                                           FMD
*                                                                        FMD
1  FORMAT *H. CHECK CABLES FOR PROPER CONNECTION.                        FMD
*                                                                        FMD
/         (2XXX) CONTROL CODE.                                           FMD
*                                                                        FMD
2  FORMAT *H. CHECK CHANNEL ENABLE SWITCHES FOR                          FMD
3  FORMAT     APPROPRIATE CHANNEL ENABLED.                               FMD
*                                                                        FMD
/         (1XXX) CONTROL CODE.                                           FMD
*                                                                        FMD
4  FORMAT *H. CHECK FOR LOOSE CABLE OR OPEN CABLE DETECT. 
*                                                                        FMD
/         (X4XX) CONTROL CODE.                                           FMD
*                                                                        FMD
5  FORMAT *H. OBSERVE FAULT INDICATOR ON MAINTENANCE                     FMD
6  FORMAT     PANEL FOR APPROPRIATE SPINDLE.                             FMD
7  FORMAT *H. IF FAULT INDICATOR NOT LIT, REPLACE PWB                    FMD
*IF DEF,SFMD
10 FORMAT     A/B03.                                                     FMD
*ENDIF
*IF DEF,PFMD
10 FORMAT     A/B02.
*ENDIF
*IF DEF,LSFMD 
10 FORMAT     A/BO3.
*ENDIF
11 FORMAT *H. IF FAULT INDICATOR IS LIT, IGNORE THIS ERROR               FMD
12 FORMAT     STOP AND CONTINUE ON.                                      FMD
*                                                                        FMD
/         (X2XX) CONTROL CODE.                                           FMD
*                                                                        FMD
13 FORMAT *H. CHECK IF DEVICE IS UP TO SPEED AND READY                   FMD
14 FORMAT     INDICATOR LIT. IF NOT, GO TO TABLE 3-1
15 FORMAT     IN TROUBLE SHOOTING GUIDE.
*                                                                        FMD
/         (000X) CONTROL CODE.                                           FMD
*                                                                        FMD
16 FORMAT *H. REPLACE PWBS ONE AT A TIME IN THE FOLLOWING                FMD
*                                                                        FMD
/         (XXX1) CONTROL CODE.                                           FMD
*                                                                        FMD
17 FORMAT     ORDER - A/B02, A/B20, A/B21, A/B26. 
*                                                                        FMD
/         (XXX2) CONTROL CODE.                                           FMD
*                                                                        FMD
*IF DEF,SFMD
20 FORMAT     ORDER - A/B03, A/B07, A/B11, A/B21, A/B24,                 FMD
*ENDIF
*IF DEF,PFMD
20 FORMAT     ORDER - A/B02, A/B07, A/B11, A/B21, A/B24,
*ENDIF
*IF DEF,LSFMD 
20 FORMAT     ORDER - A/B03, A/B07, A/B11, A/B21, A/B24.
*ENDIF
21 FORMAT             A/B23.                                             FMD
*                                                                        FMD
/         (XXX3) CONTROL CODE.                                           FMD
*                                                                        FMD
*IF DEF,SFMD
22 FORMAT     ORDER - A/B03, A/B24, A/B28, A/B38, A/B31,                 FMD14
*ENDIF
*IF DEF,PFMD
22 FORMAT     ORDER - A/B02, A/B24, A/B28, A/B38, A/B31,
*ENDIF
*IF DEF,LSFMD 
22 FORMAT     ORDER - A/B03, A/B24, A/B28, A/B38, A/B31,
*ENDIF
23 FORMAT             A/B39, A/B21, A/B07, A/B11. 
*                                                                        FMD
/         (XXX4) CONTROL CODE.                                           FMD
*                                                                        FMD
*IF DEF,SFMD
24 FORMAT     ORDER - A/B03, A/B38, A/B28.                               FMD14
*ENDIF
*IF DEF,PFMD
24 FORMAT     ORDER - A/B02, A/B38, A/B28.
*ENDIF
*IF DEF,LSFMD 
24 FORMAT     ORDER - A/B03, A/B38, A/B28.
*ENDIF
*                                                                        FMD
/         (XXX5) CONTROL CODE.                                           FMD
*                                                                        FMD
*IF DEF,SFMD
25 FORMAT     ORDER - A/B03, A/B23, A/B33, A/B35, A/B36.                 FMD14
*ENDIF
*IF DEF,PFMD
25 FORMAT     ORDER - A/B02, A/B23, A/B33, A/B35, A/B36.
*ENDIF
*IF DEF,LSFMD 
25 FORMAT     ORDER - A/B03, A/B23, A/B33, A/B35, A/B36.
*ENDIF
*                                                                        FMD
/         (XXX6) CONTROL CODE.                                           FMD
*                                                                        FMD
*IF DEF,SFMD
26 FORMAT     ORDER - A/B02 - CH I, A/B04 - CH II.
*ENDIF
*IF DEF,PFMD
26 FORMAT     ORDER - A/B01 - CH I, A/B03 - CH II.
*ENDIF
*IF DEF,LSFMD 
26 FORMAT     ORDER - A/B02, - CH I, A/B04 - CH II. 
*ENDIF
* 
/         (X1XX) CONTROL CODE 
* 
27 FORMAT *H. RUN CONTROLLER DIAGNOSTIC.
*                                                                        FMD
/         PROCESS ISOLATION INFORMATION FOR MODULE 01.                   FMD
*                                                                        FMD
40 B4=1                      *SET STARTING NUMBER FOR MSG                FMD
   IF(B2 EQ 0) GOTO 74       *IF NO ISOLATION INFORMATION                FMD
   B1=B1+2                   *INCREMENT DISPLAY LINE NUMBER              FMD
   IF(B2 AND 4000 EQ 0) GOTO 42  *IF BIT NOT SET FOR MSG                 FMD
   MSG 1 (B4) TO LINE B1       *TRANSFER MESSAGE TO DISPLAY              FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B4=B4+1                   *INCREMENT NUMBER FOR MESSAGE               FMD
*                                                                        FMD
42 IF(B2 AND 2000 EQ 0) GOTO 44  *IF BIT NOT SET FOR MSG                 FMD
   MSG 2 (B4) TO LINE B1     *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 3 TO LINE B1          *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B4=B4+1                   *INCREMENT NUMBER FOR MESSAGE               FMD
*                                                                        FMD
44 IF(B2 AND 1000 EQ 0) GOTO 46  *IF BIT NOT SET FOR MSG                 FMD
   MSG 4 (B4) TO LINE B1       *TRANSFER MESSAGE TO DISPLAY              FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B4=B4+1                   *INCREMENT NUMBER FOR MESSAGE               FMD
*                                                                        FMD
46 IF(B2 AND 400 EQ 0) GOTO 50  *IF BIT NOT SET FOR MSG                  FMD
   MSG 5 (B4) TO LINE B1       *TRANSFER MESSAGE TO DISPLAY              FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 6 TO LINE B1          *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B4=B4+1                   *INCREMENT NUMBER FOR MESSAGE               FMD
   MSG 7 (B4) TO LINE B1     *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 10 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B4=B4+1                   *INCREMENT NUMBER FOR MESSAGE               FMD
   MSG 11 (B4) TO LINE B1    *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 12 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   GOTO 74                   *GO TO DISPLAY ERROR MESSAGE                FMD
*                                                                        FMD
50 IF(B2 AND 200 EQ 0) GOTO 51  *IF BIT NOT SET FOR MSG 
   MSG 13 (B4) TO LINE B1      *TRANSFER MESSAGE TO DISPLAY              FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 14 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 15 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B4=B4+1                   *INCREMENT NUMBER FOR MESSAGE               FMD
* 
51 IF(B2 AND 100 EQ 0) GOTO 52  *IF BIT NOT SET FOR MSG 
   MSG 27 (B4) TO LINE B1    *TRANSFER NESSAGE TO DISPLAY 
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER 
   B4=B4+1                   *INCREMENT NUMBER FOR MESSAGE
*                                                                        FMD
52 B3=B2 AND 7               *B3 EQUALS NUMBER FOR MESSAGE               FMD
   IF(B3 EQ 0) GOTO 74       *IF NO MESSAGE REQUIRED                     FMD
   MSG 16 (B4) TO LINE B1    *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B2=17                     *NUMBER OF FORMAT STATEMENT                 FMD
   IF(B3 EQ 1) GOTO 62       *IF NUMBER EQUALS 1                         FMD
   B2=20                     *NUMBER OF FORMAT STATEMENT                 FMD
   IF(B3 EQ 2) GOTO 60       *IF NUMBER EQUALS 2                         FMD
   B2=22                     *NUMBER OF FORMAT STATEMENT                 FMD
   IF(B3 EQ 3) GOTO 60       *IF NUMBER EQUALS 3                         FMD14
   B2=24                     *NUMBER OF FORMAT STATEMENT                 FMD14
   IF(B3 EQ 4) GOTO 62       *IF NUMBER EQUALS 4                         FMD
   B2=25                     *NUMBER OF FORMAT STATEMENT                 FMD14
   IF(B3 EQ 5) GOTO 62       *IF NUMBER EQUALS 5                         FMD
   B2=26                     *NUMBER OF FORMAT STATEMENT                 FMD14
   GOTO 62
*                                                                        FMD
60 MSG B2 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B2=B2+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
62 MSG B2 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
*                                                                        FMD
/         REPORT ERROR TO THE OPERATOR.                                  FMD
*                                                                        FMD
74 PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 40                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98L,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98L,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98L,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98L - PROCESS ISOLATION INFORMATION TO TEST 1.              FMD
*ENDIF
*IF DEF,PFMD
*         FHD98L - PROCESS ISOLATION INFORMATION TO TEST 1. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98L - PROCESS ISOLATION INFORMATION TO TEST 1. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD98L PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS DETECTED IN PRIMARY MODULE FMD03.                   FMD
*ENDIF
*IF DEF,PFMD
*         FHD98L PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS DETECTED IN PRIMARY MODULE FHD03.
*ENDIF
*IF DEF,LSFMD 
*         FLD98L PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS DETECTED IN PRIMARY MODULE FLD03.
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         A MESSAGE OF FROM THREE TO EIGHT LINES IN LENGTH WILL BE       FMD
*         APPENDED ONE LINE AFTER THE END OF THE ERROR MESSAGE.          FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - CONTROL CODE FOR ISOLATION INFORMATION.          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*         B4 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - CONTROL CODE FOR ISOLATION INFO.                 FMD
*         B3 REGISTER - TEMPORARY STORAGE.                               FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - NOT USED.                                       FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
1  FORMAT *H. CHECK FOR LOOSE CABLES OR OPEN CABLE DETECT.
/  (4000)                                                                FMD
2  FORMAT *H. CHECK CHANNEL ENABLE SWITCHES FOR                          FMD
3  FORMAT     APPROPRIATE CHANNEL ENABLED.                               FMD
/  (2000)                                                                FMD
4  FORMAT *H. VERIFY HDA IS READY AND ON CYLINDER. IF NOT,               FMD
5  FORMAT     USE HDA SEQUENCE TROUBLE SHOOTING MAP.                     FMD
/  (1000)                                                                FMD
6  FORMAT *H. CHECK IF DEVICE UP TO SPEED AND READY                      FMD
7  FORMAT     INDICATOR LIT. IF NOT, GO TO TABLE 3-1
10 FORMAT     IN TROUBLE SHOOTING GUIDE.
/  (001X) 
11 FORMAT *H. REPLACE PWBS ONE AT A TIME IN THE FOLLOWING                FMD
/  (0001) 
*IF DEF,SFMD
12 FORMAT     ORDER - A/B03, CH I OR CH II,                              FMD
*ENDIF
*IF DEF,PFMD
12 FORMAT     ORDER - A/B02, CH I OR CH II, 
*ENDIF
*IF DEF,LSFMD 
12 FORMAT     ORDER - A/B03, CH I OR CH II, 
*ENDIF
13 FORMAT             A/B20, CH I OR CH II.                              FMD
/  (0002) 
*IF DEF,SFMD
14 FORMAT     ORDER - A/B23, A/B22, A/B24, A/B16.                        FMD
*ENDIF
*IF DEF,PFMD
14 FORMAT     ORDER - A/B23, A/B22, A/B24, A/B30. 
*ENDIF
*IF DEF,LSFMD 
14 FORMAT     ORDER - A/B23, A/B22, A/B24, A/B16. 
*ENDIF
/  (0003) 
15 FORMAT     ORDER - A/B11.                                             FMD
/  (0004) 
*IF DEF,SFMD
16 FORMAT     ORDER - A/B03, A/B24, A/B28, A/B38, A/B11.
*ENDIF
*IF DEF,PFMD
16 FORMAT     ORDER - A/B02, A/B24, A/B28, A/B38, A/B11.
*ENDIF
*IF DEF,LSFMD 
16 FORMAT     ORDER - A/B03, A/B24, A/B28, A/B38, A/B11.
*ENDIF
/  (0005) 
*IF DEF,SFMD
17 FORMAT     ORDER - A/B03, A/B38.                                      FMD
*ENDIF
*IF DEF,PFMD
17 FORMAT     ORDER - A/B02, A/B38. 
*ENDIF
*IF DEF,LSFMD 
17 FORMAT     ORDER - A/B03, A/B38. 
*ENDIF
/  (0006) 
*IF DEF,SFMD
20 FORMAT     ORDER - A/B03, A/B23, A/B33, A/B34.                        FMD
*ENDIF
*IF DEF,PFMD
20 FORMAT     ORDER - A/B02, A/B23, A/B33, A/B34. 
*ENDIF
*IF DEF,LSFMD 
20 FORMAT     ORDER - A/B03, A/B23, A/B33, A/B34. 
*ENDIF
/  (0007) 
*IF DEF,SFMD
21 FORMAT     ORDER - A/B20, A/B21, A/B23, A/B03.                        FMD
*ENDIF
*IF DEF,PFMD
21 FORMAT     ORDER - A/B20, A/B21, A/B23, A/B02. 
*ENDIF
*IF DEF,LSFMD 
21 FORMAT     ORDER - A/B20, A/B21, A/B23, A/B03. 
*ENDIF
/  (0010) 
22 FORMAT     ORDER - A/B20, A/B21, A/B23.                               FMD
/  (X4XX) 
23 FORMAT *H. RUN CONTROLLER DIAGNOSTIC.
*                                                                        FMD
/         PROCESS ISOLATION INFORMATION FOR MODULE 02.                   FMD
*                                                                        FMD
40 B4=1                      *SET STARTING NUMBER FOR MSG                FMD
   IF(B2 EQ 0) GOTO 74       *IF NO ISOLATION INFORMATION                FMD
   B1=B1+2                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 1 (B4) TO LINE B1     *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B4=B4+1                   *INCREMENT NUMBER FOR MESSAGE               FMD
   IF(B2 AND 4000 EQ 0) GOTO 42  *IF BIT NOT SET FOR MSG                 FMD
   MSG 2 (B4) TO LINE B1       *TRANSFER MESSAGE TO DISPLAY              FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 3 TO LINE B1          *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B4=B4+1                   *INCREMENT NUMBER FOR MESSAGE               FMD
*                                                                        FMD
42 IF(B2 AND 2000 EQ 0) GOTO 44  *IF BIT NOT SET FOR MSG                 FMD
   MSG 4 (B4) TO LINE B1     *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 5 TO LINE B1          *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B4=B4+1                   *INCREMENT NUMBER FOR MESSAGE               FMD
*                                                                        FMD
44 IF(B2 AND 1000 EQ 0) GOTO 46  *IF BIT NOT SET FOR MSG                 FMD
   MSG 6 (B4) TO LINE B1       *TRANSFER MESSAGE TO DISPLAY              FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 7 TO LINE B1          *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 10 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B4=B4+1                   *INCREMENT NUMBER FOR MESSAGE               FMD
*                                                                        FMD
46 IF(B2 AND 400 EQ 0) GOTO 50  *IF BIT NOT SET FOR MSG 
   MSG 23 (B4) TO LINE B1    *TRANSFER MESSAGE TO DISPLAY 
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B4=B4+1                   *INCREMENT NUMBER FOR MESSAGE
* 
50 B2=B2 AND 17              *B2 EQUALS NUMBER FOR MESSAGE
   IF(B2 EQ 0) GOTO 74       *IF NO MESSAGE REQUIRED
   MSG 11 (B4) TO LINE B1    *TRANSFER MESSAGE TO DISPLAY 
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER 
*                                                                        FMD
   B3=12                        *NUMBER OF FORMAT STATEMENT              FMD
   IF(B2 EQ 1) GOTO 60       *IF NUMBER EQUALS 1
   B3=14                        *NUMBER OF FORMAT STATEMENT              FMD
   IF(B2 EQ 2) GOTO 62       *IF NUMBER EQUALS 2
   B3=15                        *NUMBER OF FORMAT STATEMENT              FMD
   IF(B2 EQ 3) GOTO 62       *IF NUMBER EQUALS 3
   B3=16                       *NUMBER OF FORMAT STATEMENT               FMD
   IF(B2 EQ 4) GOTO 62       *IF NUMBER EQUALS 4
   B3=17                       *NUMBER OF FORMAT STATEMENT               FMD
   IF(B2 EQ 5) GOTO 62       *IF NUMBER EQUALS 5
   B3=20                       *NUMBER OF FORMAT STATEMENT               FMD
   IF(B2 EQ 6) GOTO 62       *IF NUMBER EQUALS 6
   B3=21                      *NUMBER OF FORMAT STATEMENT                FMD
   IF(B2 EQ 7) GOTO 62       *IF NUMBER EQUALS 7
   B3=22                      *NUMBER OF FORMAT STATEMENT                FMD
   IF(B2 EQ 10) GOTO 62      *IF NUMBER EQUALS 10 
   GOTO 74                    *IF MESSAGE IS COMPLETE                    FMD
*                                                                        FMD
60 MSG B3 TO LINE B1           *TRANSFER MESSAGE TO DISPLAY              FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B3=B3+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
62 MSG B3 TO LINE B1           *TRANSFER MESSAGE TO DISPLAY              FMD
*                                                                        FMD
/         REPORT ERROR TO OPERATOR                                       FMD
*                                                                        FMD
74 PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 40                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98M,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98M,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98M,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98M - PROCESS ERRORS FOR TEST 2.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD98M - PROCESS ERRORS FOR TEST 2. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98M - PROCESS ERRORS FOR TEST 2. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 02000, 02001, 02002,   FMD06
*         AND 02003.                                                     FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE FIRST THREE LINES FOR THE ERROR DISPLAY WILL BE PLACED IN  FMD
*         THE DISPLAY BUFFER.  IF THE ERROR CODE NUMBER IN THE EC        FMD
*         REGISTER IS A PRODUCT OVERLAY ERROR CODE, THE MODULE WILL EXIT FMD
*IF DEF,SFMD
*         TO THE FMD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE FMD
*ENDIF
*IF DEF,PFMD
*         TO THE FHD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*IF DEF,LSFMD 
*         TO THE FLD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*         ERROR. THE ERROR CODE LINE WILL BE PLACED IN THE DISPLAY       FMD
*         BUFFER. IF THE EC REGISTER CONTAINS THE ERROR CODES 00, OR 01, FMD
*         OR 02, OR 03, THE ERROR DISPLAY WILL BE BUILT FOR THE ERROR.   FMD
*         IF THE EC REGISTER DOES NOT CONTAIN ONE OF THESE ERROR CODES,  FMD
*IF DEF,SFMD
*         THE MODULE WILL EXIT TO THE FMD98N MODULE.                     FMD
*ENDIF
*IF DEF,PFMD
*         THE MODULE WILL EXIT TO THE FHD98N MODULE.
*ENDIF
*IF DEF,LSFMD 
*         THE MODULE WILL EXIT TO THE FLD98N MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD98R TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD98R TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD98R TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98B -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98B - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98B - 
*ENDIF
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         THE FIRST THREE LINES OF THE ERROR DISPLAY PLACED IN THE       FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98N -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98N - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98N - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98R -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98R - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98R - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE FORMAT STATEMENT OF THE ISOLATION  FMD
*                       INFORMATION.                                     FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98N - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98N - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98N - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CALLING MODULE NUMBER.                           FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - EXPECTED BUS IN.                                FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*IF DEF,SFMD
0  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
1  FORMAT FMD04 - ILLEGAL COMMAND TEST                                   FMD
2  FORMAT FMD05 - FMD PARITY TEST 
3  FORMAT FMD06 - ECHO BUS OUT TEST                                      FMD
4  FORMAT FMD07 - ECHO DECODE TEST                                       FMD
5  FORMAT FMD98C - READY AND SAFE CHECK                                  FMD
6  FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD05
7  FORMAT FMD*D - LINE *OCT ERROR CODE 02*HE                             FMD
10 FORMAT FMD98C - LINE *OCT ERROR CODE 02*HE                            FMD
*ENDIF
*IF DEF,PFMD
0  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FHD04 - ILLEGAL COMMAND TEST
2  FORMAT FHD05 - FHD PARITY TEST 
3  FORMAT FHD06 - ECHO BUS OUT TEST 
4  FORMAT FHD07 - ECHO DECODE TEST
5  FORMAT FHD98C - READY AND SAFE CHECK 
6  FORMAT PRESERVICE FORECAST GROUP FHDD
7  FORMAT FHD*D - LINE *OCT ERROR CODE 02*HE
10 FORMAT FHD98C - LINE *OCT ERROR CODE 02*HE 
*ENDIF
*IF DEF,LSFMD 
0  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FLD04 - ILLEGAL COMMAND TEST
2  FORMAT FLD05 - FLD PARITY TEST 
3  FORMAT FLD06 - ECHO BUS OUT TEST 
4  FORMAT FLD07 - ECHO DECODE TEST
5  FORMAT FLD98C - READY AND SAFE CHECK 
6  FORMAT PRESERVICE FORECAST GROUP FMDD
7  FORMAT FLD*D - LINE *OCT ERROR CODE 02*HE
10 FORMAT FLD98C - LINE *OCT ERROR CODE 02*HE 
*ENDIF
*                                                                        FMD
/         02000 ERROR MESSAGE.                                           FMD
*                                                                        FMD
11 FORMAT STATUS VALID WAS NOT RETURNED FROM THE DEVICE                  FMD
12 FORMAT DURING CMD SEQUENCE OF ISSUING ALL ILLEGAL CMDS.               FMD
*                                                                        FMD
/         02001 ERROR MESSAGE.                                           FMD
*                                                                        FMD
13 FORMAT AN ILLEGAL CMD WAS ISSUED, BUT READY AND SAFE                  FMD
14 FORMAT LINE DOES NOT DEACTIVATE (ILLEGAL CMD NOT                      FMD
15 FORMAT DETECTED AS FAULT).                                            FMD
*                                                                        FMD
/         02002 ERROR MESSAGE.                                           FMD
*                                                                        FMD
16 FORMAT AN ILLEGAL CMD WAS ISSUED TO THE DEVICE WHICH                  FMD04
17 FORMAT SHOULD CAUSE ECHO MODE TO BE SET. THIS SHOULD                  FMD
20 FORMAT PLACE THE CMD THAT WAS ISSUED BACK ON THE BUS IN.              FMD
21 FORMAT AN ILLEGAL CMD WAS ISSUED BUT WAS NOT RECEIVED                 FMD
22 FORMAT BACK ON BUS IN.                                                FMD
*                                                                        FMD
/         02003 ERROR MESSAGE.                                           FMD
*                                                                        FMD
23 FORMAT SELECT AND RESERVE DID NOT BECOME ACTIVE AFTER                 FMD
24 FORMAT DROPPING AND RAISING SELECT.                                   FMD
*                                                                        FMD
/         STATUS INFORMATION MESSAGE.                                    FMD
*                                                                        FMD
27 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 MSG 0 TO LINE 1           *DIAGNOSTIC TITLE MESSAGE                   FMD
   B1=B0-3                   *CALL MODULE NAME MESSAGE                   FMD
   MSG B1 TO LINE 2          *MODULE NUMBER AND NAME MESSAGE             FMD
   MSG 6 TO LINE 3           *PRESERVICE FORECAST MESSAGE                FMD05
   IF(EC GT 3777) EXIT TO 98B  *IF PRODUCT OVERLAY ERROR                 FMD
   IF(B1 EQ 4) GOTO 34         *IF READY AND SAFE ERROR                  FMD
   MSG 7 (B0,EA,EC) TO LINE 5  *ERROR CODE TO DISPLAY                    FMD
   GOTO 36                     *GO TO PROCESS ERROR MESSAGE              FMD
34 MSG 10 (EA,EC) TO LINE 5    *ERROR CODE TO DISPLAY                    FMD
36 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=1                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 0) GOTO 50       *IF ERROR CODE 02000                        FMD
   B2=36                     *SET INFORMATION FLAG FOR ERROR             FMD14
   IF(EC EQ 1) GOTO 44       *IF ERROR CODE 02001                        FMD
   B2=3                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 2) GOTO 40       *IF ERROR CODE 02002                        FMD
   B2=4                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 3) GOTO 50       *IF ERROR CODE 02003                        FMD
   EXIT TO 98N               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODE 02002.                                      FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 02001.                                     FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 02000 AND 02003.                           FMD
*                                                                        FMD
50 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC NE 2) GOTO 54       *IF NOT ERROR CODE 02002                    FMD
   B0=B12 XOR SB(CBIS)       *SET FALING BITS                            FMD
   MSG 27 (B12,SB(CBIS)B0) TO LINE 7  *STATUS DISPLAY                    FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
54 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 98R  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98N,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98N,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98N,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98N - PROCESS ERRORS FOR TEST 2.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD98N - PROCESS ERRORS FOR TEST 2. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98N - PROCESS ERRORS FOR TEST 2. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 02004, 02005, 02006,   FMD06
*         02007, 02008, 02009, 0200A, 0200C, 0200E, AND 0200F.           FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 04, OR 05, OR 06,  FMD
*         OR 07, OR 08, OR 09, OR 0A, OR 0C, OR 0E, OR 0F, THE ERROR     FMD
*         DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER DOES   FMD
*         NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO  FMD
*IF DEF,SFMD
*         THE FMD98O MODULE.                                             FMD
*ENDIF
*IF DEF,PFMD
*         THE FHD98O MODULE.
*ENDIF
*IF DEF,LSFMD 
*         THE FLD98O MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD98R TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD98R TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD98R TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINE OF THE ERROR DISPLAY PLACED IN THE DISPLAY FMD
*         BUFFER BY THE CALLING MODULE.                                  FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98O -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98O - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98O - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98R -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98R - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98R - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE FORMAT STATEMENT OF THE ISOLATION  FMD
*                       INFORMATION.                                     FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98O - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98O - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98O - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         02004 ERROR MESSAGE.                                           FMD
*                                                                        FMD
0  FORMAT AFTER ISSUING AN ILLEGAL CMD, READY AND SAFE DID               FMD
1  FORMAT NOT BECOME ACTIVE AFTER DROPPING AND RAISING                   FMD10
2  FORMAT SELECT.                                                        FMD
*                                                                        FMD
/         02005 ERROR MESSAGE.                                           FMD
*                                                                        FMD
3  FORMAT STATUS VALID WAS NOT ACTIVE AFTER ISSUING A 4C                 FMD
4  FORMAT CMD WITH BUS OUT EQUAL TO 20 IN ECHO BUS MODE.                 FMD
*                                                                        FMD
/         02006 ERROR MESSAGE.                                           FMD
*                                                                        FMD
5  FORMAT THE READY AND SAFE LINE WAS NOT ACTIVE AFTER                   FMD
6  FORMAT ISSUING A 4C CMD WITH BUS OUT EQUAL TO 20 IN ECHO              FMD
7  FORMAT BUS MODE.                                                      FMD
*                                                                        FMD
/         02007 ERROR MESSAGE.                                           FMD
*                                                                        FMD
10 FORMAT AFTER ISSUING A 4C CMD WITH BUS EQUAL TO 20, BUS               FMD
11 FORMAT IN WAS NOT EQUAL TO 20 IN ECHO BUS MODE.                       FMD
*                                                                        FMD
/         02008 ERROR MESSAGE.                                           FMD
*                                                                        FMD
12 FORMAT WHILE ISSUING A LEGAL 40 CMD IN ECHO BUS MODE,                 FMD
13 FORMAT STATUS VALID WAS NOT RETURNED FROM THE DEVICE.                 FMD
*                                                                        FMD
/         02009 ERROR MESSAGE.                                           FMD
*                                                                        FMD
14 FORMAT WHILE ISSUING A LEGAL COMMAND (40) IN ECHO BUS                 FMD
15 FORMAT MODE, READY AND SAFE BECAME NOT ACTIVE.                        FMD
*                                                                        FMD
/         0200A ERROR MESSAGE.                                           FMD
*                                                                        FMD
16 FORMAT WHILE IN ECHO BUS MODE, BUS IN DID NOT EQUAL THE               FMD
17 FORMAT BUS OUT ISSUED.                                                FMD
*                                                                        FMD
/         0200C ERROR MESSAGE.                                           FMD
*                                                                        FMD
20 FORMAT AFTER DROPPING AND RAISING SELECT TO CLEAR ECHO                FMD
21 FORMAT BUS MODE, READY AND SAFE WAS NOT ACTIVE.                       FMD
*                                                                        FMD
/         0200E ERROR MESSAGE                                            FMD
*                                                                        FMD
22 FORMAT AFTER ISSUING A ECHO CMD 4C, BUS OUT EQUAL TO 40,              FMD
23 FORMAT STATUS VALID WAS RETURNED.                                     FMD
*                                                                        FMD
/         0200F ERROR MESSAGE                                            FMD
*                                                                        FMD
24 FORMAT AFTER ISSUING A ECHO CMD, 4C, BUS OUT EQUAL TO 40,             FMD
25 FORMAT A READY AND SAFE FAULT WAS INDICATED.                          FMD
*                                                                        FMD
/         STATUS INFORMATION MESSAGE.                                    FMD
*                                                                        FMD
27 FORMAT COMMAND STATUS ERROR  E00*H  A00*H  D00*H                      FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=2                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 4) GOTO 34       *IF ERROR CODE 02004                        FMD
   B2=5                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 5) GOTO 40       *IF ERROR CODE 02005                        FMD
   B2=2                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 6) GOTO 40       *IF ERROR CODE 02006                        FMD
   B2=6                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 7) GOTO 40       *IF ERROR CODE 02007                        FMD
   B2=5                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 10) GOTO 40      *IF ERROR CODE 02008                        FMD
   B2=2                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 11) GOTO 40      *IF ERROR CODE 02009                        FMD
   B2=7                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 12) GOTO 40      *IF ERROR CODE 0200A                        FMD
   B2=5                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 14) GOTO 40      *IF ERROR CODE 0200C                        FMD
   B2=5                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 16) GOTO 40      *IF ERROR CODE 0200E                        FMD
   B2=2                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 17) GOTO 40      *IF ERROR CODE 0200F                        FMD
   EXIT TO 98O               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODE 02004.                                      FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 02005, 02006, 02007, 02008,                FMD
/         02009, 0200A, 0200C, 0200E, AND 0200F.                         FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC NE 6) GOTO 44       *IF NOT ERROR CODE 01006                    FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
44 IF(EC NE 12) GOTO 50      *IF NOT ERROR CODE 0100A                    FMD
   B0=B12 XOR SB(CBIS)       *DIFFERENCE IN BITS                         FMD
   MSG 27 (B12,SB(CBIS),B0) TO LINE 7  *STATUS DISPLAY                   FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 98R  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98O,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98O,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98O,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98O - PROCESS ERRORS FOR TEST 2.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD98O - PROCESS ERRORS FOR TEST 2. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98O - PROCESS ERRORS FOR TEST 2. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 02010, 02011, 02012,   FMD06
*         02013, 02014, 02015, 02016, AND 02017.                         FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE ERROR DISPLAY WILL BE BUILT FOR ERROR CODES 10, 11, 12,    FMD
*         13, 14, 15, 16, AND 17.  IF THE EC REGISTER DOES NOT CONTAIN   FMD
*IF DEF,SFMD
*         ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FMD98P   FMD
*ENDIF
*IF DEF,PFMD
*         ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FHD98P
*ENDIF
*IF DEF,LSFMD 
*         ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FLD98P
*ENDIF
*         MODULE.                                                        FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD98R TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD98R TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD98R TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         EXIT TO CALLING PRIMARY MODULE-                                FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98P -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98P - 
*ENDIF
*IF DEF,LSFMD 
*          IF EXIT TO FLD98P -
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98R -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98R - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98R - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE FORMAT STATEMENT OF THE ISOLATION  FMD
*                       INFORMATION.                                     FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98P - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98P - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98P - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         02010 ERROR MESSAGE                                            FMD
*                                                                        FMD
0  FORMAT AFTER ISSUING A ECHO CMD, 4C, BUS OUT EQUAL TO 40,             FMD
1  FORMAT BUS IN WAS NOT EQUAL TO 4C INDICATING ECHO COMMAND             FMD10
2  FORMAT MODE NOT SET.                                                  FMD
*                                                                        FMD
/         02011 ERROR MESSAGE                                            FMD
*                                                                        FMD
3  FORMAT WHILE ISSUING CMDS 40-4F OR 80-8F IN ECHO CMD                  FMD
4  FORMAT MODE, STATUS VALID WAS NOT RETURNED FROM DEVICE.               FMD
*                                                                        FMD
/         02012 ERROR MESSAGE                                            FMD
*                                                                        FMD
5  FORMAT WHILE ISSUING CMDS 40-4F OR 80-8F IN ECHO CMD                  FMD
6  FORMAT MODE, A READY AND SAFE FAILURE WAS DETECTED.                   FMD
*                                                                        FMD
/         02013 ERROR MESSAGE                                            FMD
*                                                                        FMD
7  FORMAT WHILE ISSUING CMDS 40-4F OR 80-8F IN ECHO CMD                  FMD
10 FORMAT MODE, BUS IN FAILED TO EQUAL THE CMD ISSUED.                   FMD
*                                                                        FMD
/         02014 ERROR MESSAGE.                                           FMD
*                                                                        FMD
11 FORMAT AFTER DROPPING AND RAISING SELECT, SELECT AND                  FMD
12 FORMAT RESERVED WAS NOT ACTIVE.                                       FMD
*                                                                        FMD
/         02015 ERROR MESSAGE                                            FMD
*                                                                        FMD
13 FORMAT AFTER ISSUING A 4C CMD WITH BUS OUT EQUAL TO ZERO,             FMD
14 FORMAT STATUS VALID WAS NOT RETURNED.                                 FMD
*                                                                        FMD
/         02016 ERROR MESSAGE                                            FMD
*                                                                        FMD
15 FORMAT AFTER ISSUING A 4C CMD WITH BUS OUT EQUAL TO ZERO,             FMD
16 FORMAT A READY AND SAFE FAULT WAS INDICATED.                          FMD
*                                                                        FMD
/         02017 ERROR MESSAGE                                            FMD
*                                                                        FMD
17 FORMAT AFTER ISSUING A 4C CMD WITH BUS OUT EQUAL TO ZERO,             FMD
20 FORMAT BUS IN INDICATED ECHO CMD MODE STILL ACTIVE.                   FMD
21 FORMAT THIS SHOULD HAVE BEEN CLEARED PREVIOUSLY BY                    FMD
22 FORMAT DROPPING SELECT LINE.                                          FMD
*                                                                        FMD
/         STATUS INFORMATION MESSAGE.                                    FMD
*                                                                        FMD
23 FORMAT COMMAND ISSUED = *H                                            FMD
24 FORMAT COMMAND ISSUED = *H, BUS IN = *H                               FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE CBIS=22                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 20) GOTO 36      *IF ERROR CODE 02010                        FMD
   B2=5                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 21) GOTO 40      *IF ERROR CODE 02011                        FMD
   B2=11                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 22) GOTO 40      *IF ERROR CODE 02012                        FMD
   B2=12                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 23) GOTO 40      *IF ERROR CODE 02013                        FMD
   B2=4                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 24) GOTO 40      *IF ERROR CODE 02014                        FMD
   B2=11                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 25) GOTO 40      *IF ERROR CODE 02015                        FMD
   B2=5                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 26) GOTO 40      *IF ERROR CODE 02016                        FMD
   B2=13                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 27) GOTO 34      *IF ERROR CODE 02017                        FMD
   EXIT TO 98P               *EXIT TO EXIT ERROR MODULE                  FMD
*                                                                        FMD
/         PROCESS ERROR CODE 02017.                                      FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODE 02010.                                      FMD
*                                                                        FMD
36 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 02011, 02012, 02013, 02014,                FMD
/         02015, AND 02016.                                              FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC NE 22) GOTO 44      *IF NOT ERROR CODE 02012                    FMD
   MSG 23 (B12) TO LINE 7    *DISPLAY COMMAND ISSUED                     FMD
   GOTO 50                   *GO TO DISPLAY THE ERROR                    FMD
44 IF(EC NE 23) GOTO 50      *IF NOT ERROR CODE 02013                    FMD
   MSG 24 (B12,SB(CBIS)) TO LINE 7  *DISPLAY STATUS                      FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 98R  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98P,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98P,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98P,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98P - PROCESS ERRORS FOR TEST 2.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD98P - PROCESS ERRORS FOR TEST 2. 
*ENDIF
*IF DEF,LSFMD 
*         PROCESS ERRORS FOR TEST 2.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 02022, 02023, 02024,   FMD
*         02025, 02026, 02027, 02028, 02029, 0202B, 0202C, 0202D, 02030, FMD
*         02032, AND 02033.                                              FMD
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE ERROR CODE DISPLAY WILL BE BUILT FOR ERROR CODES 02022,    FMD
*         02023, 02024, 02025, 02026, 02027, 02028, 02029, 0202B, 0202C, FMD
*         0202D, 02030, 02032, AND 02033.  IF THE EC REGISTER DOES NOT   FMD
*         CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE  FMD
*IF DEF,SFMD
*         FMD98Q MODULE.                                                 FMD
*ENDIF
*IF DEF,PFMD
*         FHD98Q MODULE.
*ENDIF
*IF DEF,LSFMD 
*         FLD98Q MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD98R TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD98R TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD98R TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY IN THE DISPLAY       FMD
*         BUFFER.                                                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         EXIT TO CALLING PRIMARY MODULE-                                FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*         B4 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98Q -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98Q - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98Q - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B3 REGISTER DESTROYED.                                         FMD
*         B4 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98R -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98R - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98R - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE FORMAT STATEMENT OF THE ISOLATION  FMD
*                       INFORMATION.                                     FMD
*         B3 REGISTER DESTROYED.                                         FMD
*         B4 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98Q - PROCESS ERRORS.                                       FMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98Q - PROCESS ERRORS.
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98Q - PROCESS ERRORS.
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - TEMPORARY STORAGE.                               FMD
*         B4 REGISTER - TEMPORARY STORAGE.                               FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         02022 - 02033 ERROR MESSAGE (FIRST LINE).                      FMD
*                                                                        FMD
1  FORMAT AFTER ISSUING AN *H CMD WITH BUS OUT EQUAL TO                  FMD
*                                                                        FMD
/         02022 - 0202C ERROR MESSAGE (SECOND LINE).                     FMD10
*                                                                        FMD
2  FORMAT ZERO, BUS IN BIT *H WAS ACTIVE INDICATING A                    FMD
*                                                                        FMD
/         02022 ERROR MESSAGE.                                           FMD
*                                                                        FMD
3  FORMAT HEAD SHORT ERROR.                                              FMD
*                                                                        FMD
/         02023 ERROR MESSAGE.                                           FMD
*                                                                        FMD
4  FORMAT INDEX CHECK.                                                   FMD
*                                                                        FMD
/         02024 ERROR MESSAGE.                                           FMD
*                                                                        FMD
5  FORMAT CONTROL ERROR.                                                 FMD
*                                                                        FMD
/         02025 ERROR MESSAGE.                                           FMD
*                                                                        FMD
6  FORMAT WRITE TRANSITION ERROR.                                        FMD
*                                                                        FMD
/         02026 ERROR MESSAGE.                                           FMD
*                                                                        FMD
7  FORMAT WRITE CURRENT ERROR.                                           FMD
*                                                                        FMD
/         02027 ERROR MESSAGE.                                           FMD
*                                                                        FMD
10 FORMAT MULTI-HEAD ERROR.                                              FMD
*                                                                        FMD
/         02028 ERROR MESSAGE.                                           FMD
*                                                                        FMD
11 FORMAT WRITE OVERRUN.                                                 FMD
*                                                                        FMD
/         02029 ERROR MESSAGE.                                           FMD
*                                                                        FMD
12 FORMAT CAPABLE ENABLE ERROR.                                          FMD
*                                                                        FMD
/         0202B ERROR MESSAGE.                                           FMD
*                                                                        FMD
13 FORMAT WRITE IN OFFSET CONDITION.                                     FMD
*                                                                        FMD
/         0202C ERROR MESSAGE.                                           FMD
*                                                                        FMD
14 FORMAT WRITE OR READ OPERATION WITH NO CONTROL SELECT.                FMD
*                                                                        FMD
/         0202D AND 02033 ERROR MESSAGES.                                FMD
*                                                                        FMD
15 FORMAT ZERO, BUS IN BIT *H WAS ACTIVE, BUT EXTENDED                   FMD
16 FORMAT STATUS INDICATED NO FAULT CONDITION. THIS ERROR                FMD
17 FORMAT INDICATES A MULTIPLEX OR READY AND SAFE                        FMD
20 FORMAT GENERATION FAULT.                                              FMD
*                                                                        FMD
/         02030 ERROR MESSAGE.                                           FMD
*                                                                        FMD
21 FORMAT ZERO, BUS IN DID NOT EQUAL XXXX X111 INDICATING                FMD
22 FORMAT MOTOR NOT AT SPEED, DEVICE START SWITCH NOT ON,                FMD
23 FORMAT OR AIR SWITCH NOT MADE.                                        FMD
*                                                                        FMD
/         02032 ERROR MESSAGE.                                           FMD
*                                                                        FMD
24 FORMAT ZERO, BUS IN BIT 3 WAS NOT ACTIVE INDICATING A                 FMD
25 FORMAT SEQUENCE CHECK LATCH.                                          FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         DETERMINE THE NUMBER OF THE ERROR CODE.                        FMD
*                                                                        FMD
34 B1=13                     *SECOND LINE OF ERROR MESSAGE               FMD
   B0=0                      *FAILING BIT NUMBER                         FMD
   B3=214                    *COMMAND NUMBER EQUALS 8C                   FMD
   B2=16                     *ISOLATION MESSAGE NUMBER                   FMD
   IF(EC EQ 42) GOTO 54      *IF ERROR CODE 02022                        FMD
   B0=1                      *FAILING BIT NUMBER                         FMD
   B2=17                     *ISOLATION MESSAGE NUMBER                   FMD
   IF(EC EQ 43) GOTO 54      *IF ERROR CODE 02023                        FMD
   B0=2                      *FAILING BIT NUMBER                         FMD
   B2=20                     *ISOLATION MESSAGE NUMBER                   FMD
   IF(EC EQ 44) GOTO 54      *IF ERROR CODE 02024                        FMD
   B0=3                      *FAILING BIT NUMBER                         FMD
   B2=21                     *ISOLATION MESSAGE NUMBER                   FMD
   IF(EC EQ 45) GOTO 54      *IF ERROR CODE 02025                        FMD
   B0=4                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 46) GOTO 54      *IF ERROR CODE 02026                        FMD
   B0=5                      *FAILING BIT NUMBER                         FMD
   B2=22                     *ISOLATION MESSAGE NUMBER                   FMD
   IF(EC EQ 47) GOTO 54      *IF ERROR CODE 02027                        FMD
   B0=6                      *FAILING BIT NUMBER                         FMD
   B2=23                     *ISOLATION MESSAGE NUMBER                   FMD
   IF(EC EQ 50) GOTO 54      *IF ERROR CODE 02028                        FMD
   B0=7                      *FAILING BIT NUMBER                         FMD
   IF(EC EQ 51) GOTO 54      *IF ERROR CODE 02029                        FMD
   B0=6                      *FAILING BIT NUMBER                         FMD
   B3=215                    *COMMAND NUMBER EQUALS 8D                   FMD
   B2=24                     *ISOLATION MESSAGE NUMBER                   FMD
   IF(EC EQ 53) GOTO 54      *IF ERROR CODE 0202B                        FMD
   B0=7                      *FAILING BIT NUMBER                         FMD
   B2=20                     *ISOLATION MESSAGE NUMBER                   FMD
   IF(EC EQ 54) GOTO 54      *IF ERROR CODE 0202C                        FMD
   B0=3                      *FAILING BIT NUMBER                         FMD
   B2=25                     *ISOLATION MESSAGE NUMBER                   FMD
   B4=EM                     *ERRORM MESSAGE FORMAT NUMBER               FMD
   IF(EC EQ 55) GOTO 40      *IF ERROR CODE 0202D                        FMD
   B3=210                    *COMMAND NUMBER EQUALS 88                   FMD
   B2=27                     *ISOLATION MESSAGE NUMBER                   FMD
   IF(EC EQ 60) GOTO 44      *IF ERROR CODE 02030                        FMD
   B3=213                    *COMMAND NUMBER EQUALS 8B                   FMD
   B2=27                     *ISOLATION MESSAGE NUMBER                   FMD
   IF(EC EQ 62) GOTO 50      *IF ERROR CODE 02032                        FMD
   B3=216                    *COMMAND NUMBER EQUALS 8E                   FMD
   B0=5                      *FAILING BIT NUMBER                         FMD
   B2=25                     *ISOLATION MESSAGE NUMBER                   FMD
   IF(EC EQ 63) GOTO 40      *IF ERROR CODE 02033                        FMD
   EXIT TO 98Q                *EXIT TO NEXT ERROR MODULE                 FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0202D, 02030, 02032, AND                   FMD
/         02033.                                                         FMD
*                                                                        FMD
40 MSG B4 (B0) TO LINE B1    *TRANSFER MESSAGE TO DISPLAY                FMD
   B4=B4+1                   *INCRMENT FORMAT NUMBER                     FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
44 MSG B4 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B4=B4+1                   *INCRMENT FORMAT NUMBER                     FMD
50 MSG B4 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   B4=B4+1                   *INCRMENT FORMAT NUMBER                     FMD
   MSG B4 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   GOTO 60                   *GO TO COMPLETE ERROR DISPLAY               FMD
*                                                                        FMD
/         PROCESS ERROR CODES 02022, 02023, 02024, 02025,                FMD
/         02026, 02027, 02028, 02029, 0202B, AND 0202C.                  FMD
*                                                                        FMD
54 MSG 2 (B0) TO LINE B1     *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG EM TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
*                                                                        FMD
/         COMPLETE THE ERROR DISPLAY.                                    FMD
*                                                                        FMD
60 MSG 1 (B3) TO LINE 12       *FIRST LINE OF ERROR MESSAGE              FMD
   IF(P4 AND ENISO NE 0) EXIT TO 98R  *IF ISOLATION ENABLED              FMD
   PICTURE                    *DISPLAY ERROR INFORMATION                 FMD
   HALT                       *STOP ON ERROR                             FMD
   BLANK                      *CLEAR ERROR DISPLAY                       FMD
   EXIT                       *EXIT THE MODULE                           FMD
   END 34                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98Q,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98Q,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98Q,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98Q - PROCESS ERRORS FOR TEST 2.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD98Q - PROCESS ERRORS FOR TEST 2. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98Q - PROCESS ERRORS FOR TEST 2. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0201F, 02034, 02036,   FMD
*         02037, 02038, 02039, AND 0203A.                                FMD03
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE ERROR DISPLAY WILL BE BUILT FOR ERROR CODES 1F, 34, 36,    FMD
*         37, 38, 39, AND 3A.                                            FMD03
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD98R TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD98R TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD98R TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98R -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98R - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98R - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE FORMAT STATEMENT OF THE ISOLATION  FMD
*                       INFORMATION.                                     FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98R - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98R - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         FIRST LINES OF 0201F AND 02034 ERROR MESSAGES.                 FMD
*                                                                        FMD
0  FORMAT AFTER ISSUING AN 8E CMD WITH BUS OUT EQUAL TO                  FMD
1  FORMAT ZERO, BUS IN BIT *H WAS ACTIVE INDICATING A                    FMD
*                                                                        FMD
/         0201F ERROR MESSAGE.                                           FMD
*                                                                        FMD
2  FORMAT ACCESS CHECK STATUS.                                           FMD
*                                                                        FMD
/         02034 ERROR MESSAGE.                                           FMD
*                                                                        FMD
3  FORMAT SECTOR COMPARE ERROR.                                          FMD
*                                                                        FMD
/         02036 ERROR MESSAGE.                                           FMD
*                                                                        FMD
4  FORMAT READY AND SAFE WAS NOT ACTIVE AT THE START OF                  FMD10
5  FORMAT TEST 2. AFTER EXTENTED STATUS, NO FAULTS WERE                  FMD10
6  FORMAT INDICATED. THIS FAULT INDICATES A READY AND SAFE               FMD10
7  FORMAT GENERATION FAULT.                                              FMD10
*                                                                        FMD
/         02037 ERROR MESSAGE.                                           FMD
*                                                                        FMD
10 FORMAT A STATUS WORD 7 CMD (8E) WAS ISSUED AND RCVD BACK              FMD
11 FORMAT ON BUS IN INDICATING ECHO CMD MODE SET WHICH                   FMD
12 FORMAT INDICATES AN ILLEGAL CMD OR CMD PARITY ERROR.                  FMD
*                                                                        FMD
/         02038 ERROR MESSAGE                                            FMD
*                                                                        FMD
13 FORMAT BUS IN RETURNED FOR THE STATUS CMDS INDICATES                  FMD
14 FORMAT ECHO BUS MODE ACTIVE, WHICH INDICATES A BUS OUT                FMD
15 FORMAT PARITY ERROR.                                                  FMD
*                                                                        FMD03
/         02039 ERROR MESSAGE                                            FMD03
*                                                                        FMD03
16 FORMAT A CMD WITH BAD BUS OUT PARITY WAS ISSUED AND THE               FMD03
17 FORMAT READY AND SAFE LINE DID NOT DEACTIVATE (CMD WITH               FMD03
20 FORMAT BAD BUS OUT PARITY WAS NOT DETECTED AS A FAULT).               FMD03
*                                                                        FMD03
/         0203A ERROR MESSAGE                                            FMD03
*                                                                        FMD03
21 FORMAT AFTER ISSUING A CMD WITH BAD BUS OUT PARITY, READY             FMD03
22 FORMAT AND SAFE DID NOT BECOME ACTIVE AFTER DROPPING AND              FMD03
23 FORMAT RAISING THE SELECT LINE.                                       FMD03
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO =4000                                                    FMD
*                                                                        FMD
/         BUILD THE ERROR DISPLAY FOR THE ERROR MESSAGE.                 FMD
*                                                                        FMD
30 B1=12                     *ERROR MESSAGE DISPLAY LINE NO.             FMD
*                                                                        FMD
/         DETERMINE THE NUMBER OF THE ERROR CODE.                        FMD10
*                                                                        FMD
   B0=0                      *FAILING BIT NUMBER                         FMD
   B2=14                     *ISOLATION MESSAGE NUMBER                   FMD
   IF(EC EQ 37) GOTO 40      *IF ERROR CODE 0201F                        FMD
   B0=6                      *FAILING BIT NUMBER                         FMD
   B2=30                     *ISOLATION MESSAGE NUMBER                   FMD
   IF(EC EQ 64) GOTO 40      *IF ERROR CODE 02034                        FMD
   B2=32                     *ISOLATION MESSAGE NUMBER                   FMD
   IF(EC EQ 66) GOTO 44      *IF ERROR CODE 02036                        FMD
   B2=33                     *ISOLATION MESSAGE NUMBER                   FMD
   IF(EC EQ 67) GOTO 50      *IF ERROR CODE 02037                        FMD03
   IF(EC EQ 70) GOTO 54      *IF ERROR CODE 02038                        FMD03
   B2=34                     *ISOLATION MESSAGE NUMBER                   FMD03
   IF(EC EQ 71) GOTO 56      *IF ERROR CODE 02039                        FMD03
   B2=35                     *ISOLATION MESSAGE NUMBER                   FMD03
   GOTO 60                   *THE ERROR CODE IS 0203A                    FMD03
*                                                                        FMD
/         PROCESS ERROR CODES 0201F AND 02034 ERROR CODES.               FMD
*                                                                        FMD
40 MSG 0 TO LINE B1          *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 1 (B0) TO LINE B1     *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG EM TO LINE B1         *TRANSFER MESSAGE TO DISLAY                 FMD
   GOTO 64                   *GO TO COMPLETE ERROR DISPLAY               FMD03
*                                                                        FMD
/         PROCESS ERROR CODE 02036.                                      FMD
*                                                                        FMD
44 MSG 4 TO LINE B1          *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 5 TO LINE B1          *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 6 TO LINE B1          *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 7 TO LINE B1          *TRANSFER MESSAGE TO DISPLAY                FMD
   GOTO 64                   *GO TO COMPLETE ERROR DISPLAY               FMD03
*                                                                        FMD
/         PROCESS ERROR CODE 02037.                                      FMD
*                                                                        FMD
50 MSG 10 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 11 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 12 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   GOTO 64                   *GO TO COMPLETE ERROR DISPLAY               FMD03
*                                                                        FMD
/         PROCESS ERROR CODE 02038.                                      FMD
*                                                                        FMD
54 MSG 13 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 14 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG 15 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   GOTO 64                   *GO TO COMPLETE ERROR DISPLAY               FMD03
*                                                                        FMD03
/         PROCESS ERROR CODE 02039.                                      FMD03
*                                                                        FMD03
56 MSG 16 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD03
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD03
   MSG 17 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD03
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD03
   MSG 20 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD03
   GOTO 64                   *GO TO COMPLETE ERROR DISPLAY               FMD03
*                                                                        FMD03
/         PROCESS ERROR CODE 0203A.                                      FMD03
*                                                                        FMD03
60 MSG 21 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD03
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD03
   MSG 22 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD03
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD03
   MSG 23 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD03
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
64 PASS                                                                  FMD03
   IF(P4 AND ENISO NE 0) EXIT TO 98R  *IF ISOLATION ENABLED              FMD
   PICTURE                    *DISPLAY ERROR INFORMATION                 FMD
   HALT                       *STOP ON ERROR                             FMD
   BLANK                      *CLEAR ERROR DISPLAY                       FMD
   EXIT                       *EXIT THE MODULE                           FMD
   END 30                     *END OF THE MODULE                         FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98R,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98R,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
    MODULE FLD98R,LSFMD1,(16),LOCK
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98R - PROCESS ISOLATION INFORMATION FOR TEST 2.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD98R - PROCESS ISOLATION INFORMATION FOR TEST 2.
*ENDIF
*IF DEF,LSFMD 
*         FLD98R - PROCESS ISOLATION INFORMATION FOR TEST 2.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD98R PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD98M, FMD98N, FMD98O, FMD98P, FMD
*         AND FMD98Q.                                                    FMD
*ENDIF
*IF DEF,PFMD
*         FHD98R PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD98M, FHD98N, FHD98O, FHD98P,
*         AND FHD98Q. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98R PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD98M, FLD98N, FLD98O, FLD98P,
*         AND FLD98Q. 
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO LINE MESSAGE WILL BE APPENDED ONE LINE AFTER THE END OF  FMD
*         THE ERROR MESSAGE.                                             FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
0  FORMAT REPLACE PWBS ONE AT A TIME IN THE FOLLOWING                    FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
5  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.                     FMD
6  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.              FMD
7  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D,              FMD
10 FORMAT         A/B*D.                                                 FMD
11 FORMAT ORDER - A/B*D (CH.I), A/B*D (CH.II),A/B*D, A/B*D,              FMD03
12 FORMAT         A/B*D, A/B*D.                                          FMD14
13 FORMAT         A/B*D, A/B*D, A/B*D.
14 FORMAT         A/B*D, A/B*D, A/B*D, A/B*D. 
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
*                                                                        FMD
30 B1=B1+2                   *INSERT BLANK LINE                          FMD
   MSG 0 TO LINE B1          *BOARDS MSG TO NEXT LINE                    FMD
   B1=B1+1                   *INCREMENT DISPLAY NUMBER                   FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 02000.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 1) MSG 4(02D,21D,22D,23D)TO LINE B1                          FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 1) MSG 4(01D,21D,22D,23D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 1) MSG 4(02D,21D,22D,23D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 02004, 02006,                 FMD14
/         02009, AND 0200F.                                              FMD14
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 2) MSG 6(22D,23D,15D,16D,28D,20D)TO LINE B1 
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 2) MSG 6(22D,23D,29D,30D,28D,20D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 2) MSG 6(22D,23D,15D,16D,28D,20D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 02002.                         FMD
*                                                                        FMD
   IF(B2 NE 3) GOTO 32                                                   FMD
*IF DEF,SFMD
   MSG 7(23D,02D,21D,22D,20D,27D)TO LINE B1                              FMD14
*ENDIF
*IF DEF,PFMD
   MSG 7(23D,01D,21D,22D,20D,27D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   MSG 7(23D,02D,21D,22D,20D,27D)TO LINE B1 
*ENDIF
   MSG 12(26D,25D)TO LINE B1+1                                           FMD14
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 02003 AND 02014               FMD
*                                                                        FMD
*IF DEF,SFMD
32 IF(B2 EQ 4) MSG 2(03D,20D)TO LINE B1                                  FMD
*ENDIF
*IF DEF,PFMD
32 IF(B2 EQ 4) MSG 2(02D,20D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
32 IF(B2 EQ 4) MSG 2(03D,20D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 02005, 02008,                 FMD
/         0200C, 0200E, 02011 AND 02016.                                 FMD
*                                                                        FMD
   IF(B2 EQ 5) MSG 3(22D,23D,21D)TO LINE B1                              FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 02007.                         FMD
*                                                                        FMD
   IF(B2 EQ 6) MSG 4(23D,22D,26D,21D)TO LINE B1                          FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0200A.                         FMD
*                                                                        FMD
   IF(B2 EQ 7) MSG 7(23D,22D,21D,27D,26D,25D)TO LINE B1 
*IF DEF,SFMD
   IF(B2 EQ 7) MSG 14(15D,16D,28D,20D)TO LINE B1+1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 7) MSG 14(29D,30D,28D,20D)TO LINE B1+1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 7) MSG 14(15D,16D,28D,20D)TO LINE B1+1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 02010                          FMD
*                                                                        FMD
   IF(B2 EQ 10) MSG 4(22D,23D,26D,27D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 02012, 01015,                 FMD
/         0201E, 02021, 0202A, 0202F AND 02031.                          FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 11) MSG 7(22D,23D,21D,20D,15D,16D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 11) MSG 7(22D,23D,21D,20D,29D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 11) MSG 7(22D,23D,21D,20D,15D,16D)TO LINE B1
*ENDIF
   IF(B2 EQ 11) MSG 10(28D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 02013.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 12) MSG 4(22D,23D,21D,02D)TO LINE B1                         FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 12) MSG 4(22D,23D,21D,01D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 12) MSG 4(22D,23D,21D,02D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 02017.                         FMD
*                                                                        FMD
   IF(B2 EQ 13) MSG 5(22D,23D,26D,27D,21D)TO LINE B1                     FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0201F.                         FMD
*                                                                        FMD
   IF(B2 EQ 14) MSG 5(26D,34D,33D,37D,39D)TO LINE B1                     FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 02022.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 16) MSG 3(27D,16D,22D)TO LINE B1                             FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 30) MSG 3(27D,30D,22D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 16) MSG 3(27D,16D,22D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 02023.                         FMD
*                                                                        FMD
   IF(B2 EQ 17) MSG 4(27D,38D,23D,39D)TO LINE B1                         FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 02024 AND 0202C.              FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 20) MSG 4(27D,24D,21D,03D)TO LINE B1                         FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 20) MSG 4(27D,24D,21D,02D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 20) MSG 4(27D,24D,21D,03D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 02025 AND 02026.              FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 21) MSG 2(27D,16D)TO LINE B1                                 FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 21) MSG 2(27D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 21) MSG 2(27D,16D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 02027.                         FMD
*                                                                        FMD
   IF(B2 EQ 22) MSG 2(27D,24D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 02028 AND 02029.              FMD
*                                                                        FMD
   IF(B2 EQ 23) MSG 3(27D,24D,34D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0202B.                         FMD
*                                                                        FMD
   IF(B2 EQ 24) MSG 3(27D,24D,23D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0202D AND 02033.              FMD
*                                                                        FMD
   IF(B2 EQ 25) MSG 2(27D,23D)TO LINE B1                                 FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 02030 AND 02032.              FMD
*                                                                        FMD
   IF(B2 EQ 27) MSG 3(27D,32D,31D)TO LINE B1                             FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 02034.                         FMD
*                                                                        FMD
   IF(B2 EQ 30) MSG 3(27D,28D,38D)TO LINE B1                             FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   EXIT TO 96W                   *EXIT TO NEXT ISOLATION MODULE 
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98S,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98S,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98S,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98S - PROCESS ERRORS FOR TEST 3.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD98S - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98S - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 03000, 03001, 03002,   FMD06
*         03003, 03004, 03005, 03006, 03007, AND 03008.                  FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE FIRST THREE LINES FOR THE ERROR DISPLAY WILL BE PLACED IN  FMD
*         THE DISPLAY BUFFER.  IF THE ERROR CODE NUMBER IN THE EC        FMD
*         REGISTER IS A PRODUCT OVERLAY ERROR CODE, THE MODULE WILL EXIT FMD
*IF DEF,SFMD
*         TO THE FMD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE FMD
*ENDIF
*IF DEF,PFMD
*         TO THE FHD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*IF DEF,LSFMD 
*         TO THE FLD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*         ERROR. THE ERROR CODE LINE WILL BE PLACED IN THE DISPLAY       FMD
*         BUFFER. IF THE EC REGISTER CONTAINS THE ERROR CODES 00, OR 01, FMD
*         OR 02, OR 03, OR 04, OR 05, OR 06, OR 07, OR 08, THE ERROR     FMD
*         DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER DOES   FMD
*         NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO  FMD
*IF DEF,SFMD
*         THE FMD98T MODULE.                                             FMD
*ENDIF
*IF DEF,PFMD
*         THE FHD98T MODULE.
*ENDIF
*IF DEF,LSFMD 
*         THE FLD98T MODULE.
*ENDIF
*                                                                        FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD982 TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98B -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98B - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98B - 
*ENDIF
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         THE FIRST THREE LINES OF THE ERROR DISPLAY PLACED IN THE       FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98T -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98T - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98T - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD982 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD982 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD982 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE ISOLATION MESSAGE TO BE APPENDED   FMD
*                       TO THE ERROR MESSAGE.                            FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD98T - PROCESS ERRORS.                                       FMD
*         FMD982 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD983 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD98T - PROCESS ERRORS.
*         FHD982 - PROCESS ISOLATION INFORMATION. 
*         FHD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD98T - PROCESS ERRORS.
*         FLD982 - PROCESS ISOLATION INFORMATION. 
*         FLD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CALLING MODULE NUMBER.                           FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*IF DEF,SFMD
0  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
1  FORMAT FMD08 - RTZ CLEAR REG. TEST                                    FMD
2  FORMAT FMD09 - UPPER CYLINDER TEST                                    FMD
3  FORMAT FMD10 - LOWER CYLINDER TEST                                    FMD
4  FORMAT FMD11 - UPPER DIFF. TEST                                       FMD
5  FORMAT FMD12 - LOWER DIFF. TEST                                       FMD
6  FORMAT FMD13 - HEAD REGISTER TEST                                     FMD
7  FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD05
10 FORMAT FMD*D - LINE *OCT ERROR CODE 03*HE                             FMD
*ENDIF
*IF DEF,PFMD
0  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FHD08 - RTZ CLEAR REG. TEST 
2  FORMAT FHD09 - UPPER CYLINDER TEST 
3  FORMAT FHD10 - LOWER CYLINDER TEST 
4  FORMAT FHD11 - UPPER DIFF. TEST
5  FORMAT FHD12 - LOWER DIFF. TEST
6  FORMAT FHD13 - HEAD REGISTER TEST
7  FORMAT PRESERVICE FORECAST GROUP FHDD
10 FORMAT FHD*D - LINE *OCT ERROR CODE 03*HE
*ENDIF
*IF DEF,LSFMD 
0  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FLD08 - RTZ CLEAR REG. TEST 
2  FORMAT FLD09 - UPPER CYLINDER TEST 
3  FORMAT FLD10 - LOWER CYLINDER TEST 
4  FORMAT FLD11 - UPPER DIFF. TEST
5  FORMAT FLD12 - LOWER DIFF. TEST
6  FORMAT FLD13 - HEAD REGISTER TEST
7  FORMAT PRESERVICE FORECAST GROUP FMDD
10 FORMAT FLD*D - LINE *OCT ERROR CODE 03*HE
*ENDIF
*                                                                        FMD
/         ERROR MESSAGE 03000.                                           FMD
*                                                                        FMD
11 FORMAT NO SELECT AND RSVD AFTER DROPPING AND RAISING                  FMD
12 FORMAT SELECT.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 03001.                                           FMD
*                                                                        FMD
13 FORMAT READY AND SAFE NOT ACTIVE AFTER RAISING SELECT.                FMD
*                                                                        FMD
/         ERROR MESSAGE 03002.                                           FMD
*                                                                        FMD
14 FORMAT ON CYLINDER WAS NOT PRESENT 300 MS AFTER A RTZ                 FMD
15 FORMAT COMMAND.                                                       FMD
*                                                                        FMD
/         ERROR MESSAGE 03003.                                           FMD
*                                                                        FMD
16 FORMAT NO STATUS VALID AFTER A RTZ COMMAND.                           FMD
*                                                                        FMD
/         ERROR MESSAGE 03004.                                           FMD
*                                                                        FMD
17 FORMAT READY AND SAFE NOT ACTIVE AFTER A RTZ COMMAND.                 FMD
*                                                                        FMD
/         ERROR MESSAGE 03005.                                           FMD
*                                                                        FMD
20 FORMAT NO STATUS VALID AFTER A LEGAL COMMAND.                         FMD
*                                                                        FMD
/         ERROR MESSAGE 03006.                                           FMD
*                                                                        FMD
21 FORMAT READY AND SAFE NOT ACTIVE AFTER ISSUING A LEGAL                FMD
22 FORMAT COMMAND.                                                       FMD
*                                                                        FMD
/         ERROR MESSAGE 03007.                                           FMD
*                                                                        FMD
23 FORMAT INCORRECT STATUS AFTER ISSUING AN 80 COMMAND WITH              FMD
24 FORMAT BUS OUT EQUAL TO ZERO.                                         FMD
*                                                                        FMD
/         ERROR MESSAGE 03008.                                           FMD
*                                                                        FMD
25 FORMAT INCORRECT STATUS AFTER ISSUING A READ CYLINDER                 FMD
26 FORMAT LOWER STATUS.                                                  FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 MSG 0 TO LINE 1           *DIAGNOSTIC TITLE MESSAGE                   FMD
   B1=B0-7                   *CALL MODULE NAME MESSAGE                   FMD
   MSG B1 TO LINE 2          *MODULE NUMBER AND NAME MESSAGE             FMD
   MSG 7 TO LINE 3           *PRESERVICE FORECAST MESSAGE                FMD05
   IF(EC GT 3777) EXIT TO 98B  *IF PRODUCT OVERLAY ERROR                 FMD
   MSG 10 (B0,EA,EC) TO LINE 5  *ERROR CODE TO DISPLAY                   FMD
   B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=3                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 0) GOTO 34       *IF ERROR CODE 03000                        FMD
   B2=1                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 1) GOTO 40       *IF ERROR CODE 03001                        FMD
   B2=4                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 2) GOTO 34       *IF ERROR CODE 03002                        FMD
   B2=5                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 3) GOTO 40       *IF ERROR CODE 03003                        FMD
   B2=6                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 4) GOTO 40       *IF ERROR CODE 03004                        FMD
   B2=7                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 5) GOTO 40       *IF ERROR CODE 03005                        FMD
   B2=2                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 6) GOTO 34       *IF ERROR CODE 03006                        FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 7) GOTO 34       *IF ERROR CODE 03007                        FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 10) GOTO 34      *IF ERROR CODE 03008                        FMD
   EXIT TO 98T               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 03000, 03002, 03006, 03007,                FMD
/         AND 03008.                                                     FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 03001, 03003, 03004, AND                   FMD
/         03005.                                                         FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 7) GOTO 44       *IF ERROR CODE 03007                        FMD
   IF(EC NE 10) GOTO 50      *IF NOT ERROR CODE 03008                    FMD
44 B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 27 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 982  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98T,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98T,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98T,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98T - PROCESS ERRORS FOR TEST 3.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD98T - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98T - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 03009, 0300A, 0300B,   FMD06
*         0300C, 0300D, 0300E, 0300F, AND 03010.                         FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 09, OR 0A, OR 0B,  FMD
*         OR 0C, OR 0D, OR 0E, OR 0F, OR 10, THE ERROR DISPLAY WILL BE   FMD
*         BUILT FOR THE ERROR. IF THE EC REGISTER DOES NOT CONTAIN ONE   FMD
*IF DEF,SFMD
*         OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FMD98U       FMD
*ENDIF
*IF DEF,PFMD
*         OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FHD98U
*ENDIF
*IF DEF,LSFMD 
*         OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FLD98U
*ENDIF
*         MODULE.                                                        FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD982 TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98U -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98U - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98U - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD982 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD982 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD982 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE ISOLATION MESSAGE TO BE APPENDED   FMD
*                       TO THE ERROR MESSAGE.                            FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98U - PROCESS ERRORS.                                       FMD
*         FMD982 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD983 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98U - PROCESS ERRORS.
*         FHD982 - PROCESS ISOLATION INFORMATION. 
*         FHD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98U - PROCESS ERRORS.
*         FLD982 - PROCESS ISOLATION INFORMATION. 
*         FLD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 03009.                                           FMD
*                                                                        FMD
0  FORMAT INCORRECT STATUS AFTER ISSUING A READ DIFFERENCE               FMD
1  FORMAT UPPER COMMAND.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0300A.                                           FMD
*                                                                        FMD
2  FORMAT INCORRECT STATUS AFTER ISSUING A READ DIFFERENCE               FMD
3  FORMAT LOWER COMMAND.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0300B.                                           FMD
*                                                                        FMD
4  FORMAT INCORRECT STATUS AFTER ISSUING A READ HEAD                     FMD
5  FORMAT REGISTER COMMAND.                                              FMD
*                                                                        FMD
/         ERROR MESSAGE 0300C.                                           FMD
*                                                                        FMD
6  FORMAT INCORRECT STATUS AFTER LOADING UPPER CYLINDER                  FMD
7  FORMAT WITH ZEROS.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 0300D.                                           FMD
*                                                                        FMD
10 FORMAT THE UPPER CYLINDER WAS LOADED WITH ZEROS, BUT                  FMD
11 FORMAT AFTER ISSUING AN 80 COMMAND (READ CYLINDER UPPER),             FMD
12 FORMAT STATUS INDICATED UPPER CYLINDER NOT AT ZERO.                   FMD
*                                                                        FMD
/         ERROR MESSAGE 0300E.                                           FMD
*                                                                        FMD
13 FORMAT UPPER CYLINDER WAS LOADED WITH A BUS OUT OF FF.                FMD
14 FORMAT STATUS INDICATED INCORRECT BUS IN.                             FMD
*                                                                        FMD
/         ERROR MESSAGE 0300F.                                           FMD
*                                                                        FMD
15 FORMAT AFTER LOADING THE UPPER CYLINDER WITH 0000 0011                FMD
16 FORMAT AND RECEIVING PROPER STATUS, A READ CYLINDER UPPER             FMD
17 FORMAT WAS ISSUED AND INCORRECT STATUS WAS RECEIVED ON                FMD
20 FORMAT BUS IN.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 03010.                                           FMD
*                                                                        FMD
21 FORMAT AFTER LOADING THE UPPER CYLINDER WITH 0000 0011                FMD
22 FORMAT AND RECEIVING PROPER STATUS, A READ CYLINDER LOWER             FMD
23 FORMAT WAS ISSUED AND INCORRECT STATUS WAS RECEIVED ON                FMD
24 FORMAT BUS IN.                                                        FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
25 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=11                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 11) GOTO 44      *IF ERROR CODE 03009                        FMD
   B2=12                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 12) GOTO 44      *IF ERROR CODE 0300A                        FMD
   B2=13                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 13) GOTO 44      *IF ERROR CODE 0300B                        FMD
   B2=14                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 14) GOTO 44      *IF ERROR CODE 0300C                        FMD
   B2=14                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 15) GOTO 40      *IF ERROR CODE 0300D                        FMD
   B2=15                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 16) GOTO 44      *IF ERROR CODE 0300E                        FMD
   B2=15                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 17) GOTO 34      *IF ERROR CODE 0300F                        FMD
   B2=15                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 20) GOTO 34      *IF ERROR CODE 03010                        FMD
   EXIT TO 98U               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0300F AND 03010.                           FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODE 0300D.                                      FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 03009, 0300A, 0300B, 0300C,                FMD
/         AND 0300E.                                                     FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 15) GOTO 50      *IF ERROR CODE 0300D                        FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 25 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 982  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98U,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98U,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98U,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98U - PROCESS ERRORS FOR TEST 3.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD98U - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98U - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 03011, 03012, 03013,   FMD06
*         03014, 03015, 03016, AND 03017.                                FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 11, OR 12, OR 13,  FMD
*         OR 14, OR 15, OR 16, OR 17, THE ERROR DISPLAY WILL BE BUILT    FMD
*         FOR THE ERROR. IF THE EC REGISTER DOES NOT CONTAIN ONE OF      FMD
*IF DEF,SFMD
*         THESE ERROR CODES, THE MODULE WILL EXIT TO THE FMD98V MODULE.  FMD
*ENDIF
*IF DEF,PFMD
*         THESE ERROR CODES, THE MODULE WILL EXIT TO THE FHD98V MODULE. 
*ENDIF
*IF DEF,LSFMD 
*         THESE ERROR CODE, THE MODULE WILL EXIT TO THE FLD98V MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD982 TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98V -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98V - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98V - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD982 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD982 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD982 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE ISOLATION MESSAGE TO BE APPENDED   FMD
*                       TO THE ERROR MESSAGE.                            FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98V - PROCESS ERRORS.                                       FMD
*         FMD982 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD983 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98V - PROCESS ERRORS.
*         FHD982 - PROCESS ISOLATION INFORMATION. 
*         FHD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98V - PROCESS ERRORS.
*         FLD982 - PROCESS ISOLATION INFORMATION. 
*         FLD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 03011.                                           FMD
*                                                                        FMD
0  FORMAT AFTER LOADING THE UPPER CYLINDER WITH 0000 0011                FMD
1  FORMAT AND RECEIVING PROPER STATUS, A READ DIFFERENCE                 FMD
2  FORMAT UPPER WAS ISSUED AND INCORRECT STATUS WAS RECEIVED             FMD
3  FORMAT ON BUS IN.                                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 03012.                                           FMD
*                                                                        FMD
4  FORMAT AFTER LOADING THE UPPER CYLINDER WITH 0000 0011                FMD
5  FORMAT AND RECEIVING PROPER STATUS, A READ DIFFERENCE                 FMD
6  FORMAT LOWER WAS ISSUED AND INCORRECT STATUS WAS RECEIVED             FMD
7  FORMAT ON BUS IN.                                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 03013.                                           FMD
*                                                                        FMD
10 FORMAT AFTER LOADING THE UPPER CYLINDER WITH 0000 0011                FMD
11 FORMAT AND RECEIVING PROPER STATUS, A READ HEAD REGISTER              FMD
12 FORMAT WAS ISSUED AND INCORRECT STATUS WAS RECEIVED ON                FMD
13 FORMAT BUS IN.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 03014.                                           FMD
*                                                                        FMD
14 FORMAT A LOAD CYLINDER UPPER BIT 256 WAS ISSUED AND                   FMD
15 FORMAT INCORRECT STATUS WAS RECEIVED.                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 03015.                                           FMD
*                                                                        FMD
16 FORMAT AFTER LOADING CYLINDER 256, A READ CYLINDER                    FMD
17 FORMAT UPPER COMMAND WAS ISSUED AND INCORRECT STATUS WAS              FMD
20 FORMAT RECEIVED.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 03016.                                           FMD
*                                                                        FMD
21 FORMAT A LOAD CYLINDER UPPER BIT 512 WAS ISSUED AND                   FMD
22 FORMAT INCORRECT STATUS WAS RECEIVED ON BUS IN.                       FMD
*                                                                        FMD
/         ERROR MESSAGE 03017.                                           FMD
*                                                                        FMD
23 FORMAT AFTER LOADING CYLINDER UPPER BIT 512, A READ                   FMD
24 FORMAT CYLINDER UPPER WAS ISSUED AND INCORRECT STATUS                 FMD
25 FORMAT WAS RECEIVED.                                                  FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
26 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 21) GOTO 34      *IF ERROR CODE 03011                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 22) GOTO 34      *IF ERROR CODE 03012                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 23) GOTO 34      *IF ERROR CODE 03013                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 24) GOTO 44      *IF ERROR CODE 03014                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 25) GOTO 40      *IF ERROR CODE 03015                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 26) GOTO 44      *IF ERROR CODE 03016                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 27) GOTO 40      *IF ERROR CODE 03017                        FMD
   EXIT TO 98V               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 03011, 03012, AND 03013.                   FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 03015 AND 03017.                           FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 03014 AND 03016.                           FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 26 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 982  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98V,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98V,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98V,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98V - PROCESS ERRORS FOR TEST 3.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD98V - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98V - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 03018, 03019, 0301A,   FMD06
*         0301B, 0301C, 0301D, AND 0301E.                                FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 18, OR 19, OR 1A,  FMD
*         OR 1B, OR 1C, OR 1D, OR 1E, THE ERROR DISPLAY WILL BE BUILT    FMD
*         FOR THE ERROR. IF THE EC REGISTER DOES NOT CONTAIN ONE OF      FMD
*IF DEF,SFMD
*         THESE ERROR CODES, THE MODULE WILL EXIT TO THE FMD98W MODULE.  FMD
*ENDIF
*IF DEF,PFMD
*         THESE ERROR CODES, THE MODULE WILL EXIT TO THE FHD98W MODULE. 
*ENDIF
*IF DEF,LSFMD 
*         THESE ERROR CODES, THE MODULE WILL EXIT TO THE FLD98W MODULE. 
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD982 TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98W -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98W - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98W - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD982 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD982 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD982 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE ISOLATION MESSAGE TO BE APPENDED   FMD
*                       TO THE ERROR MESSAGE.                            FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98W - PROCESS ERRORS.                                       FMD
*         FMD982 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD983 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98W - PROCESS ERRORS.
*         FHD982 - PROCESS ISOLATION INFORMATION. 
*         FHD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98W - PROCESS ERRORS.
*         FLD982 - PROCESS ISOLATION INFORMATION. 
*         FLD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 03018.                                           FMD
*                                                                        FMD
0  FORMAT A RTZ COMMAND FAILED TO CLEAR UPPER CYLINDER                   FMD
1  FORMAT REGISTER.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 03019.                                           FMD
*                                                                        FMD
2  FORMAT A LOAD CYLINDER LOWER COMMAND (41) WITH BUS OUT                FMD10
3  FORMAT OF 1010 1010 WAS ISSUED AND INCORRECT STATUS WAS               FMD10
4  FORMAT RECEIVED.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 0301A.                                           FMD
*                                                                        FMD
5  FORMAT AFTER LOADING LOWER CYLINDER WITH 1010 1010 AND                FMD
6  FORMAT RECEIVING PROPER STATUS, A READ CYLINDER LOWER                 FMD
7  FORMAT WAS ISSUED AND INCORRECT STATUS WAS RECEIVED.                  FMD
*                                                                        FMD
/         ERROR MESSAGE 0301B.                                           FMD
*                                                                        FMD
10 FORMAT A LOAD CYLINDER LOWER COMMAND WAS ISSUED WITH BUS              FMD
11 FORMAT OUT EQUAL TO 0101 0101 AND INCORRECT STATUS WAS                FMD
12 FORMAT RECEIVED.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 0301C.                                           FMD
*                                                                        FMD
13 FORMAT AFTER LOADING THE LOWER CYLINDER REGISTER WITH                 FMD
14 FORMAT 0101 0101 AND RECEIVING PROPER STATUS, A READ                  FMD
15 FORMAT CYLINDER LOWER WAS ISSUED AND INCORRECT STATUS                 FMD
16 FORMAT WAS RECEIVED.                                                  FMD
*                                                                        FMD
/         ERROR MESSAGE 0301D.                                           FMD
*                                                                        FMD
17 FORMAT A LOAD CYLINDER LOWER COMMAND WAS ISSUED WITH BUS              FMD
20 FORMAT OUT EQUAL TO 1111 1111 AND INCORRECT STATUS WAS                FMD
21 FORMAT RECEIVED.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 0301E.                                           FMD
*                                                                        FMD
22 FORMAT AFTER LOADING THE LOWER CYLINDER REGISTER WITH                 FMD
23 FORMAT 1111 1111 AND RECEIVING PROPER STATUS, A READ                  FMD
24 FORMAT CYLINDER LOWER WAS ISSUED AND INCORRECT STATUS                 FMD
25 FORMAT WAS RECEIVED.                                                  FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
26 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=20                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 30) GOTO 44      *IF ERROR CODE 03018                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 31) GOTO 40      *IF ERROR CODE 03019                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 32) GOTO 40      *IF ERROR CODE 0301A                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 33) GOTO 40      *IF ERROR CODE 0301B                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 34) GOTO 34      *IF ERROR CODE 0301C                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 35) GOTO 40      *IF ERROR CODE 0301D                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 36) GOTO 34      *IF ERROR CODE 0301E                        FMD
   EXIT TO 98W               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0301C AND 0301E.                           FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 03019, 0301A, AND 0301D.                   FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODE 03018.                                      FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 26 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 982  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98W,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98W,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98W,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98W - PROCESS ERRORS FOR TEST 3.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD98W - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98W - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0301F, 03020, 03021,   FMD06
*         03022, 03023, 03024, AND 03025.                                FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 1F, OR 20, OR 21,  FMD
*         OR 22, OR 23, OR 24, OR 25, THE ERROR DISPLAY WILL BE BUILT    FMD
*         FOR THE ERROR. IF THE EC REGISTER DOES NOT CONTAIN ONE OF      FMD
*IF DEF,SFMD
*         THESE ERROR CODES, THE MODULE WILL EXIT TO THE FMD98X MODULE.  FMD
*ENDIF
*IF DEF,PFMD
*         THESE ERROR CODES, THE MODULE WILL EXIT TO THE FHD98X MODULE. 
*ENDIF
*IF DEF,LSFMD 
*         THESE ERROR CODES, THE MODULE WILL EXIT TO THE FLD98X MODULE. 
*ENDIF
*                                                                        FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD982 TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98X -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98X - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98X - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD982 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD982 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD982 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE ISOLATION MESSAGE TO BE APPENDED   FMD
*                       TO THE ERROR MESSAGE.                            FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98X - PROCESS ERRORS.                                       FMD
*         FMD982 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD983 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98X - PROCESS ERRORS.
*         FHD982 - PROCESS ISOLATION INFORMATION. 
*         FHD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98X - PROCESS ERRORS.
*         FLD982 - PROCESS ISOLATION INFORMATION. 
*         FLD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0301F.                                           FMD
*                                                                        FMD
0  FORMAT AFTER LOADING LOWER CYLINDER REGISTER WITH 1111                FMD
1  FORMAT 1111, A READ CYLINDER UPPER COMMAND WAS ISSUED AND             FMD
2  FORMAT INCORRECT STATUS WAS RECEIVED.                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 03020.                                           FMD
*                                                                        FMD
3  FORMAT AFTER LOADING LOWER CYLINDER REGISTER WITH 1111                FMD
4  FORMAT 1111, A READ DIFFERENCE UPPER COMMAND WAS ISSUED               FMD
5  FORMAT AND INCORRECT STATUS WAS RECEIVED.                             FMD
*                                                                        FMD
/         ERROR MESSAGE 03021.                                           FMD
*                                                                        FMD
6  FORMAT AFTER LOADING LOWER CYLINDER REGISTER WITH 1111                FMD
7  FORMAT 1111, A READ DIFFERENCE LOWER WAS ISSUED AND                   FMD
10 FORMAT INCORRECT STATUS WAS RECEIVED.                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 03022.                                           FMD
*                                                                        FMD
11 FORMAT AFTER LOADING LOWER CYLINDER REGISTER WITH 1111                FMD
12 FORMAT 1111, A READ HEAD REGISTER WAS ISSUED AND                      FMD
13 FORMAT INCORRECT STATUS WAS RECEIVED.                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 03023.                                           FMD
*                                                                        FMD
14 FORMAT AFTER READING CYLINDER UPPER, DIFFERENCE UPPER,                FMD
15 FORMAT DIFFERENCE LOWER, AND HEAD REGISTER, A READ                    FMD
16 FORMAT DIFERENCE LOWER WAS ISSUED AND STATUS EXPECTED                 FMD
17 FORMAT WAS ALL ONES. THIS ERROR INDICATES ONE OF THE                  FMD
20 FORMAT ABOVE REGISTERS CLEARED OUT THE LOWER CYLINDER                 FMD
21 FORMAT REGISTER.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 03024.                                           FMD
*                                                                        FMD
22 FORMAT ISSUING A RTZ COMMAND FAILED TO CLEAR THE LOWER                FMD
23 FORMAT CYLINDER REGISTER.                                             FMD
*                                                                        FMD
/         ERROR MESSAGE 03025.                                           FMD
*                                                                        FMD
24 FORMAT AFTER ISSUING A LOAD DIFFERENCE UPPER WITH ZEROS,              FMD
25 FORMAT INCORRECT STATUS WAS RETURNED.                                 FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
26 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=21                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 37) GOTO 40      *IF ERROR CODE 0301F                        FMD
   B2=22                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 40) GOTO 40      *IF ERROR CODE 03020                        FMD
   B2=22                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 41) GOTO 40      *IF ERROR CODE 03021                        FMD
   B2=22                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 42) GOTO 40      *IF ERROR CODE 03022                        FMD
   B2=23                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 43) GOTO 34      *IF ERROR CODE 03023                        FMD
   B2=24                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 44) GOTO 44      *IF ERROR CODE 03024                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 45) GOTO 44      *IF ERROR CODE 03025                        FMD
   EXIT TO 98X               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODE 03023.                                      FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0301F, 003020 03021, AND                   FMD
/         003022                                                         FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 03024 AND 03025.                           FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 26 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 982  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98X,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98X,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98X,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98X - PROCESS ERRORS FOR TEST 3.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD98X - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98X - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 03026, 03027, 03028,   FMD06
*         03029, 0302A, 0302B, 0302C, AND 0302D.                         FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 26, OR 27, OR 28,  FMD
*         OR 29, OR 2A, OR 2B, OR 2C, OR 2D, THE ERROR DISPLAY WILL BE   FMD
*         BUILT FOR THE ERROR. IF THE EC REGISTER DOES NOT CONTAIN ONE   FMD
*IF DEF,SFMD
*         OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FMD98Y       FMD
*ENDIF
*IF DEF,PFMD
*         OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FHD98Y
*ENDIF
*IF DEF,LSFMD 
*         OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE FLD98Y
*ENDIF
*         MODULE.                                                        FMD
*                                                                        FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD982 TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98Y -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98Y - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXI TO FLD98Y -
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD982 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD982 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD982 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE ISOLATION MESSAGE TO BE APPENDED   FMD
*                       TO THE ERROR MESSAGE.                            FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98Y - PROCESS ERRORS.                                       FMD
*         FMD982 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD983 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98Y - PROCESS ERRORS.
*         FHD982 - PROCESS ISOLATION INFORMATION. 
*         FHD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98Y - PROCESS ERRORS.
*         FLD982 - PROCESS ISOLATION INFORMATION. 
*         FLD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 03026.                                           FMD
*                                                                        FMD
0  FORMAT AFTER ISSUING A LOAD DIFFERENCE UPPER COMMAND WITH             FMD
1  FORMAT BUS OUT OF 1111 1101, INCORRECT STATUS WAS                     FMD
2  FORMAT RETURNED ON BUS IN.                                            FMD
*                                                                        FMD
/         ERROR MESSAGE 03027.                                           FMD
*                                                                        FMD
3  FORMAT AFTER LOADING THE UPPER DIFFERENCE REGISTER WITH A             FMD
4  FORMAT 1000 0001, A READ DIFFERENCE UPPER COMMAND WAS                 FMD
5  FORMAT ISSUED AND INCORRECT STATUS WAS RECEIVED.                      FMD
*                                                                        FMD
/         ERROR MESSAGE 03028.                                           FMD
*                                                                        FMD
6  FORMAT AFTER LOADING UPPER DIFFERENCE WITH A 0000 0010,               FMD
7  FORMAT INCORRECT STATUS WAS RETURNED.                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 03029.                                           FMD
*                                                                        FMD
10 FORMAT AFTER LOADING UPPER DIFFERENCE WITH A 0000 0010                FMD
11 FORMAT AND RECEIVING CORRECT STATUS, A READ DIFFERENCE                FMD
12 FORMAT UPPER WAS ISSUED AND INCORRECT STATUS WAS                      FMD
13 FORMAT RECEIVED.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 0302A.                                           FMD
*                                                                        FMD
14 FORMAT AFTER ISSUING A LOAD DIFFERENCE UPPER WITH 1111                FMD
15 FORMAT 1111, INCORRECT STATUS WAS RETURNED.                           FMD
*                                                                        FMD
/         ERROR MESSAGE 0302B.                                           FMD
*                                                                        FMD
16 FORMAT AFTER LOADING UPPER DIFFERENCE WITH 1000 0011, A               FMD
17 FORMAT READ CYLINDER UPPER WAS ISSUED AND INCORRECT                   FMD
20 FORMAT STATUS WAS RECEIVED.                                           FMD
*                                                                        FMD
/         ERROR MESSAGE 0302C.                                           FMD
*                                                                        FMD
21 FORMAT AFTER LOADING UPPER DIFFERENCE WITH 1000 0011, A               FMD
22 FORMAT READ CYLINDER UPPER COMMAND WAS ISSUED AND                     FMD
23 FORMAT INCORRECT STATUS WAS RECEIVED.                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0302D.                                           FMD
*                                                                        FMD
24 FORMAT AFTER LOADING UPPER DIFFERENCE WITH 1000 0011, A               FMD
25 FORMAT READ CYLINDER LOWER WAS ISSUED AND INCORRECT                   FMD
26 FORMAT STATUS WAS RECEIVED.                                           FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=25                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 46) GOTO 40      *IF ERROR CODE 03026                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 47) GOTO 40      *IF ERROR CODE 03027                        FMD
   B2=26                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 50) GOTO 44      *IF ERROR CODE 03028                        FMD
   B2=26                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 51) GOTO 34      *IF ERROR CODE 03029                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 52) GOTO 44      *IF ERROR CODE 0302A                        FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 53) GOTO 40      *IF ERROR CODE 0302B                        FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 54) GOTO 40      *IF ERROR CODE 0302C                        FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 55) GOTO 40      *IF ERROR CODE 0302D                        FMD
   EXIT TO 98Y               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODE 03029.                                      FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 03026, 03027, 0302B, 0302C,                FMD
/         AND 0302D.                                                     FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 03028 AND 0302A.                           FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 27 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 982  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98Y,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98Y,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98Y,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98Y - PROCESS ERRORS FOR TEST 3.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD98Y - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98Y - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0302E, 0302F, 03030,   FMD06
*         03031, 03032, 03033, AND 03034. 
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 2E, OR 2F, OR 30,  FMD
*         OR 31, OR 32, OR 33, OR 34, THE ERROR DISPLAY WILL BE BUILT    FMD
*         FOR THE ERROR. IF THE EC REGISTER DOES NOT CONTAIN ONE OF      FMD
*IF DEF,SFMD
*         THESE ERROR CODES, THE MODULE WILL EXIT TO THE FMD98Z MODULE.  FMD
*ENDIF
*IF DEF,PFMD
*         THESE ERROR CODES, THE MODULE WILL EXIT TO THE FHD98Z MODULE. 
*ENDIF
*IF DEF,LSFMD 
*         THESE ERROR CODES, THE MODULE WILL EXIT TO THE FLD98Z MODULE. 
*ENDIF
*                                                                        FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD982 TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98Z-                                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*         IF EXIT TO FMD982 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98Z-
*         IF EXIT TO FHD982 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98Z 
*         IF EXIT TO FLD982 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE ISOLATION MESSAGE TO BE APPENDED   FMD
*                       TO THE ERROR MESSAGE.                            FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98Z - PROCESS ERRORS.                                       FMD
*         FMD982 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD983 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98Z - PROCESS ERRORS.
*         FHD982 - PROCESS ISOLATION INFORMATION. 
*         FHD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98Z - PROCESS ERRORS.
*         FLD982 - PROCESS ISOLATION INFORMATION. 
*         FLD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0302E.                                           FMD
*                                                                        FMD
0  FORMAT AFTER LOADING UPPER DIFFERENCE WITH 1000 0011, A               FMD
1  FORMAT READ DIFFERENCE LOWER WAS ISSUED AND INCORRECT                 FMD
2  FORMAT STATUS WAS RECEIVED.                                           FMD
*                                                                        FMD
/         ERROR MESSAGE 0302F.                                           FMD
*                                                                        FMD
3  FORMAT AFTER LOADING UPPER DIFFERENCE WITH 1000 0011, A               FMD
4  FORMAT READ HEAD REGISTER WAS ISSUED AND INCORRECT                    FMD
5  FORMAT STATUS WAS RECEIVED.                                           FMD
*                                                                        FMD
/         ERROR MESSAGE 03030.                                           FMD
*                                                                        FMD
6  FORMAT ISSUING A RTZ COMMAND FAILED TO CLEAR UPPER                    FMD
7  FORMAT DIFFERENCE COUNTER.                                            FMD
*                                                                        FMD
/         ERROR MESSAGE 03031.                                           FMD
*                                                                        FMD
10 FORMAT A LOAD DIFFERENCE LOWER COMMAND WAS ISSUED WITH                FMD
11 FORMAT BUS OUT OF ZERO AND INCORRECT STATUS WAS RECEIVED.             FMD
*                                                                        FMD
/         ERROR MESSAGE 03032.                                           FMD
*                                                                        FMD
12 FORMAT A LOAD DIFFERENCE LOWER COMMAND WAS ISSUED WITH                FMD
13 FORMAT BUS OUT EQUAL TO 1010 1010 AND INCORRECT STATUS                FMD
14 FORMAT WAS RECEIVED.                                                  FMD
*                                                                        FMD
/         ERROR MESSAGE 03033.                                           FMD
*                                                                        FMD
15 FORMAT AFTER LOADING LOWER DIFFERENCE WITH A 1010 1010                FMD
16 FORMAT AND RECEIVING CORRECT STATUS, A READ DIFFERENCE                FMD
17 FORMAT LOWER WAS ISSUED AND INCORRECT STATUS WAS                      FMD
20 FORMAT RECEIVED.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 03034.                                           FMD
*                                                                        FMD
21 FORMAT A LOAD DIFFERENCE LOWER WAS ISSUED WITH BUS OUT                FMD
22 FORMAT EQUAL TO 0101 0101 AND INCORRECT STATUS WAS                    FMD
23 FORMAT RECEIVED.                                                      FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
24 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 56) GOTO 40      *IF ERROR CODE 0302E                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 57) GOTO 40      *IF ERROR CODE 0302F                        FMD
   B2=31                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 60) GOTO 44      *IF ERROR CODE 03030                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 61) GOTO 44      *IF ERROR CODE 03031                        FMD
   B2=32                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 62) GOTO 40      *IF ERROR CODE 03032                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 63) GOTO 34      *IF ERROR CODE 03033                        FMD
   B2=32                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 64) GOTO 40      *IF ERROR CODE 03034                        FMD
   EXIT TO 98Z               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODE 03033.                                      FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0302E, 0302F, 03032, AND                   FMD
/         03034.                                                         FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 03030 AND 03031.                           FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 60) GOTO 50      *IF ERROR CODE 03030                        FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 24 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 982  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD98Z,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD98Z,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD98Z,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD98Z - PROCESS ERRORS FOR TEST 3.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD98Z - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98Z - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 03035, 03036, 03037,   FMD06
*         03038, 03039, AND 0303A.                                       FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 35, OR 36, OR 37,  FMD
*         OR 38, OR 39, OR 3A, THE ERROR DISPLAY WILL BE BUILT FOR THE   FMD
*         ERROR. IF THE EC REGISTER DOES NOT CONTAIN ONE OF THESE ERROR  FMD
*IF DEF,SFMD
*         CODES, THE MODULE WILL EXIT TO THE FMD980 MODULE.              FMD
*ENDIF
*IF DEF,PFMD
*         CODES, THE MODULE WILL EXIT TO THE FHD980 MODULE. 
*ENDIF
*IF DEF,LSFMD 
*         CODES, THE MODULE WILL EXIT TO THE FLD980 MODULE. 
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD982 TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD980 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD980 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD980 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD982 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD982 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD982 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE ISOLATION MESSAGE TO BE APPENDED   FMD
*                       TO THE ERROR MESSAGE.                            FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD980 - PROCESS ERRORS.                                       FMD
*         FMD982 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD983 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD980 - PROCESS ERRORS.
*         FHD982 - PROCESS ISOLATION INFORMATION. 
*         FHD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD980 - PROCESS ERRORS.
*         FLD982 - PROCESS ISOLATION INFORMATION. 
*         FLD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 03035.                                           FMD
*                                                                        FMD
0  FORMAT AFTER LOADING LOWER DIFFERENCE WITH A 0101 0101                FMD
1  FORMAT AND RECEIVING PROPER STATUS, A READ DIFFERENCE                 FMD
2  FORMAT LOWER WAS ISSUED AND INCORRECT STATUS WAS                      FMD
3  FORMAT RECEIVED.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 03036.                                           FMD
*                                                                        FMD
4  FORMAT A LOAD DIFFERENCE LOWER WAS ISSUED WITH BUS OUT                FMD
5  FORMAT EQUAL TO 1111 1111 AND INCORRECT STATUS WAS                    FMD
6  FORMAT RECEIVED.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 03037.                                           FMD
*                                                                        FMD
7  FORMAT AFTER LOADING LOWER DIFFERENCE WITH 1111 1111                  FMD
10 FORMAT AND RECEIVING PROPER STATUS, A READ CYLINDER                   FMD
11 FORMAT UPPER WAS ISSUED AND INCORRECT STATUS WAS                      FMD
12 FORMAT RECEIVED.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 03038.                                           FMD
*                                                                        FMD
13 FORMAT AFTER LOADING LOWER DIFFERENCE WITH A 1111 1111                FMD
14 FORMAT AND RECEIVING PROPER STATUS, A READ CYLINDER                   FMD
15 FORMAT LOWER WAS ISSUED AND INCORRECT STATUS WAS                      FMD
16 FORMAT RECEIVED.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 03039.                                           FMD
*                                                                        FMD
17 FORMAT AFTER LOADING LOWER DIFFERENCE WITH A 1111 1111                FMD
20 FORMAT AND RECEIVING PROPER STATUS, A READ UPPER                      FMD
21 FORMAT DIFFERENCE WAS ISSUED AND INCORRECT STATUS WAS                 FMD
22 FORMAT RECEIVED.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 0303A.                                           FMD
*                                                                        FMD
23 FORMAT AFTER LOADING LOWER DIFFERENCE WITH A 1111 1111                FMD
24 FORMAT AND RECEIVING PROPER STATUS, A READ HEAD REGISTER              FMD
25 FORMAT WAS ISSUED AND INCORRECT STATUS WAS RECEIVED.                  FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
26 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 65) GOTO 34      *IF ERROR CODE 03035                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 66) GOTO 40      *IF ERROR CODE 03036                        FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 67) GOTO 34      *IF ERROR CODE 03037                        FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 70) GOTO 34      *IF ERROR CODE 03038                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 71) GOTO 34      *IF ERROR CODE 03039                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 72) GOTO 40      *IF ERROR CODE 0303A                        FMD
   EXIT TO 980               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 03035, 03037, 03038, AND                   FMD
/         03039.                                                         FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 03036 AND 0303A.                           FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 26 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 982  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD980,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD980,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD980,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD980 - PROCESS ERRORS FOR TEST 3.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD980 - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*IF DEF,LSFMD 
*         FLD980 - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0303B, 0303C, 0303D,   FMD06
*         0303E, 0303F, 03040, 03041, 03042, AND 03043.                  FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 3B, OR 3C, OR 3D,  FMD
*         OR 3E, OR 3F, OR 40, OR 41, OR 42, OR 43, THE ERROR DISPLAY    FMD
*         WILL BE BUILT FOR THE ERROR.  IF THE EC REGISTER DOES NOT      FMD
*         CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE  FMD
*IF DEF,SFMD
*         FMD981 MODULE.                                                 FMD
*ENDIF
*IF DEF,PFMD
*         FHD981 MODULE.
*ENDIF
*IF DEF,LSFMD 
*         FLD981 MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD982 TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD981 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD981 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD981 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD982 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD982 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD982 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE ISOLATION MESSAGE TO BE APPENDED   FMD
*                       TO THE ERROR MESSAGE.                            FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD981 - PROCESS ERRORS.                                       FMD
*         FMD982 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD983 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD981 - PROCESS ERRORS.
*         FHD982 - PROCESS ISOLATION INFORMATION. 
*         FHD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD981 - PROCESS ERRORS.
*         FLD982 - PROCESS ISOLATION INFORMATION. 
*         FLD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0303B.                                           FMD
*                                                                        FMD
0  FORMAT AFTER READING UPPER CYLINDER, LOWER CYLINDER,                  FMD
1  FORMAT DIFFERENCE UPPER, AND HEAD REGISTER, THE                       FMD
2  FORMAT DIFFERENCE LOWER REGISTER IS NO LONGER ALL ONES.               FMD
*                                                                        FMD
/         ERROR MESSAGE 0303C.                                           FMD
*                                                                        FMD
3  FORMAT ISSUING A RTZ COMMAND FAILED TO CLEAR OUT LOWER                FMD
4  FORMAT DIFFERENCE REGISTER.                                           FMD
*                                                                        FMD
/         ERROR MESSAGE 0303D.                                           FMD
*                                                                        FMD
5  FORMAT ISSUING A LOAD HEAD REGISTER WITH AN ALL ZEROS                 FMD
6  FORMAT PATTERN FAILED TO PRODUCE PROPER STATUS.                       FMD
*                                                                        FMD
/         ERROR MESSAGE 0303E.                                           FMD
*                                                                        FMD
7  FORMAT AFTER LOADING HEAD REGISTER WITH 1010 1010,                    FMD
10 FORMAT INCORRECT STATUS WAS RECEIVED.                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0303F.                                           FMD
*                                                                        FMD
11 FORMAT AFTER LOADING HEAD REGISTER WITH A 1010 1010 AND               FMD
12 FORMAT RECEIVING PROPER STATUS, A READ HEAD REGISTER WAS              FMD
13 FORMAT ISSUED AND INCORRECT STATUS WAS RECEIVED.                      FMD
*                                                                        FMD
/         ERROR MESSAGE 03040.                                           FMD
*                                                                        FMD
14 FORMAT AFTER LOADING HEAD REGISTER WITH A 0101 0101,                  FMD
15 FORMAT INCORRECT STATUS WAS RECEIVED ON BUS IN.                       FMD
*                                                                        FMD
/         ERROR MESSAGE 03041.                                           FMD
*                                                                        FMD
16 FORMAT AFTER LOADING HEAD REGISTER WITH A 0101 0101 AND               FMD
17 FORMAT RECEIVING PROPER STATUS, A READ HEAD REGISTER WAS              FMD
20 FORMAT ISSUED AND INCORRECT STATUS WAS RECEIVED.                      FMD
*                                                                        FMD
/         ERROR MESSAGE 03042.                                           FMD
*                                                                        FMD
21 FORMAT AFTER LOADING HEAD REGISTER WITH 1111 1111,                    FMD
22 FORMAT INCORRECT STATUS WAS RECEIVED.                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 03043.                                           FMD
*                                                                        FMD
23 FORMAT AFTER LOADING HEAD REGISTER WITH A 1111 1111 AND               FMD
24 FORMAT RECEIVING PROPER STATUS, A READ CYLINDER UPPER WAS             FMD
25 FORMAT ISSUED AND INCORRECT STATUS WAS RECEIVED.                      FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=33                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 73) GOTO 34      *IF ERROR CODE 0303B                        FMD
   B2=34                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 74) GOTO 40      *IF ERROR CODE 0303C                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 75) GOTO 40      *IF ERROR CODE 0303D                        FMD
   B2=35                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 76) GOTO 40      *IF ERROR CODE 0303E                        FMD
   B2=35                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 77) GOTO 34      *IF ERROR CODE 0303F                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 100) GOTO 40     *IF ERROR CODE 03040                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 101) GOTO 34     *IF ERROR CODE 03041                        FMD
   B2=32                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 102) GOTO 40     *IF ERROR CODE 03042                        FMD
   B2=32                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 103) GOTO 34     *IF ERROR CODE 03043                        FMD
   EXIT TO 981               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0303B, 0303F, 03041, AND                   FMD
/         03043.                                                         FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0303C, 0303D, 0303E, 03040,                FMD
/         AND 003042                                                     FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 74) GOTO 50      *IF ERROR CODE 0303C                        FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 27 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 982  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD981,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD981,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD981,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD981 - PROCESS ERRORS FOR TEST 3.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD981 - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*IF DEF,LSFMD 
*         FLD981 - PROCESS ERRORS FOR TEST 3. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 03044, 03045, 03046,   FMD06
*         03047, AND 03048.                                              FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE ERROR DISPLAY WILL BE BUILT FOR ERROR CODES 44, 45, 46,    FMD
*         47, AND 48.                                                    FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD982 TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD982 TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         EXIT TO CALLING PRIMARY MODULE-                                FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD982 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD982 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD982 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE ISOLATION MESSAGE TO BE APPENDED   FMD
*                       TO THE ERROR MESSAGE.                            FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD982 - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD983 - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD982 - PROCESS ISOLATION INFORMATION. 
*         FHD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD982 - PROCESS ISOLATION INFORMATION. 
*         FLD983 - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 03044.                                           FMD
*                                                                        FMD
0  FORMAT AFTER LOADING HEAD REGISTER WITH A 1111 1111 AND               FMD
1  FORMAT RECEIVING PROPER STATUS, A READ CYLINDER LOWER WAS             FMD
2  FORMAT ISSUED AND INCORRECT STATUS WAS RECEIVED.                      FMD
*                                                                        FMD
/         ERROR MESSAGE 03045.                                           FMD
*                                                                        FMD
3  FORMAT AFTER LOADING HEAD REGISTER WITH 1111 1111 AND                 FMD
4  FORMAT RECEIVING PROPER STATUS, A READ DIFFERENCE UPPER               FMD
5  FORMAT WAS ISSUED AND INCORRECT STATUS WAS RECEIVED.                  FMD
*                                                                        FMD
/         ERROR MESSAGE 03046.                                           FMD
*                                                                        FMD
6  FORMAT AFTER LOADING HEAD REGISTER WITH A 1111 1111 AND               FMD
7  FORMAT RECEIVING PROPER STATUS, A READ DIFFERENCE LOWER               FMD
10 FORMAT WAS ISSUED AND INCORRECT STATUS WAS RECEIVED.                  FMD
*                                                                        FMD
/         ERROR MESSAGE 03047.                                           FMD
*                                                                        FMD
11 FORMAT AFTER ISSUING READ CYLINDER UPPER, READ CYLINDER               FMD
12 FORMAT LOWER, READ DIFFERENCE UPPER, READ DIFFERENCE                  FMD
13 FORMAT LOWER, A READ HEAD REGISTER WAS ISSUED AND THE                 FMD
14 FORMAT REGISTER WAS NOT AT ITS ORIGINAL SETTING.                      FMD
*                                                                        FMD
/         ERROR MESSAGE 03048.                                           FMD
*                                                                        FMD
15 FORMAT A RTZ COMMAND FAILED TO CLEAR HEAD REGISTER.                   FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
16 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 104) GOTO 40     *IF ERROR CODE 03044                        FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 105) GOTO 40     *IF ERROR CODE 03045                        FMD
   B2=35                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 106) GOTO 40     *IF ERROR CODE 03046                        FMD
   B2=36                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 107) GOTO 34     *IF ERROR CODE 03047                        FMD
   B2=37                     *SET INFORMATION FLAG FOR ERROR             FMD
   GOTO 44                   *THE ERROR CODE IS 03048.                   FMD
*                                                                        FMD
/         PROCESS ERROR CODE 03047.                                      FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 03044, 03045, AND 03046.                   FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODE 03048.                                      FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 16 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 982  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD982,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD982,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD982,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD982 - PROCESS ISOLATION INFORMATION FOR TEST 3.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD982 - PROCESS ISOLATION INFORMATION FOR TEST 3.
*ENDIF
*IF DEF,LSFMD 
*         FLD982 - PROCESS ISOLATION INFORMATION FOR TEST 3.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD982 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD98S THROUGH FMD981.          FMD
*ENDIF
*IF DEF,PFMD
*         FHD982 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD98S THROUGH FHD981. 
*ENDIF
*IF DEF,LSFMD 
*         FLD982 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD98S THROUGH FLD981. 
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO, OR THREE, OR FOUR LINE MESSAGE WILL BE APPENDED ONE     FMD
*         LINE AFTER THE END OF THE ERROR MESSAGE.                       FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD983 - APPEND ISOLATION INFORMATION.                         FMD
*ENDIF
*IF DEF,PFMD
*         FHD983 - APPEND ISOLATION INFORMATION.
*ENDIF
*IF DEF,LSFMD 
*         FLD983 - APPEND ISOLATION INFORMATION.
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
0  FORMAT REPLACE PWBS ONE AT A TIME IN THE FOLLOWING                    FMD
2  FORMAT ORDER - A/B*D, A/B*D.                                          FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
5  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.                     FMD
6  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.              FMD
7  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D,              FMD
10 FORMAT         A/B*D.                                                 FMD
11 FORMAT         A/B*D, A/B*D.                                          FMD
12 FORMAT         A/B*D, A/B*D, A/B*D.                                   FMD
13 FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D OR A/B*D,                   FMD
*                                                                        FMD
/         ERROR MESSAGE 03001 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
15 FORMAT READY AND SAFE WAS FUNCTIONING IN TEST 2, BUT                  FMD
16 FORMAT FAILED HERE. JUMP TO TEST 2. PERFORM CORRECTIVE                FMD
17 FORMAT ACTION AS DEFINED BY ERROR CODE FROM TEST 2.                   FMD
*                                                                        FMD
/         ERROR MESSAGE 03006 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
20 FORMAT A READY AND SAFE FAULT WAS NOT ANTICIPATED AT THIS             FMD
21 FORMAT TIME, HOWEVER TWO ERROR CODES ARE PROVIDED.                    FMD
22 FORMAT PERFORM THE CORRECTIVE ACTION UNDER THE 2ND ERROR              FMD
23 FORMAT CODE.                                                          FMD
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
*                                                                        FMD
30 B1=B1+2                   *INSERT BLANK LINE                          FMD
   IF(B2 NE 1) GOTO 32       *IF NOT NUMBER 1                            FMD
*                                                                        FMD
/         PROCESS 03001 ISOLATION MESSAGE.                               FMD
*                                                                        FMD
   MSG 15 TO LINE B1         *MOVE MESSAGE TO DISPLAY BUFFER             FMD
   MSG 16 TO LINE B1+1                                                   FMD
   MSG 17 TO LINE B1+2                                                   FMD
   EXIT TO 983               *EXIT TO NEXT ISOLATION MODULE              FMD
32 IF(B2 NE 2) GOTO 34       *IF NOT NUMBER 2                            FMD
*                                                                        FMD
/         PROCESS 03006 ISOLATION MESSAGE.                               FMD
*                                                                        FMD
   MSG 20 TO LINE B1         *MOVE MESSAGE TO DISPLAY BUFFER             FMD
   MSG 21 TO LINE B1+1                                                   FMD
   MSG 22 TO LINE B1+2                                                   FMD
   MSG 23 TO LINE B1+3                                                   FMD
   EXIT TO 983               *EXIT TO NEXT ISOLATION MODULE              FMD
34 MSG 0 TO LINE B1          *BOARDS MSG TO NEXT LINE                    FMD
   B1=B1+1                   *INCREMENT DISPLAY NUMBER                   FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 03000.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 3) MSG 2(03D,20D)TO LINE B1                                  FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 3) MSG 2(02D,20D)TO LINE B1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 3) MSG 2(03D,20D)TO LINE B1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 03002.                         FMD
*                                                                        FMD
   IF(B2 NE 4) GOTO 36                     *IF NOT NUMBER 4              FMD
   MSG 7(33D,34D,39D,38D,37D,36D)TO LINE B1                              FMD
   MSG 12(35D,23D,40D)TO LINE B1+1                                       FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 03003.                         FMD
*                                                                        FMD
36 IF(B2 NE 5) GOTO 40                     *IF NOT NUMBER 5              FMD
*IF DEF,SFMD
   MSG 13(22D,23D,21D,02D,04D)TO LINE B1                                 FMD
*ENDIF
*IF DEF,PFMD
   MSG 13(22D,23D,21D,01D,03D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   MSG 13(22D,23D,21D,02D,04D)TO LINE B1
*ENDIF
   MSG 11(40D,11D)TO LINE B1+1                                           FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 03004.                         FMD
*                                                                        FMD
40 IF(B2 EQ 6) MSG 6(39D,38D,37D,34D,33D,40D)TO LINE B1                  FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 03005.                         FMD
*                                                                        FMD
   IF(B2 EQ 7) MSG 4(22D,23D,21D,20D)TO LINE B1                          FMD
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 03007 AND 03008.              FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 10) MSG 3(16D,15D,25D)TO LINE B1                             FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 10) MSG 3(30D,29D,25D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 10) MSG 3(16D,15D,25D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 03009.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 11) MSG 4(15D,16D,22D,25D)TO LINE B1                         FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 11) MSG 4(29D,30D,22D,25D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 11) MSG 4(15D,16D,22D,25D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0300A.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 12) MSG 4(15D,16D,25D,22D)TO LINE B1                         FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 12) MSG 4(29D,30D,25D,22D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 12) MSG 4(15D,16D,25D,22D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0300B.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 13) MSG 3(15D,25D,22D)TO LINE B1                             FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 13) MSG 3(29D,25D,22D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 13) MSG 3(15D,25D,22D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0300C AND 0300D.              FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 14) MSG 3(16D,25D,22D)TO LINE B1                             FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 14) MSG 3(30D,25D,22D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 14) MSG 3(30D,25D,22D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0300E, 0300F,                 FMD
/         AND 03010.                                                     FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 15) MSG 7(16D,25D,22D,26D,27D,15D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 15) MSG 7(30D,25D,22D,26D,27D,29D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 15) MSG 7(16D,25D,22D,26D,27D,15D)TO LINE B1
*ENDIF
   IF(B2 EQ 15) MSG 12(23D,28D,20D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 03011, 03012,                 FMD
/         03013, 03025, 03027, 0302E, 0302F, 03033 03035,                FMD
/         03036, 03039, 0303A, 0303D, 03040, 03041, AND                  FMD
/         03045.                                                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 16) MSG 7(15D,22D,25D,26D,27D,16D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 16) MSG 7(29D,22D,25D,26D,27D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 16) MSG 7(15D,22D,25D,26D,27D,16D)TO LINE B1
*ENDIF
   IF(B2 EQ 16) MSG 12(23D,28D,20D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 03014, 03015,                 FMD
/         03016, 03017, 03019, 0301A, 0301B, 0301C, 0301D,               FMD
/         AND 0301E.                                                     FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 17) MSG 7(16D,25D,26D,27D,22D,15D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 17) MSG 7(30D,25D,26D,27D,22D,29D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 17) MSG 7(16D,25D,26D,27D,22D,15D)TO LINE B1
*ENDIF
   IF(B2 EQ 17) MSG 12(23D,28D,20D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 03018.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 20) MSG 4(15D,16D,32D,33D)TO LINE B1                         FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 20) MSG 4(29D,30D,32D,33D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 20) MSG 4(15D,16D,32D,33D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0301F.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 21) MSG 5(22D,16D,25D,26D,27D)TO LINE B1                     FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 21) MSG 5(22D,30D,25D,26D,27D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 21) MSG 5(22D,16D,25D,26D,27D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 03020, 03021,                 FMD
/         AND 03022.                                                     FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 22) MSG 5(22D,15D,25D,26D,27D)TO LINE B1                     FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 22) MSG 5(22D,29D,25D,26D,27D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 22) MSG 5(22D,15D,25D,26D,27D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 03023.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 23) MSG 6(22D,16D,15D,23D,28D,20D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 23) MSG 6(22D,30D,29D,23D,28D,20D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 23) MSG 6(22D,16D,15D,23D,28D,20D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 03024.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 24) MSG 4(16D,15D,32D,33D)TO LINE B1                         FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 24) MSG 4(30D,29D,32D,33D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 24) MSG 4(16D,15D,32D,33D)TO LINE B1
*ENDIF
   EXIT TO 983               *EXIT TO NEXT ISOLATION MODULE              FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD983,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD983,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD983,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD983 - PROCESS ISOLATION INFORMATION FOR TEST 3.             FMD
*ENDIF
*IF DEF,PFMD
*         FHD983 - PROCESS ISOLATION INFORMATION FOR TEST 3.
*ENDIF
*IF DEF,LSFMD 
*         FLD983 - PROCESS ISOLATION INFORMATION FOR TEST 3.
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*IF DEF,SFMD
*         FMD983 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY   FMD
*         FOR ERRORS REPORTED BY MODULES FMD98S THROUGH FMD982.          FMD
*ENDIF
*IF DEF,PFMD
*         FHD983 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FHD98S THROUGH FHD982. 
*ENDIF
*IF DEF,LSFMD 
*         FLD983 PLACES THE ISOLATION INFORMATION IN THE ERROR DISPLAY
*         FOR ERRORS REPORTED BY MODULES FLD98S THROUGH FLD982. 
*ENDIF
*                                                                        FMD
*         METHOD-                                                        FMD
*         A TWO, OR FOUR, OR SIX LINE MESSAGE WILL BE APPENDED ONE LINE  FMD
*         AFTER THE END OF THE ERROR MESSAGE. IF THE ERROR BEING         FMD
*         REPORTED IS 03007, 0R 03008, 0R 03009, OR 0300A, OR 0300B, OR  FMD
*         0300C, EXTRA INFORMATION WILL BE APPENDED TO THE INFORMATION   FMD
*         ALREADY THERE.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER FOR THE ISOLATION INFORMATION MESSAGE TO  FMD
*                       BE APPENDED TO THE ERROR MESSAGE.                FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - NOT USED.                                        FMD
*         B1 REGISTER - DISPLAY LINE NUMBER.                             FMD
*         B2 REGISTER - ISOLATION INFORMATION NUMBER.                    FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - NOT USED.                                        FMD
*         B10 REGISTER - NOT USED.                                       FMD
*         B11 REGISTER - NOT USED.                                       FMD
*         B12 REGISTER - NOT USED.                                       FMD
*         B13 REGISTER - CONDITION NUMBER                                FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - NOT USED.                                        FMD
*         WS REGISTER - NOT USED.                                        FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
3  FORMAT ORDER - A/B*D, A/B*D, A/B*D.                                   FMD
4  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D.                            FMD
5  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.                     FMD
6  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D.              FMD
7  FORMAT ORDER - A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, A/B*D, 
10 FORMAT         A/B*D.
11 FORMAT         A/B*D, A/B*D, A/B*D.
*                                                                        FMD
/         ERROR MESSAGE 03007 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
12 FORMAT A PREVIOUS RTZ COMMAND WAS EXPECTED TO CLEAR THE               FMD
13 FORMAT CYLINDER REGISTER. ALL ZEROS WAS EXPECTED ON BUS               FMD
14 FORMAT IN. THIS ONLY CHECKS THE UPPER CYLINDER REGISTER.              FMD
15 FORMAT                                                                FMD
*                                                                        FMD
/         ERROR MESSAGE 03008 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
16 FORMAT THE LOWER CYLINDER REGISTER WAS EXPECTED TO BE                 FMD
17 FORMAT ALL ZEROS AFTER THE RTZ COMMAND.                               FMD
*                                                                        FMD
/         ERROR MESSAGE 03009 ISOLATION INFORMATION.                     FMD
*                                                                        FMD
20 FORMAT THE UPPER DIFFERENCE COUNTER WAS READ AND ALL                  FMD
21 FORMAT ZEROS WAS EXPECTED.                                            FMD
*                                                                        FMD
/         ERROR MESSAGE 0300A ISOLATION INFORMATION.                     FMD
*                                                                        FMD
22 FORMAT THE LOWER DIFFERENCE COUNTER WAS READ AND ALL                  FMD
23 FORMAT ZEROS WERE EXPECTED AFTER A RTZ COMMAND.                       FMD
*                                                                        FMD
/         ERROR MESSAGE 0300B ISOLATION INFORMATION.                     FMD
*                                                                        FMD
24 FORMAT THE HEAD REGISTER WAS READ AND ZEROS WERE EXPECTED             FMD
25 FORMAT AFTER A RTZ COMMAND.                                           FMD
*                                                                        FMD
/         ERROR MESSAGE 0300C ISOLATION INFORMATION.                     FMD
*                                                                        FMD
26 FORMAT ALL ZEROS WERE EXPECTED ON BUS IN AFTER LOADING                FMD
27 FORMAT UPPER CYLINDER WITH ALL ZEROS.                                 FMD
*                                                                        FMD
/         B2 CONTAINS THE ISOLATION INFORMATION NUMBER.                  FMD
/         ISOLATION INFORMATION FOR ERROR 03026.                         FMD
*                                                                        FMD
*IF DEF,SFMD
30 IF(B2 EQ 25) MSG 7(15D,22D,25D,26D,27D,23D)TO LINE B1
   IF(B2 EQ 25) MSG 11(16D,28D,20D)TO LINE B1+1 
*ENDIF
*IF DEF,PFMD
30 IF(B2 EQ 25) MSG 7(29D,22D,25D,26D,27D,23D)TO LINE B1
   IF(B2 EQ 25) MSG 11(30D,28D,20D)TO LINE B1+1 
*ENDIF
*IF DEF,LSFMD 
30 IF(B2 EQ 25) MSG 7(15D,22D,25D,26D,27D,23D)TO LINE B1
   IF(B2 EQ 25) MSG 11(16D,28D,20D)TO LINE B1+1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 03028 AND 03029.              FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 26) MSG 7(15D,22D,25D,26D,23D,27D)TO LINE B1
   IF(B2 EQ 26) MSG 11(16D,28D,20D)TO LINE B1+1 
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 26) MSG 7(29D,22D,25D,26D,23D,27D)TO LINE B1
   IF(B2 EQ 26) MSG 11(30D,28D,20D)TO LINE B1+1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 26) MSG 7(15D,22D,25D,26D,23D,27D)TO LINE B1
   IF(B2 EQ 26) MSG 11(16D,28D,20D)TO LINE B1+1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0302A AND 03031.              FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 27) MSG 7(15D,22D,23D,25D,26D,27D)TO LINE B1
   IF(B2 EQ 27) MSG 11(16D,28D,20D)TO LINE B1+1 
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 27) MSG 7(29D,22D,23D,25D,26D,27D)TO LINE B1
   IF(B2 EQ 27) MSG 11(30D,28D,20D)TO LINE B1+1 
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 27) MSG 7(15D,22D,23D,25D,26D,27D)TO LINE B1
   IF(B2 EQ 27) MSG 11(16D,28D,20D)TO LINE B1+1 
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0302B, 0302C,                 FMD
/         0302D, 03037, 03038, AND 03044.                                FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 30) MSG 7(16D,22D,25D,26D,27D,15D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 30) MSG 7(30D,22D,25D,26D,27D,29D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 30) MSG 7(16D,22D,25D,26D,27D,15D)TO LINE B1
*ENDIF
   IF(B2 EQ 30) MSG 11(23D,28D,20D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 03030.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 31) MSG 3(15D,33D,32D)TO LINE B1                             FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 31) MSG 3(29D,33D,32D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 31) MSG 3(15D,33D,32D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 03032, 03034,                 FMD
/         03042, AND 03043.                                              FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 32) MSG 7(15D,22D,25D,26D,27D,16D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 32) MSG 7(29D,22D,25D,26D,27D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 32) MSG 7(15D,22D,25D,26D,27D,16D)TO LINE B1
*ENDIF
   IF(B2 EQ 32) MSG 11(23D,28D,20D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0303B.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 33) MSG 6(15D,22D,23D,16D,28D,20D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 33) MSG 6(29D,22D,23D,30D,28D,20D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 33) MSG 6(15D,22D,23D,16D,28D,20D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 0303C.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 34) MSG 3(15D,32D,33D)TO LINE B1                             FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 34) MSG 3(29D,32D,33D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 34) MSG 3(15D,32D,33D)TO LINE B1
*ENDIF
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERRORS 0303E, 0303F,                 FMD
/         AND 03046.                                                     FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 35) MSG 7(15D,25D,26D,27D,22D,16D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 35) MSG 7(29D,25D,26D,27D,22D,30D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 35) MSG 7(15D,32D,33D)TO LINE B1
*ENDIF
   IF(B2 EQ 35) MSG 11(23D,28D,20D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 03047.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 36) MSG 7(15D,22D,23D,25D,16D,28D)TO LINE B1
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 36) MSG 7(29D,22D,23D,25D,30D,28D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 36) MSG 7(15D,22D,23D,25D,16D,28D)TO LINE B1
*ENDIF
   IF(B2 EQ 36) MSG 10(20D)TO LINE B1+1 
*                                                                        FMD
/         ISOLATION INFORMATION FOR ERROR 03048.                         FMD
*                                                                        FMD
*IF DEF,SFMD
   IF(B2 EQ 37) MSG 6(15D,32D,33D,25D,26D,27D)TO LINE B1                 FMD
*ENDIF
*IF DEF,PFMD
   IF(B2 EQ 37) MSG 6(29D,32D,33D,25D,26D,27D)TO LINE B1
*ENDIF
*IF DEF,LSFMD 
   IF(B2 EQ 37) MSG 6(15D,32D,33D,25D,26D,27D)TO LINE B1
*ENDIF
*                                                                        FMD
/         APPEND EXTRA INFORMATION FOR ERRORS 03007, 03008,              FMD
/         03009, 0300A, 0300B, AND 0300C.                                FMD
*                                                                        FMD
   B1=B1+1                   *INCRMENT DISPLAY LINE NUMBER               FMD
   B2=16                     *ERROR 03008 INFORMATION                    FMD
   IF(EC EQ 10) GOTO 34      *IF ERROR CODE 03008                        FMD
   B2=20                     *ERROR 03009 INFORMATION                    FMD
   IF(EC EQ 11) GOTO 34      *IF ERROR CODE 03009                        FMD
   B2=22                     *ERROR 0300A INFORMATION                    FMD
   IF(EC EQ 12) GOTO 34      *IF ERROR CODE 0300A                        FMD
   B2=24                     *ERROR 0300B INFORMATION                    FMD
   IF(EC EQ 13) GOTO 34      *IF ERROR CODE 0300B                        FMD
   B2=26                     *ERROR 0300C INFORMATION                    FMD
   IF(EC EQ 14) GOTO 34      *IF ERROR CODE 0300C                        FMD
   B2=12                     *ERROR 03007 INFORMATION                    FMD
   IF(EC NE 7) GOTO 40       *IF NOT ERROR CODE 03007                    FMD
   MSG B2 TO LINE B1         *MOVE MESSAGE TO DISPLAY BUFFER             FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD10
   B2=B2+1                   *INCREMENT MESSAGE NUMBER                   FMD10
   MSG B2 TO LINE B1         *MOVE NEXT LINE                             FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD10
   B2=B2+1                   *INCREMENT MESSAGE NUMBER                   FMD10
34 MSG B2 TO LINE B1         *MOVE NEXT LINE                             FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD10
   B2=B2+1                   *INCREMENT MESSAGE NUMBER                   FMD10
   MSG B2 TO LINE B1         *MOVE NEXT LINE                             FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
40 PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD984,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD984,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD984,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD984 - PROCESS ERRORS FOR TEST 4.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD984 - PROCESS ERRORS FOR TEST 4. 
*ENDIF
*IF DEF,LSFMD 
*         FLD984 - PROCESS ERRORS FOR TEST 4. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 04000, 04001, 04002,   FMD06
*         04003, AND 04004.                                              FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         THE FIRST THREE LINES FOR THE ERROR DISPLAY WILL BE PLACED IN  FMD
*         THE DISPLAY BUFFER.  IF THE ERROR CODE NUMBER IN THE EC        FMD
*         REGISTER IS A PRODUCT OVERLAY ERROR CODE, THE MODULE WILL EXIT FMD
*IF DEF,SFMD
*         TO THE FMD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE FMD
*ENDIF
*IF DEF,PFMD
*         TO THE FHD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*IF DEF,LSFMD 
*         TO THE FLD98B MODULE TO BUILD THE ERROR DISPLAY AND REPORT THE
*ENDIF
*         ERROR. THE ERROR CODE LINE WILL BE PLACED IN THE DISPLAY       FMD
*         BUFFER. IF THE EC REGISTER CONTAINS THE ERROR CODES 00, OR 01, FMD
*         OR 02, OR 03, OR 04, THE ERROR DISPLAY WILL BE BUILT FOR THE   FMD
*         ERROR. IF THE EC REGISTER DOES NOT CONTAIN ONE OF THESE ERROR  FMD
*IF DEF,SFMD
*         CODES, THE MODULE WILL EXIT TO THE FMD985 MODULE.              FMD
*ENDIF
*IF DEF,PFMD
*         CODES, THE MODULE WILL EXIT TO THE FHD985 MODULE. 
*ENDIF
*IF DEF,LSFMD 
*         CODES, THE MODULE WILL EXIT TO THE FLD985 MODULE. 
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97D TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97D TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97D TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         EA REGISTER CONTAINS THE ERROR ADDRESS.                        FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD98B -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD98B - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD98B - 
*ENDIF
*         B0 REGISTER CONTAINS THE CALLING MODULE NUMBER.                FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         THE FIRST THREE LINES OF THE ERROR DISPLAY PLACED IN THE       FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD985 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD985 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD985 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97D -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97D - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97D - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE FORMAT STATEMENT OF THE ISOLATION  FMD
*                       INFORMATION.                                     FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD98B - PROCESS PRODUCT OVERLAY ERRORS.                       FMD
*         FMD985 - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FHD985 - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B - PROCESS PRODUCT OVERLAY ERRORS.
*         FLD985 - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CALLING MODULE NUMBER.                           FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
*IF DEF,SFMD
0  FORMAT FMD - FIXED MODULE DRIVE DIAGNOSTIC                            FMD
1  FORMAT FMD14 - 48, 49 STATUS TEST                                     FMD
2  FORMAT FMD15 - 4A, 4B STATUS TEST                                     FMD
3  FORMAT FMD16 - 4C,4E,4F STATUS TEST                                   FMD
4  FORMAT FMD17 - 4C BIT 0 STATUS TEST                                   FMD
5  FORMAT FMD18 - 4C BIT 4 STATUS TEST                                   FMD
6  FORMAT FMD19 - 4C BIT 5 STATUS TEST                                   FMD
7  FORMAT FMD20 - 4C BIT 6 STATUS TEST                                   FMD
10 FORMAT FMD21 - 4C BIT 7 STATUS TEST                                   FMD
11 FORMAT FMD22 - 46, 47 STATUS TEST                                     FMD
12 FORMAT FMD23 - 4D BIT 3 STATUS TEST                                   FMD
13 FORMAT FMD24 - 4D BIT 4 STATUS TEST                                   FMD
14 FORMAT FMD25 - 4D BIT 5 STATUS TEST                                   FMD
15 FORMAT FMD26 - 4D BIT 6 STATUS TEST                                   FMD
16 FORMAT PRESERVICE FORECAST GROUP FMDD                                 FMD05
17 FORMAT FMD*D - LINE *OCT ERROR CODE 04*HE                             FMD
*ENDIF
*IF DEF,PFMD
0  FORMAT FHD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FHD14 - 48, 49 STATUS TEST
2  FORMAT FHD15 - 4A, 4B STATUS TEST
3  FORMAT FHD16 - 4C,4E,4F STATUS TEST
4  FORMAT FHD17 - 4C BIT 0 STATUS TEST
5  FORMAT FHD18 - 4C BIT 4 STATUS TEST
6  FORMAT FHD19 - 4C BIT 5 STATUS TEST
7  FORMAT FHD20 - 4C BIT 6 STATUS TEST
10 FORMAT FHD21 - 4C BIT 7 STATUS TEST
11 FORMAT FHD22 - 46, 47 STATUS TEST
12 FORMAT FHD23 - 4D BIT 3 STATUS TEST
13 FORMAT FHD24 - 4D BIT 4 STATUS TEST
14 FORMAT FHD25 - 4D BIT 5 STATUS TEST
15 FORMAT FHD26 - 4D BIT 6 STATUS TEST
16 FORMAT PRESERVICE FORECAST GROUP FHDD
17 FORMAT FHD*D - LINE *OCT ERROR CODE 04*HE
*ENDIF
*IF DEF,LSFMD 
0  FORMAT FLD - FIXED MODULE DRIVE DIAGNOSTIC 
1  FORMAT FLD14 - 48,49 STATUS TEST 
2  FORMAT FLD15 - 4A, 4B STATUS TEST
3  FORMAT FLD16 - 4C,4E,4F STATUS TEST
4  FORMAT FLD17 - 4C BIT 0 STATUS TEST
5  FORMAT FLD18 - 4C BIT 4 STATUS TEST
6  FORMAT FLD19 - 4C BIT 5 STATUS TEST
7  FORMAT FLD20 - 4C BIT 6 STATUS TEST
10 FORMAT FLD21 - 4C BIT 7 STATUS TEST
11 FORMAT FLD22 - 46, 47 STATUS TEST
12 FORMAT FLD23 - 4D BIT 3 STATUS TEST
13 FORMAT FLD24 - 4D BIT 4 STATUS TEST
14 FORMAT FLD25 - 4D BIT 5 STATUS TEST
15 FORMAT FLD26 - 4D BIT 6 STATUS TEST
16 FORMAT PRESERVICE FORECAST GROUP FMDD
17 FORMAT FLD*D - LINE *OCT ERROR CODE 04*HE
*ENDIF
*                                                                        FMD
/         ERROR MESSAGE 04000.                                           FMD
*                                                                        FMD
20 FORMAT SELECT AND RESERVE NOT ACTIVE AFTER DROPPING AND               FMD
21 FORMAT RAISING SELECT LINE.                                           FMD
*                                                                        FMD
/         ERROR MESSAGE 04001.                                           FMD
*                                                                        FMD
22 FORMAT READY AND SAFE NOT ACTIVE AFTER UNIT SELECT.                   FMD
*                                                                        FMD
/         ERROR MESSAGE 04002.                                           FMD
*                                                                        FMD
23 FORMAT AFTER ISSUING AN RTZ CMD, UNIT FAILED TO LOSE ON               FMD
24 FORMAT CYLINDER.                                                      FMD
*                                                                        FMD
/         ERROR MESSAGE 04003.                                           FMD
*                                                                        FMD
25 FORMAT AFTER ISSUING A RTZ CMD AND DELAYING 300 MS,                   FMD
26 FORMAT DEVICE FAILED TO COME ON CYLINDER.                             FMD
*                                                                        FMD
/         ERROR MESSAGE 04004.                                           FMD
*                                                                        FMD
27 FORMAT READY AND SAFE NOT ACTIVE AFTER RTZ CMD.                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 MSG 0 TO LINE 1           *DIAGNOSTIC TITLE MESSAGE                   FMD
   B1=B0-13D                 *CALL MODULE NAME MESSAGE                   FMD
   MSG B1 TO LINE 2          *MODULE NUMBER AND NAME MESSAGE             FMD
   MSG 16 TO LINE 3          *PRESERVICE FORECAST MESSAGE                FMD05
   IF(EC GT 3777) EXIT TO 98B  *IF PRODUCT OVERLAY ERROR                 FMD
   MSG 17(B0,EA,EC) TO LINE 5  *ERROR CODE TO DISPLAY                    FMD
   B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=4                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 0) GOTO 34       *IF ERROR CODE 04000                        FMD
   B2=1                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 1) GOTO 40       *IF ERROR CODE 04001                        FMD
   B2=5                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 2) GOTO 34       *IF ERROR CODE 04002                        FMD
   B2=6                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 3) GOTO 34       *IF ERROR CODE 04003                        FMD
   B2=2                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 4) GOTO 40       *IF ERROR CODE 04004                        FMD
   EXIT TO 985               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 04000, 04002, AND 04003.                   FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 04001 AND 04004.                           FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97D  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD985,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD985,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD985,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD985 - PROCESS ERRORS FOR TEST 4.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD985 - PROCESS ERRORS FOR TEST 4. 
*ENDIF
*IF DEF,LSFMD 
*         FLD985 - PROCESS ERRORS FOR TEST 4. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 04005, 04006, 04007,   FMD06
*         04008, 04009, 0400A, 0400B, 0400C, 0400D, AND, 0400E.          FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 05, OR 06, OR 07,  FMD
*         OR 08, OR 09, OR 0A, OR 0B, OR 0C, OR 0D, OR 0E, THE ERROR     FMD
*         DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER DOES   FMD
*         NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO  FMD
*IF DEF,SFMD
*         THE FMD986 MODULE.                                             FMD
*ENDIF
*IF DEF,PFMD
*         THE FHD986 MODULE.
*ENDIF
*IF DEF,LSFMD 
*         THE FLD986 MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97D TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97D TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97D TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED               FMD
*         IN THE DISPLAY BUFFER BY THE CALLING MODULE.                   FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD986 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD986 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD986 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97D -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97D - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97D - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE FORMAT STATEMENT OF THE ISOLATION  FMD
*                       INFORMATION.                                     FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD986 - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD986 - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD986 - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CALLING MODULE NUMBER.                           FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 04005.                                           FMD
*                                                                        FMD
0  FORMAT AFTER ISSUING AN RTZ CMD, STATUS RETURNED                      FMD
1  FORMAT INDICATED DEVICE DID NOT GO BUSY (BUS IN BIT 0                 FMD
2  FORMAT WAS ACTIVE).                                                   FMD
*                                                                        FMD
/         ERROR MESSAGE 04006.                                           FMD
*                                                                        FMD
3  FORMAT AFTER ISSUING AN RTZ CMD, STATUS RETURNED                      FMD
4  FORMAT INDICATED BUS IN BIT 1 WAS ACTIVE.                             FMD
*                                                                        FMD
/         ERROR MESSAGE 04007.                                           FMD
*                                                                        FMD
5  FORMAT AFTER ISSUING AN RTZ CMD, STATUS RETURNED                      FMD
6  FORMAT INDICATED BUS IN BIT 2 WAS ACTIVE.                             FMD
*                                                                        FMD
/         ERROR MESSAGE 04008.                                           FMD
*                                                                        FMD
7  FORMAT AFTER ISSUING AN RTZ CMD, STATUS RETURNED                      FMD
10 FORMAT INDICATED DEVICE WAS NOT ON LINE. BUS IN BIT 3 WAS             FMD
11 FORMAT NOT ACTIVE.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 04009.                                           FMD
*                                                                        FMD
12 FORMAT AFTER ISSURING AN RTZ CMD, STATUS INDICATED A R/W              FMD
13 FORMAT CHECK. BUS IN BIT 4 ACTIVE.                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 0400A.                                           FMD
*                                                                        FMD
14 FORMAT AFTER ISSUING AN RTZ CMD, STATUS INDICATED A DRIVE             FMD
15 FORMAT CHECK. BUS IN BIT 5 ACTIVE.                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 0400B.                                           FMD
*                                                                        FMD
16 FORMAT AFTER ISSUING AN RTZ CMD, STATUS INDICATED AN                  FMD
17 FORMAT ACCESS ERROR. BUS IN BIT 6 ACTIVE.                             FMD
*                                                                        FMD
/         ERROR MESSAGE 0400C.                                           FMD
*                                                                        FMD
20 FORMAT AFTER ISSUING AN RTZ CMD, STATUS INDICATED                     FMD
21 FORMAT CONTROL SELECT WAS ACTIVE. BUS IN BIT 7 ACTIVE.                FMD
*                                                                        FMD
/         ERROR MESSAGE 0400D.                                           FMD
*                                                                        FMD
22 FORMAT STATUS VALID WAS NOT RETURNED AFTER ISSUING A                  FMD
23 FORMAT NORMAL CMD.                                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 0400E.                                           FMD
*                                                                        FMD
24 FORMAT READY AND SAFE NOT ACTIVE AFTER ISSUING A ZERO                 FMD
25 FORMAT TRACK SEEK.                                                    FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
26 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=7                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 5) GOTO 34       *IF ERROR CODE 04005                        FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 6) GOTO 40       *IF ERROR CODE 04006                        FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 7) GOTO 40       *IF ERROR CODE 04007                        FMD
   B2=11                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 10) GOTO 34      *IF ERROR CODE 04008                        FMD
   B2=12                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 11) GOTO 40      *IF ERROR CODE 04009                        FMD
   B2=12                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 12) GOTO 40      *IF ERROR CODE 0400A                        FMD
   B2=12                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 13) GOTO 40      *IF ERROR CODE 0400B                        FMD
   B2=13                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 14) GOTO 40      *IF ERROR CODE 0400C                        FMD
   B2=14                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 15) GOTO 40      *IF ERROR CODE 0400D                        FMD
   B2=2                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 16) GOTO 40      *IF ERROR CODE 0400E                        FMD
   EXIT TO 986               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 04005 AND 04008.                           FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 04006, 04007, 04009, 0400A,                FMD
/         0400B, 0400C, 0400D, AND 0400E.                                FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 15) GOTO 50      *IF ERROR CODE 0400D                        FMD
   IF(EC EQ 16) GOTO 50      *IF ERROR CODE 0400E                        FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 26 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97D  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD986,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD986,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD986,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD986 - PROCESS ERRORS FOR TEST 4.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD986 - PROCESS ERRORS FOR TEST 4. 
*ENDIF
*IF DEF,LSFMD 
*         FLD986 - PROCESS ERRORS FOR TEST 4. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 04010, 04011, 04012,   FMD06
*         04013, 04014, 04015, 04016, 04017, 04018, AND 04019.           FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 10, OR 11, OR 12,  FMD
*         OR 13, OR 14, OR 15, OR 16, OR 17, 0R 18, 0R 19, THE ERROR     FMD
*         DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC REGISTER DOES   FMD
*         NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO  FMD
*IF DEF,SFMD
*         THE FMD987 MODULE.                                             FMD
*ENDIF
*IF DEF,PFMD
*         THE FHD987 MODULE.
*ENDIF
*IF DEF,LSFMD 
*         THE FLD987 MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97D TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97D TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97D TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD987 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD987 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD987 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97D -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97D - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97D - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE FORMAT STATEMENT OF THE ISOLATION  FMD
*                       INFORMATION.                                     FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD987 - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD987 - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD987 - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - CALLING MODULE NUMBER.                           FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 04010.                                           FMD
*                                                                        FMD
2  FORMAT AFTER ISSUING A ZERO TRACK SEEK, ON CYL DID NOT                FMD
3  FORMAT BECOME ACTIVE AFTER 300 MS.                                    FMD
*                                                                        FMD
/         ERROR MESSAGE 04011.                                           FMD
*                                                                        FMD
4  FORMAT AFTER ISSUING A ZERO TRACK SEEK, STATUS INDICATED              FMD
5  FORMAT UNIT DID NOT GO BUSY. BUS IN BIT 0 WAS ACTIVE.                 FMD
*                                                                        FMD
/         ERROR MESSAGE 04012.                                           FMD
*                                                                        FMD
6  FORMAT AFTER ISSUING A ZERO TRACK SEEK, STATUS INDICATED              FMD
7  FORMAT BUS IN BIT 1 WAS ACTIVE.                                       FMD
*                                                                        FMD
/         ERROR MESSAGE 04013.                                           FMD
*                                                                        FMD
10 FORMAT AFTER ISSUING A ZERO TRACK SEEK, STATUS INDICATED              FMD
11 FORMAT BUS IN BIT 2 WAS ACTIVE.                                       FMD
*                                                                        FMD
/         ERROR MESSAGE 04014.                                           FMD
*                                                                        FMD
12 FORMAT AFTER ISSUING A SEEK CMD, STATUS INDICATED DEVICE              FMD
13 FORMAT NOT ON LINE. BUS IN BIT 3 NOT ACTIVE.                          FMD
*                                                                        FMD
/         ERROR MESSAGE 04015.                                           FMD
*                                                                        FMD
14 FORMAT AFTER ISSUING A ZERO TRACK SEEK, STATUS INDICATED              FMD
15 FORMAT A R/W CHECK. BUS IN BIT 4 WAS ACTIVE.                          FMD
*                                                                        FMD
/         ERROR MESSAGE 04016.                                           FMD
*                                                                        FMD
16 FORMAT AFTER ISSUING A ZERO TRACK SEEK, STATUS INDICATED              FMD
17 FORMAT A DRIVE CHECK. BUS IN BIT 5 WAS ACTIVE.                        FMD
*                                                                        FMD
/         ERROR MESSAGE 04017.                                           FMD
*                                                                        FMD
20 FORMAT AFTER ISSUING SEEK CMD, STATUS INDICATED AN                    FMD
21 FORMAT ACCESS ERROR. BUS IN BIT 6 ACTIVE.                             FMD
*                                                                        FMD
/         ERROR MESSAGE 04018.                                           FMD
*                                                                        FMD
22 FORMAT AFTER ISSUING A SEEK CMD OF ZERO TRACKS, BUS IN                FMD
23 FORMAT INDICATED CONTROL SELECT WAS ACTIVE. BUS IN BIT 7              FMD
24 FORMAT ACTIVE.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 04019.                                           FMD
*                                                                        FMD
25 FORMAT READY AND SAFE NOT ACTIVE AFTER ISSUING A CLR                  FMD
26 FORMAT FAULT CMD.                                                     FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=15                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 20) GOTO 40       *IF ERROR CODE 04010                       FMD
   B2=16                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 21) GOTO 40       *IF ERROR CODE 04011                       FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 22) GOTO 40       *IF ERROR CODE 04012                       FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 23) GOTO 40       *IF ERROR CODE 04013                       FMD
   B2=20                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 24) GOTO 40       *IF ERROR CODE 04014                       FMD
   B2=12                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 25) GOTO 40       *IF ERROR CODE 04015                       FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 26) GOTO 40       *IF ERROR CODE 04016                       FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 27) GOTO 40       *IF ERROR CODE 04017                       FMD
   B2=21                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 30) GOTO 34       *IF ERROR CODE 04018                       FMD
   B2=2                      *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 31) GOTO 40       *IF ERROR CODE 04019                       FMD
   EXIT TO 987               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODE 04018.                                      FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES  04010, 04011, 04012, 04013.               FMD
/         04014, 04015, 04016, 04017, AND 04019.                         FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
   MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 20) GOTO 50      *IF ERROR CODE 04010                        FMD
   IF(EC EQ 31) GOTO 50      *IF ERROR CODE 04019                        FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 27 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97D  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD987,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD987,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD987,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD987 - PROCESS ERRORS FOR TEST 4.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD987 - PROCESS ERRORS FOR TEST 4. 
*ENDIF
*IF DEF,LSFMD 
*         FLD987 - PROCESS ERRORS FOR TEST 4. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 0401A, 0401B, 0401C,   FMD06
*         0401D, 0401E, 0401F, 04020, 04021, 04022, 04023, 04024, AND    FMD06
*         04025.                                                         FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 1A, OR 1B, OR 1C,  FMD
*         OR 1D, OR 1E, OR 1F, OR 20, OR 21, OR 22, OR 23, OR 24, OR 25, FMD
*         THE ERROR DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC       FMD
*         REGISTER DOES NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE FMD
*IF DEF,SFMD
*         WILL EXIT TO THE FMD988 MODULE.                                FMD
*ENDIF
*IF DEF,PFMD
*         WILL EXIT TO THE FHD988 MODULE. 
*ENDIF
*IF DEF,LSFMD 
*         WILL EXIT TO THE FLD988 MODULE. 
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97D TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97D TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97D TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD988 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD988 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD988 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97D -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97D - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97D - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE FORMAT STATEMENT OF THE ISOLATION  FMD
*                       INFORMATION.                                     FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD988 - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD988 - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD988 - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 0401A.                                           FMD
*                                                                        FMD
0  FORMAT AFTER ISSUING A CLR FAULT CMD, STATUS INDICATED                FMD
1  FORMAT DEVICE WAS BUSY. BUS IN BIT 0 NOT ACTIVE.                      FMD
*                                                                        FMD
/         ERROR MESSAGE 0401B.                                           FMD
*                                                                        FMD
2  FORMAT AFTER ISSUING A CLR FAULT CMD, STATUS INDICATED                FMD
3  FORMAT BUS IN BIT 1 WAS ACTIVE.                                       FMD
*                                                                        FMD
/         ERROR MESSAGE 0401C.                                           FMD
*                                                                        FMD
4  FORMAT AFTER ISSUING A CLR FAULT CMD, STATUS INDICATED                FMD
5  FORMAT BUS IN BIT 2 WAS ACTIVE.                                       FMD
*                                                                        FMD
/         ERROR MESSAGE 0401D.                                           FMD
*                                                                        FMD
6  FORMAT AFTER ISSUING A CLR FAULT CMD, STATUS INDICATED                FMD
7  FORMAT DEVICE NOT ON LINE. BUS IN BIT 3 NOT ACTIVE.                   FMD
*                                                                        FMD
/         ERROR MESSAGE 0401E.                                           FMD
*                                                                        FMD
10 FORMAT AFTER ISSUING A CLR FAULT CMD, STATUS INDICATED A              FMD
11 FORMAT R/W CHECK. BUS IN BIT 4 WAS ACTIVE.                            FMD
*                                                                        FMD
/         ERROR MESSAGE 0401F.                                           FMD
*                                                                        FMD
12 FORMAT AFTER ISSUING A CLR FAULT CMD, STATUS INDICATED A              FMD
13 FORMAT DRIVE CHECK. BUS IN BIT 5 WAS ACTIVE.                          FMD
*                                                                        FMD
/         ERROR MESSAGE 04020.                                           FMD
*                                                                        FMD
14 FORMAT AFTER ISSUING A CLR FAULT CMD, STATUS INDICATED                FMD
15 FORMAT AN ACCESS ERROR. BUS IN BIT 6 WAS ACTIVE.                      FMD
*                                                                        FMD
/         ERROR MESSAGE 04021.                                           FMD
*                                                                        FMD
16 FORMAT AFTER ISSUING A CLR FAULT CMD, STATUS INDICATED                FMD
17 FORMAT CONTROL SELECT WAS ACTIVE. BUS IN BIT 7 WAS                    FMD
20 FORMAT ACTIVE.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 04022.                                           FMD
*                                                                        FMD
21 FORMAT AFTER ISSUING A RLS CMD, READY AND SAFE WAS NOT                FMD
22 FORMAT ACTIVE.                                                        FMD
*                                                                        FMD
/         ERROR MESSAGE 04023.                                           FMD
*                                                                        FMD
23 FORMAT SELECT AND RSVD STILL ACTIVE AFTER A RLS CMD.                  FMD
*                                                                        FMD
/         ERROR MESSAGE 04024.                                           FMD
*                                                                        FMD
24 FORMAT BUS IN NOT EQUAL TO 1000 0000 AFTER RLS CMD.                   FMD
*                                                                        FMD
/         ERROR MESSAGE 04025.                                           FMD
*                                                                        FMD
25 FORMAT READY AND SAFE NOT ACTIVE AFTER ISSUING A 4E CMD               FMD
26 FORMAT WITH BUS OUT EQUAL FF (NO-OP CMD).                             FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=22                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 32) GOTO 40      *IF ERROR CODE 0401A                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 33) GOTO 40      *IF ERROR CODE 0401B                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 34) GOTO 40      *IF ERROR CODE 0401C                        FMD
   B2=23                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 35) GOTO 40      *IF ERROR CODE 0401D                        FMD
   B2=24                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 36) GOTO 40      *IF ERROR CODE 0401E                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 37) GOTO 40      *IF ERROR CODE 0401F                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 40) GOTO 40      *IF ERROR CODE 04020                        FMD
   B2=21                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 41) GOTO 34      *IF ERROR CODE 04021                        FMD
   B2=25                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 42) GOTO 40      *IF ERROR CODE 04022                        FMD
   B2=25                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 43) GOTO 44      *IF ERROR CODE 04023                        FMD
   B2=26                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 44) GOTO 44      *IF ERROR CODE 04024                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 45) GOTO 40      *IF ERROR CODE 04025                        FMD
   EXIT TO 988               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODE 04021.                                      FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 0401A, 0401B, 0401C, 0401D,                FMD
/         0401E, 0401F, 04020, 04021, AND 04025.                         FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 04023 AND 04024.                           FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 42) GOTO 50      *IF ERROR CODE 04022                        FMD
   IF(EC EQ 43) GOTO 50      *IF ERROR CODE 04023                        FMD
   IF(EC EQ 44) GOTO 50      *IF ERROR CODE 04024                        FMD
   IF(EC EQ 45) GOTO 50      *IF ERROR CODE 04025                        FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 27 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97D  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD988,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD988,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD988,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD988 - PROCESS ERRORS FOR TEST 4.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD988 - PROCESS ERRORS FOR TEST 4. 
*ENDIF
*IF DEF,LSFMD 
*         FLD988 - PROCESS ERRORS FOR TEST 4. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 04026, 04027, 04028,   FMD06
*         04029, 0402A, 0402B, 0402C, 0402D, 0402E, 0402F, 04030, AND    FMD06
*         04031.                                                         FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 26, OR 27, OR 28,  FMD
*         OR 29, OR 2A, OR 2B, OR 2C, OR 2D, OR 2E, OR 2F, OR 30, OR 31, FMD
*         THE ERROR DISPLAY WILL BE BUILT FOR THE ERROR. IF THE EC       FMD
*         REGISTER DOES NOT CONTAIN ONE OF THESE ERROR CODES, THE MODULE FMD
*IF DEF,SFMD
*         WILL EXIT TO THE FMD989 MODULE.                                FMD
*ENDIF
*IF DEF,PFMD
*         WILL EXIT TO THE FHD989 MODULE. 
*ENDIF
*IF DEF,LSFMD 
*         WILL EXIT TO THE FLD989 MODULE. 
*ENDIF
*                                                                        FMD
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97D TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97D TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97D TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD989 -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD989 - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD989 - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97D -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97D - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97D - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE FORMAT STATEMENT OF THE ISOLATION  FMD
*                       INFORMATION.                                     FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD989 - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD989 - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD989 - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 04026.                                           FMD
*                                                                        FMD
0  FORMAT BUS IN NOT EQUAL TO ZERO AFTER ISSUING A 4E CMD.               FMD
*                                                                        FMD
/         ERROR MESSAGE 04027.                                           FMD
*                                                                        FMD
1  FORMAT READY AND SAFE NOT ACTIVE AFTER ISSUING A 4F CMD.              FMD
2  FORMAT (NO-OP CMD).                                                   FMD
*                                                                        FMD
/         ERROR MESSAGE 04028.                                           FMD
*                                                                        FMD
3  FORMAT BUS IN NOT EQUAL TO ZERO AFTER ISSUING 4F CMD.                 FMD
*                                                                        FMD
/         ERROR MESSAGE 04029.                                           FMD
*                                                                        FMD
4  FORMAT READY AND SAFE NOT ACTIVE AFTER ISSUING A 4C CMD               FMD
5  FORMAT (SET DIAGNOSTICS) WITH BUS OUT EQUAL TO ZERO.                  FMD
*                                                                        FMD
/         ERROR MESSAGE 0402A.                                           FMD
*                                                                        FMD
6  FORMAT AFTER ISSUING A 4C CMD WITH BUS OUT EQUAL TO ZERO,             FMD
7  FORMAT BUS IN BIT 0 WAS ACTIVE (DECREMENT DIFF).                      FMD
*                                                                        FMD
/         ERROR MESSAGE 0402B.                                           FMD
*                                                                        FMD
10 FORMAT AFTER ISSUING A 4C CMD WITH BUS OUT EQUAL TO ZERO,             FMD
11 FORMAT BUS IN BIT 1 WAS ACTIVE (SET DIAGNOSTICS).                     FMD
*                                                                        FMD
/         ERROR MESSAGE 0402C.                                           FMD
*                                                                        FMD
12 FORMAT AFTER ISSUING A 4C CMD WITH BUS OUT EQUAL TO ZERO,             FMD
13 FORMAT BUS IN BIT 2 WAS ACTIVE (SET DIAGNOSTICS).                     FMD
*                                                                        FMD
/         ERROR MESSAGE 0402D.                                           FMD
*                                                                        FMD
14 FORMAT AFTER ISSUING A 4C CMD WITH BUS OUT EQUAL TO ZERO,             FMD
15 FORMAT BUS IN BIT 3 WAS ACTIVE (SET DIAGNOSTICS).                     FMD
*                                                                        FMD
/         ERROR MESSAGE 0402E.                                           FMD
*                                                                        FMD
16 FORMAT AFTER ISSUING A 4C CMD WITH BUS OUT EQUAL TO ZERO,             FMD
17 FORMAT BUS IN BIT 4 WAS ACTIVE (SET DIAGNOSTICS).                     FMD
*                                                                        FMD
/         ERROR MESSAGE 0402F.                                           FMD
*                                                                        FMD
20 FORMAT AFTER ISSUING A 4C CMD WITH BUS OUT EQUAL TO ZERO,             FMD
21 FORMAT BUS IN BIT 5 WAS ACTIVE (SET DIAGNOSTICS).                     FMD
*                                                                        FMD
/         ERROR MESSAGE 04030.                                           FMD
*                                                                        FMD
22 FORMAT AFTER ISSUING A 4C CMD WITH BUS OUT EQUAL TO ZERO,             FMD
23 FORMAT BUS IN BIT 6 WAS ACTIVE (SET DIAGNOSTICS).                     FMD
*                                                                        FMD
/         ERROR MESSAGE 04031.                                           FMD
*                                                                        FMD
24 FORMAT AFTER ISSUING A 4C CMD WITH BUS OUT EQUAL TO ZERO,             FMD
25 FORMAT BUS IN BIT 7 WAS ACTIVE (SET DIAGNOSTICS).                     FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
26 FORMAT BUS IN STATUS ERROR  E00*H  A00*H  D00*H                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 46) GOTO 40      *IF ERROR CODE 04026                        FMD
   B2=27                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 47) GOTO 34      *IF ERROR CODE 04027                        FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 50) GOTO 40      *IF ERROR CODE 04028                        FMD
   B2=30                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 51) GOTO 34      *IF ERROR CODE 04029                        FMD
   B2=31                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 52) GOTO 34      *IF ERROR CODE 0402A                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 53) GOTO 34      *IF ERROR CODE 0402B                        FMD
   B2=10                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 54) GOTO 34      *IF ERROR CODE 0402C                        FMD
   B2=17                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 55) GOTO 34      *IF ERROR CODE 0402D                        FMD
   B2=32                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 56) GOTO 34      *IF ERROR CODE 0402E                        FMD
   B2=33                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 57) GOTO 34      *IF ERROR CODE 0402F                        FMD
   B2=12                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 60) GOTO 34      *IF ERROR CODE 04030                        FMD
   B2=34                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 61) GOTO 34      *IF ERROR CODE 04031                        FMD
   EXIT TO 989               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 04027, 04029, 0402A, 0402B,                FMD
/         0402C, 0402D, 0402E, 0402F, 04030, AND 04031.                  FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 04026 AND 04028.                           FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 47) GOTO 50      *IF ERROR CODE 04027                        FMD
   IF(EC EQ 51) GOTO 50      *IF ERROR CODE 04029                        FMD
   B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
   MSG 26 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
50 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97D  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD989,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD989,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD989,LSFMD1,(16),LOCK 
*ENDIF
**                                                                       FMD
*IF DEF,SFMD
*         FMD989 - PROCESS ERRORS FOR TEST 4.                            FMD
*ENDIF
*IF DEF,PFMD
*         FHD989 - PROCESS ERRORS FOR TEST 4. 
*ENDIF
*IF DEF,LSFMD 
*         FLD989 - PROCESS ERRORS FOR TEST 4. 
*ENDIF
*                                                                        FMD
*         PURPOSE-                                                       FMD
*         BUILD THE ERROR DISPLAY FOR ERROR CODES 04032, 04033, 04034,   FMD06
*         04035, 04036, 04037, 04038, 04039, 0403A, 0403B, AND 0403B.    FMD06
*                                                                        FMD
*         METHOD-                                                        FMD
*         IF THE EC REGISTER CONTAINS THE ERROR CODES 32, OR 33, OR 34,  FMD
*         OR 35, OR 36, OR 37, OR 3A, OR 3B, OR 3C, THE ERROR DISPLAY    FMD
*         WILL BE BUILT FOR THE ERROR.  IF THE EC REGISTER DOES NOT      FMD
*         CONTAIN ONE OF THESE ERROR CODES, THE MODULE WILL EXIT TO THE  FMD
*IF DEF,SFMD
*         FMD97A MODULE.                                                 FMD
*ENDIF
*IF DEF,PFMD
*         FHD97A MODULE.
*ENDIF
*IF DEF,LSFMD 
*         FLD97A MODULE.
*ENDIF
*         IF ISOLATION BIT IS SET IN PARAMETER WORD P4, THE MODULE WILL  FMD
*IF DEF,SFMD
*         EXIT TO FMD97D TO APPEND THE ISOLATION INFORMATION TO THE      FMD
*ENDIF
*IF DEF,PFMD
*         EXIT TO FHD97D TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*IF DEF,LSFMD 
*         EXIT TO FLD97D TO APPEND THE ISOLATION INFORMATION TO THE 
*ENDIF
*         ERROR DISPLAY.                                                 FMD
*                                                                        FMD
/                                                                        FMD
*         ENTRY-                                                         FMD
*         ISOLATION BIT INITIALIZED IN PARAMETER WORD P4.                FMD
*         EC REGISTER CONTAINS THE ERROR CODE NUMBER.                    FMD
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.                 FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*                                                                        FMD
*         EXIT-                                                          FMD
*         IF EXIT TO CALLING PRIMARY MODULE-                             FMD
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97A -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97A - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97A - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER DESTROYED.                                         FMD
*         B2 REGISTER DESTROYED.                                         FMD
*         THE FIRST FOUR LINES OF THE ERROR DISPLAY PLACED IN THE        FMD
*         DISPLAY BUFFER BY THE CALLING MODULE.                          FMD
*IF DEF,SFMD
*         IF EXIT TO FMD97D -                                            FMD
*ENDIF
*IF DEF,PFMD
*         IF EXIT TO FHD97D - 
*ENDIF
*IF DEF,LSFMD 
*         IF EXIT TO FLD97D - 
*ENDIF
*         B0 REGISTER DESTROYED.                                         FMD
*         B1 REGISTER - DISPLAY LINE NUMBER MINUS TWO.                   FMD
*         B2 REGISTER - NUMBER OF THE FORMAT STATEMENT OF THE ISOLATION  FMD
*                       INFORMATION.                                     FMD
*                                                                        FMD
*         SUBMODULES REFERENCED-                                         FMD
*IF DEF,SFMD
*         FMD97A - PROCESS ERRORS.                                       FMD
*         FMD97D - PROCESS ISOLATION INFORMATION.                        FMD
*         FMD97E - PROCESS ISOLATION INFORMATION.                        FMD
*ENDIF
*IF DEF,PFMD
*         FHD97A - PROCESS ERRORS.
*         FHD97D - PROCESS ISOLATION INFORMATION. 
*         FHD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*IF DEF,LSFMD 
*         FLD97A - PROCESS ERRORS.
*         FLD97D - PROCESS ISOLATION INFORMATION. 
*         FLD97E - PROCESS ISOLATION INFORMATION. 
*ENDIF
*                                                                        FMD
*         REGISTERS USED-                                                FMD
*         B0 REGISTER - TEMPORARY STORAGE.                               FMD
*         B1 REGISTER - TEMPORARY STORAGE.                               FMD
*         B2 REGISTER - TEMPORARY STORAGE.                               FMD
*         B3 REGISTER - NOT USED.                                        FMD
*         B4 REGISTER - NOT USED.                                        FMD
*         B5 REGISTER - NOT USED.                                        FMD
*         B6 REGISTER - NOT USED.                                        FMD
*         B7 REGISTER - NOT USED.                                        FMD
*         B8 REGISTER - NOT USED.                                        FMD
*         B9 REGISTER - DRIVE COMMAND.                                   FMD
*         B10 REGISTER - BUS OUT DATA.                                   FMD
*         B11 REGISTER - EXPECTED BUS IN DATA.                           FMD
*         B12 REGISTER - ACTUAL BUS IN DATA.                             FMD
*         B13 REGISTER - CONDITION NUMBER.                               FMD
*         B14 REGISTER - ERROR COUNTER.                                  FMD
*         B15 REGISTER - REPEAT CONDITION LOOP COUNTER.                  FMD
*         BA REGISTER - STANDARD USAGE.                                  FMD
*         WC REGISTER - STANDARD USAGE.                                  FMD
*         EA, EC, AND EM REGISTERS - STANDARD USAGE.                     FMD
*                                                                        FMD
*         BUFFERS USED-                                                  FMD
*         NONE REQUIRED.                                                 FMD
*                                                                        FMD
/         ERROR MESSAGE 04032.                                           FMD
*                                                                        FMD
0  FORMAT AFTER ISSUING A 4C CMD WITH BUS OUT EQUAL TO 0000              FMD
1  FORMAT 0001, READY AND SAFE WAS NOT ACTIVE (DECREMENT                 FMD
2  FORMAT DIFF CTR).                                                     FMD
*                                                                        FMD
/         ERROR MESSAGE 04033.                                           FMD
*                                                                        FMD
3  FORMAT AFTER ISSUING A 4C CMD BUS OUT EQUALS 0000 0001,               FMD
4  FORMAT BUS IN DID NOT EQUAL 0000 0001.                                FMD
*                                                                        FMD
/         ERROR MESSAGE 04034.                                           FMD
*                                                                        FMD
5  FORMAT THE UPPER DIFF CTR WAS LOADED WITH 0000 0011, BUT              FMD10
6  FORMAT IS UNABLE TO BE READ WITH AN 82 CMD.                           FMD
*                                                                        FMD
/         ERROR MESSAGE 04035.                                           FMD
*                                                                        FMD
7  FORMAT THE LOWER DIFF CTR WAS LOADED WITH FF, BUT DURING              FMD10
10 FORMAT A READ OF THE DIFF CTR, FF WAS NOT DETECTED.                   FMD
*                                                                        FMD
/         ERROR MESSAGE 04036.                                           FMD
*                                                                        FMD
11 FORMAT SETTING CONTROL SELECT CAUSED A READY AND SAFE                 FMD
12 FORMAT FAILURE.                                                       FMD
*                                                                        FMD
/         ERROR MESSAGE 04037.                                           FMD
*                                                                        FMD
13 FORMAT DECREMENT DIFF COUNTER FAILED TO OPERATE PROPERLY.             FMD
14 FORMAT BUS IN SHOULD DISPLAY A COMBINATION OF UPPER AND               FMD
15 FORMAT LOWER DIFFERENCE.                                              FMD
*                                                                        FMD
/         ERROR MESSAGE 04038.                                           FMD
*                                                                        FMD
16 FORMAT CMD 4C, BUS OUT EQUALS 0000 0010, SET DIAGNOSTIC               FMD
17 FORMAT LATCH, CMD 4C, DROPPED READY AND SAFE.                         FMD
*                                                                        FMD
/         ERROR MESSAGE 04039.                                           FMD
*                                                                        FMD
20 FORMAT AFTER ISSUING A 4C CMD, SET DIAG LATCH, BUS OUT                FMD
21 FORMAT EQUAL TO 0000 0010, BUS IN DID NOT EQUAL 02 HEX.               FMD
*                                                                        FMD
/         ERROR MESSAGE 0403A.                                           FMD
*                                                                        FMD
22 FORMAT CLEAR FAULT CMD FAILED TO ACTIVATE READY AND                   FMD10
23 FORMAT SAFE.                                                          FMD
*                                                                        FMD
/         ERROR MESSAGE 0403B.                                           FMD
*                                                                        FMD
24 FORMAT ISSUING A 4C CMD, GO HOME, CMD 4C, BUS OUT EQUAL               FMD
25 FORMAT 0001 0000, FAILED TO DROP READY AND SAFE.                      FMD
*                                                                        FMD
/         ERROR MESSAGE 0403C.                                           FMD
*                                                                        FMD
26 FORMAT INCORRECT STATUS AFTER A GO HOME CMD.                          FMD
*                                                                        FMD
/         STATUS DISPLAY LINE.                                           FMD
*                                                                        FMD
27 FORMAT BUS IN STATUS ERROR  E0*HE  A0*HE  D0*HE                       FMD
*                                                                        FMD
/         EQUATES FOR THE MODULE.                                        FMD
*                                                                        FMD
   EQUATE ENISO=4000                                                     FMD
*                                                                        FMD
/         PROCESS ERRORS DETECTED IN THE MAIN MODULE.                    FMD
*                                                                        FMD
30 B0=EM                     *ERROR MESSAGE FORMAT NUMBER                FMD
   B1=12                     *SET DISPLAY LINE POINTER                   FMD
   B2=35                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 62) GOTO 34      *IF ERROR CODE 04032                        FMD
   B2=36                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 63) GOTO 40      *IF ERROR CODE 04033                        FMD
   B2=37                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 64) GOTO 40      *IF ERROR CODE 04034                        FMD
   B2=37                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 65) GOTO 40      *IF ERROR CODE 04035                        FMD
   B2=40                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 66) GOTO 40      *IF ERROR CODE 04036                        FMD
   B2=41                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 67) GOTO 34      *IF ERROR CODE 04037                        FMD
   B2=42                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 70) GOTO 40      *IF ERROR CODE 04038                        FMD
   B2=43                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 71) GOTO 40      *IF ERROR CODE 04039                        FMD
   B2=44                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 72) GOTO 40      *IF ERROR CODE 0403A                        FMD
   B2=45                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 73) GOTO 40      *IF ERROR CODE 0403B                        FMD
   B2=46                     *SET INFORMATION FLAG FOR ERROR             FMD
   IF(EC EQ 74) GOTO 44      *IF ERROR CODE 0403C                        FMD
   EXIT TO 97A               *GO TO NEXT ERROR MODULE                    FMD
*                                                                        FMD
/         PROCESS ERROR CODES 04032 AND 04037.                           FMD
*                                                                        FMD
34 MSG B0 TO LINE B1         *MOVE ERROR MESSAGE TO DISPLAY              FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODES 04033, 04034, 04035, 04036,                FMD
/         04038, 04039, 0403A, AND 0403B.                                FMD
*                                                                        FMD
40 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   B0=B0+1                   *INCREMENT MESSAGE NUMBER                   FMD
   B1=B1+1                   *INCREMENT DISPLAY LINE NUMBER              FMD
*                                                                        FMD
/         PROCESS ERROR CODE 0403C.                                      FMD
*                                                                        FMD
44 MSG B0 TO LINE B1         *TRANSFER MESSAGE TO DISPLAY                FMD
   IF(EC EQ 63) GOTO 52      *IF ERROR CODE 04033                        FMD
   IF(EC EQ 64) GOTO 52      *IF ERROR CODE 04034                        FMD
   IF(EC EQ 65) GOTO 52      *IF ERROR CODE 04035                        FMD
   IF(EC NE 67) GOTO 50      *IF ERROR CODE 04037                        FMD
   B0=B7 XOR B12             *DIFFERENCE FOR DIFF. REGISTER              FMD
   GOTO 54                   *GO TO DISPLAY MESSAGE                      FMD
50 IF(EC NE 71) GOTO 56      *IF NOT ERROR CODE 04039                    FMD
52 B0=B11 XOR B12            *DIFFERENCE IN STATUS BITS                  FMD
54 MSG 27 (B11,B12,B0) TO LINE 7  *DISPLAY STATUS                        FMD
*                                                                        FMD
/         DISPLAY THE ERROR MESSAGE AND STOP ON THE ERROR.               FMD
*                                                                        FMD
56 PASS                                                                  FMD
   IF(P4 AND ENISO NE 0) EXIT TO 97D  *IF ISOLATION ENABLED              FMD
   PICTURE                   *DISPLAY ERROR INFORMATION                  FMD
   HALT                      *STOP ON ERROR                              FMD
   BLANK                     *CLEAR ERROR DISPLAY                        FMD
   EXIT                      *EXIT THE MODULE                            FMD
   END 30                    *END OF THE MODULE                          FMD
COMPILE                                                                  FMD
*IF DEF,SFMD
   MODULE FMD99,FMDHT,(07),LOCK                                          FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD99,DEMA1,(14),LOCK 
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD99,LSFMD1,(16),LOCK
*ENDIF
1  FORMAT COPYRIGHT CONTROL DATA CORP. 1979                              FMD
2  PAUSE                                                                 FMD
   EXIT TO 99A                                                           FMD
/                                                                        FMD
/         FOR ADDITIONAL DOCUMENTATION, SEE THE FOLLOWING                FMD
/         MODULES--                                                      FMD
/                                                                        FMD
*IF DEF,SFMD
/         FMD99    OVERVIEW                                              FMD
/         FMD99A   PARAMETER DESCRIPTION                                 FMD
/         FMD99B   SECTION DESCRIPTION INDEX                             FMD
/         FMD99C   MESSAGE DICTIONARY                                    FMD
*ENDIF
*IF DEF,PFMD
/         FHD99    OVERVIEW 
/         FHD99A   PARAMETER DESCRIPTION
/         FHD99B   SECTION DESCRIPTION INDEX
/         FHD99C   MESSAGE DICTIONARY 
*ENDIF
*IF DEF,LSFMD 
/         FLD99    OVERVIEW 
/         FLD99A   PARAMETER DESCRIPTION
/         FLD99B   SECTION DESCRIPTION INDEX
/         FLD99C   MESSAGE DICTIONARY 
*ENDIF
/                                                                        FMD
/                                                                        FMD
/                                                                        FMD
   END 2                                                                 FMD
COMPILE,SOURCE                                                           FMD
*IF DEF,SFMD
   MODULE FMD99A,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD99A,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD99A,LSFMD1,(16),LOCK 
*ENDIF
1  PAUSE                                                                 FMD
   EXIT TO 99B                                                           FMD
/                                                                        FMD
/         P0 - LLLL - LOWER CYLINDER                                     FMD
/              (RIGHT JUSTIFIED, ZERO FILLED)                            FMD
/                                                                        FMD
/         P1 - UUUU - UPPER CYLINDER                                     FMD
/              (RIGHT JUSTIFIED, ZERO FILLED)                            FMD
/                                                                        FMD
/         P2 - LLUU - LOWER AND UPPER TRACKS                             FMD
/                                                                        FMD
/         P3 - LLUU - LOWER AND UPPER SECTORS                            FMD
/                                                                        FMD
/         P4 - XXXX - ENABLES                                            FMD
/                                                                        FMD
/              XXX1 - FLAW REPORTING                                     FMD
/              XXX2 - NOT USED (MUST BE 0)                               FMD
/              XXX4 - NOT USED (MUST BE 0)                               FMD
/              XX1X - NOT USED (MUST BE 0)                               FMD
/              XX2X - NOT USED (MUST BE 0)                               FMD
/              XX4X - NOT USED (MUST BE 0)                               FMD
/              X1XX - NOT USED (MUST BE 0)                               FMD
/              X2XX - NOT USED (MUST BE 0)                               FMD
/              X4XX - NOT USED (MUST BE 0)                               FMD
/              1XXX - NOT USED (MUST BE 0)                               FMD
/              2XXX - ISOLATE READY AND SAFE FAILURES                    FMD
/              4XXX - ISOLATION                                          FMD
/                                                                        FMD
/         P5 - XXXX - DISABLES                                           FMD
/                                                                        FMD
/              XXX1 - DATA CHECKING                                      FMD
/              XXX2 - DATA CHECKING AFTER FIRST ERROR                    FMD
/              XXX4 - HALT ON DATA ERROR                                 FMD
/              XX1X - OPERATOR INTERVENTION                              FMD
/              XX2X - NOT USED (MUST BE 0)                               FMD
/              XX4X - NOT USED (MUST BE 0)                               FMD
/              X1XX - NOT USED (MUST BE 0)                               FMD
/              X2XX - NOT USED (MUST BE 0)                               FMD
/              X4XX - NOT USED (MUST BE 0)                               FMD
/              1XXX - NOT USED (MUST BE 0)                               FMD
/              2XXX - DISABLE RESERVE FUNCTIONS                          FMD
/              4XXX - FORCE DRIVE FAULTS                                 FMD
/                                                                        FMD
/         P6 - XXXX - RANDOM DATA SEED                                   FMD
/              (USE REAL TIME CLOCK IF P6 = 0)                           FMD
/                                                                        FMD
/         P7 - NOT USED.                                                 FMD09
/                                                                        FMD
/         P8 - HARDWARE DESCRIPTION                                      FMD
/                                                                        FMD
/              XAXX - COPY OF TEST BEING RUN                             FMD
/                                                                        FMD
/                      A = 1 FOR COPY 0                                  FMD
/                      A = 2 FOR COPY 1                                  FMD
/                                                                        FMD
/         P9 - 0000 - ITERATION COUNT                                    FMD
/                     (ACTUAL COUNT EQUALS THE ITERATION                 FMD10
/                      COUNT TIMES 10 OCTAL).                            FMD
/                     THIS PARAMETER IS USED BY MODULES                  FMD
*IF DEF,SFMD
/                     FMD42 AND FMD50.                                   FMD
*ENDIF
*IF DEF,PFMD
/                     FHD42 AND FHD50.
*ENDIF
*IF DEF,LSFMD 
/                     FLD42 AND FLD50.
*ENDIF
/                                                                        FMD
   END 1                                                                 FMD
COMPILE,SOURCE                                                           FMD
*IF DEF,SFMD
   MODULE FMD99B,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD99B,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD99B,LSFMD1,(16),LOCK 
*ENDIF
1  PAUSE                                                                 FMD
   EXIT TO 99C                                                           FMD
/                                                                        FMD
/         NAME     DESCRIPTION                                           FMD
/         ----     -----------                                           FMD
*IF DEF,SFMD
/         FMD00 - CHECK PARAMETERS                                       FMD
/         FMD01 - FMD PRELIMINARY TEST                                   FMD
/         FMD02 - STATIC I/O TEST 1                                      FMD
/         FMD03 - STATIC I/O TEST 2                                      FMD
/         FMD04 - ILLEGAL COMMAND TEST                                   FMD
/         FMD05 - FMD PARITY TEST                                        FMD03
/         FMD06 - ECHO BUS OUT TEST                                      FMD
/         FMD07 - ECHO DECODE TEST                                       FMD
/         FMD08 - RTZ CLEAR REG. TEST                                    FMD
/         FMD09 - UPPER CYLINDER TEST                                    FMD
/         FMD10 - LOWER CYLINDER TEST                                    FMD
/         FMD11 - UPPER DIFF. TEST                                       FMD
/         FMD12 - LOWER DIFF. TEST                                       FMD
/         FMD13 - HEAD REGISTER TEST                                     FMD
/         FMD14 - 48, 49 STATUS TEST                                     FMD
/         FMD15 - 4A, 4B STATUS TEST                                     FMD
/         FMD16 - 4C,4E,4F STATUS TEST                                   FMD
/         FMD17 - 4C BIT 0 STATUS TEST                                   FMD
/         FMD18 - 4C BIT 4 STATUS TEST                                   FMD
/         FMD19 - 4C BIT 5 STATUS TEST                                   FMD
/         FMD20 - 4C BIT 6 STATUS TEST                                   FMD
/         FMD21 - 4C BIT 7 STATUS TEST                                   FMD
/         FMD22 - 46, 47 STATUS TEST                                     FMD
/         FMD23 - 4D BIT 3 STATUS TEST                                   FMD
/         FMD24 - 4D BIT 4 STATUS TEST                                   FMD
/         FMD25 - 4D BIT 5 STATUS TEST                                   FMD
/         FMD26 - 4D BIT 6 STATUS TEST                                   FMD
/         FMD27 - 88-8F STATUS TEST                                      FMD
/         FMD28 - 8A, 8D STATUS TEST                                     FMD
/         FMD29 - DRIVE ADDRESS TEST                                     FMD
/         FMD30 - MAINT/RD SWITCH TEST                                   FMD
/         FMD31 - SECTOR COMP. TEST 1                                    FMD
/         FMD32 - SECTOR COMP. TEST 2                                    FMD
/         FMD33 - SECTOR COUNTER TEST                                    FMD
/         FMD34 - RTZ STATUS TEST 1                                      FMD
/         FMD35 - RTZ STATUS TEST 2                                      FMD
/         FMD36 - ONE TRACK SEEK TEST                                    FMD
/         FMD37 - SEEK 2,4,8 TRACKS                                      FMD
/         FMD38 - SEEK 16,32,64 TRACKS                                   FMD
/         FMD39 - SEEK 128,256,512 TRK                                   FMD
/         FMD40 - 842 TRACK SEEK TEST                                    FMD
/         FMD41 - INCREMENTAL SEEKS                                      FMD
/         FMD42 - TIMED RANDOM SEEKS                                     FMD
/         FMD43 - OFFSET TEST 1                                          FMD
/         FMD44 - OFFSET TEST 2                                          FMD
/         FMD45 - OFFSET TEST 3                                          FMD
/         FMD46 - READ ADDRESS FIELD                                     FMD
/         FMD47 - READ DATA FIELD                                        FMD
/         FMD48 - READ ADDRESS FORWARD                                   FMD
/         FMD49 - READ ADDRESS REVERSE                                   FMD
/         FMD50 - RANDOM READ TEST                                       FMD
/         FMD51 - COMPARE DATA FIELD                                     FMD
/         FMD52 - WRITE/READ TEST                                        FMD
/         FMD53 - W/R LATE STROBE                                        FMD
/         FMD54 - W/R EARLY STROBE                                       FMD
/         FMD55 - W/R REVERSE OFFSET                                     FMD
/         FMD56 - W/R REV/LATE MARGIN                                    FMD
/         FMD57 - W/R REV/EARLY MARGIN                                   FMD
/         FMD58 - W/R FORWARD OFFSET                                     FMD
/         FMD59 - W/R FWD/LATE MARGIN                                    FMD
/         FMD60 - W/R FWD/EARLY MARGIN                                   FMD
/         FMD61 - VERIFY ADDRESS FIELD                                   FMD
/         FMD62 - READ CONTROL FAULT                                     FMD
/         FMD63 - WRITE CONTROL FAULT                                    FMD
/         FMD64 - OFFSET WRITE FAULT                                     FMD
/         FMD65 - W/R CONTROL FAULT                                      FMD
/         FMD66 - OFF CYL. READ FAULT                                    FMD
/         FMD67 - SEEK OVERSHOOT FAULT                                   FMD
/         FMD68 - INDEX READ FAULT                                       FMD
/         FMD69 - W/R DATA FIELD                                         FMD
/         FMD70 - SERVO TEST                                             FMD
/         FMD71 - RESONANCE TEST 1                                       FMD
/         FMD72 - RESONANCE TEST 2                                       FMD
/         FMD73 - TEST DUAL ACCESS                                       FMD
*ENDIF
*IF DEF,PFMD
/         FHD00 - CHECK PARAMETERS
/         FHD01 - FHD PRELIMINARY TEST
/         FHD02 - STATIC I/O TEST 1 
/         FHD03 - STATIC I/O TEST 2 
/         FHD04 - ILLEGAL COMMAND TEST
/         FHD05 - FHD PARITY TEST 
/         FHD06 - ECHO BUS OUT TEST 
/         FHD07 - ECHO DECODE TEST
/         FHD08 - RTZ CLEAR REG. TEST 
/         FHD09 - UPPER CYLINDER TEST 
/         FHD10 - LOWER CYLINDER TEST 
/         FHD11 - UPPER DIFF. TEST
/         FHD12 - LOWER DIFF. TEST
/         FHD13 - HEAD REGISTER TEST
/         FHD14 - 48, 49 STATUS TEST
/         FHD15 - 4A, 4B STATUS TEST
/         FHD16 - 4C,4E,4F STATUS TEST
/         FHD17 - 4C BIT 0 STATUS TEST
/         FHD18 - 4C BIT 4 STATUS TEST
/         FHD19 - 4C BIT 5 STATUS TEST
/         FHD20 - 4C BIT 6 STATUS TEST
/         FHD21 - 4C BIT 7 STATUS TEST
/         FHD22 - 46, 47 STATUS TEST
/         FHD23 - 4D BIT 3 STATUS TEST
/         FHD24 - 4D BIT 4 STATUS TEST
/         FHD25 - 4D BIT 5 STATUS TEST
/         FHD26 - 4D BIT 6 STATUS TEST
/         FHD27 - 88-8F STATUS TEST 
/         FHD28 - 8A, 8D STATUS TEST
/         FHD29 - DRIVE ADDRESS TEST
/         FHD30 - MAINT/RD SWITCH TEST
/         FHD31 - SECTOR COMP. TEST 1 
/         FHD32 - SECTOR COMP. TEST 2 
/         FHD33 - SECTOR COUNTER TEST 
/         FHD34 - RTZ STATUS TEST 1 
/         FHD35 - RTZ STATUS TEST 2 
/         FHD36 - ONE TRACK SEEK TEST 
/         FHD37 - SEEK 2,4,8 TRACKS 
/         FHD38 - SEEK 16,32,64 TRACKS
/         FHD39 - SEEK 128,256,512 TRK
/         FHD40 - 842 TRACK SEEK TEST 
/         FHD41 - INCREMENTAL SEEKS 
/         FHD42 - TIMED RANDOM SEEKS
/         FHD43 - OFFSET TEST 1 
/         FHD44 - OFFSET TEST 2 
/         FHD45 - OFFSET TEST 3 
/         FHD46 - READ ADDRESS FIELD
/         FHD47 - READ DATA FIELD 
/         FHD48 - READ ADDRESS FORWARD
/         FHD49 - READ ADDRESS REVERSE
/         FHD50 - RANDOM READ TEST
/         FHD51 - COMPARE DATA FIELD
/         FHD52 - WRITE/READ TEST 
/         FHD53 - W/R LATE STROBE 
/         FHD54 - W/R EARLY STROBE
/         FHD55 - W/R REVERSE OFFSET
/         FHD56 - W/R REV/LATE MARGIN 
/         FHD57 - W/R REV/EARLY MARGIN
/         FHD58 - W/R FORWARD OFFSET
/         FHD59 - W/R FWD/LATE MARGIN 
/         FHD60 - W/R FWD/EARLY MARGIN
/         FHD61 - VERIFY ADDRESS FIELD
/         FHD62 - READ CONTROL FAULT
/         FHD63 - WRITE CONTROL FAULT 
/         FHD64 - OFFSET WRITE FAULT
/         FHD65 - W/R CONTROL FAULT 
/         FHD66 - OFF CYL. READ FAULT 
/         FHD67 - SEEK OVERSHOOT FAULT
/         FHD68 - INDEX READ FAULT
/         FHD69 - W/R DATA FIELD
/         FHD70 - SERVO TEST
/         FHD71 - RESONANCE TEST 1
/         FHD72 - RESONANCE TEST 2
/         FHD73 - TEST DUAL ACCESS
*ENDIF
*IF DEF,LSFMD 
/         FLD00 - CHECK PARAMETERS
/         FLD01 - FLD PRELIMINARY TEST
/         FLD02 - STATIC I/O TEST 1 
/         FLD03 - STATIC I/O TEST 2 
/         FLD04 - ILLEGAL COMMAND TEST
/         FLD05 - FLD PARITY TEST 
/         FLD06 - ECHO BUS OUT TEST 
/         FLD07 - ECHO DECODE TEST
/         FLD08 - RTZ CLEAR REG.TEST
/         FLD09 - UPPER CYLINDER TEST 
/         FLD10 - LOWER CYLINDER TEST 
/         FLD11 - UPPER DIFF. TEST
/         FLD12 - LOWER DIFF. TEST
/         FLD13 - HEAD REGISTER TEST
/         FLD14 - 48, 49 STATUS TEST
/         FLD15 - 4A, 4B STATUS TEST
/         FLD16 - 4C,4E,4F STATUS TEST
/         FLD17 - 4C BIT 0 STATUS TEST
/         FLD18 - 4C BIT 4 STATUS TEST
/         FLD19 - 4C BIT 5 STATUS TEST
/         FLD20 - 4C BIT 6 STATUS TEST
/         FLD21 - 4C BIT 7 STATUS TEST
/         FLD22 - 46, 47 STATUS TEST
/         FLD23 - 4D BIT 3 STATUS TEST
/         FLD24 - 4D BIT 4 STATUS TEST
/         FLD25 - 4D BIT 5 STATUS TEST
/         FLD26 - 4D BIT 6 STATUS TEST
/         FLD27 - 88-8F STATUS TEST 
/         FLD28 - 8A, 8D STATUS TEST
/         FLD29 - DRIVE ADDRESS TEST
/         FLD30 - MAINT/RD SWITCH TEST
/         FLD31 - SECTOR COMP. TEST 1 
/         FLD32 - SECTOR COMP. TEST 2 
/         FLD33 - SECTOR COUNTER TEST 
/         FLD34 - RTZ STATUS TEST 1 
/         FLD35 - RTZ STATUS TEST 2 
/         FLD36 - ONE TRACK SEEK TEST 
/         FLD37 - SEEK 2,4,8 TRACKS 
/         FLD38 - SEEK 16,32,64 TRACKS
/         FLD39 - SEEK 128,256,512 TRK
/         FLD40 - 842 TRACK SEEK TEST 
/         FLD41 - INCREMENTAL SEEKS 
/         FLD42 - TIMED RANDOM SEEKS
/         FLD43 - OFFSET TEST 1 
/         FLD44 - OFFSET TEST 2 
/         FLD45 - OFFSET TEST 3 
/         FLD46 - READ ADDRESS FIELD
/         FLD47 - READ DATA FIELD 
/         FLD48 - READ ADDRESS FORWARD
/         FLD49 - READ ADDRESS REVERSE
/         FLD50 - RANDOM READ TEST
/         FLD51 - COMPARE DATA FIELD
/         FLD52 - WRITE/READ TEST 
/         FLD53 - W/R LATE STROBE 
/         FLD54 - W/R EARLY STROBE
/         FLD55 - W/R REVERSE OFFSET
/         FLD56 - W/R REV/LATE MARGIN 
/         FLD57 - W/R REV/EARLY MARGIN
/         FLD58 - W/R FORWARD OFFSET
/         FLD59 - W/R FWD/LATE MARGIN 
/         FLD60 - W/R FWD/EARLY MARGIN
/         FLD61 - VERIFY ADDRESS FIELD
/         FLD62 - READ CONTROL FAULT
/         FLD63 - WRITE CONTROL FAULT 
/         FLD64 - OFFSET WRITE FAULT
/         FLD65 - W/R CONTROL FAULT 
/         FLD66 - OFF CYL. READ FAULT 
/         FLD67 - SEEK OVERSHOOT FAULT
/         FLD68 - INDEX READ FAULT
/         FLD69 - W/R DATA FIELD
/         FLD70 - SERVO TEST
/         FLD71 - RESONANCE TEST 1
/         FLD72 - RESONANCE TEST 2
/         FLD73 - TEST DUAL ACCESS
*ENDIF
/                                                                        FMD
   END 1                                                                 FMD
COMPILE,SOURCE                                                           FMD
*IF DEF,SFMD
   MODULE FMD99C,FMDHT,(07),LOCK                                         FMD
*ENDIF
*IF DEF,PFMD
   MODULE FHD99C,DEMA1,(14),LOCK
*ENDIF
*IF DEF,LSFMD 
   MODULE FLD99C,LSFMD1,(16),LOCK 
*ENDIF
1  PAUSE                                                                 FMD
/                                                                        FMD
*IF DEF,SFMD
/         THE MESSAGE FORMATS USED BY FMD TO REPORT ERRORS               FMD
*ENDIF
*IF DEF,PFMD
/         THE MESSAGE FORMATS USED BY FHD TO REPORT ERRORS
*ENDIF
*IF DEF,LSFMD 
/         THE MESSAGE FORMATS USED BY FLD TO REPORT ERRORS
*ENDIF
/         AND INSTRUCT THE OPERATOR ARE--                                FMD
/                                                                        FMD
/         00                                                             FMD
*IF DEF,SFMD
/         01  FMD - FIXED MODULE DRIVE DIAGNOSTIC                        FMD
/         02  FMDNN - MODULE TITLE                                       FMD
/         03  PRESERVICE FORECAST GROUP FMDD                             FMD
*ENDIF
*IF DEF,PFMD
/         01  FHD - FIXED MODULE DRIVE DIAGNOSTIC 
/         02  FHDNN - MODULE TITLE
/         03  PRESERVICE FORECAST GROUP FHDD
*ENDIF
*IF DEF,LSFMD 
/         01  FLD - FIXED MODULE DRIVE DIAGNOSTIC 
/         02  FLDNN - MODULE TITLE
/         03  PRESERVICE FORECAST GROUP FMDD
*ENDIF
/         04                                                             FMD
*IF DEF,SFMD
/         05  FMDNN - LINE YYYY - ERROR CODE TTEEE                       FMD
*ENDIF
*IF DEF,PFMD
/         05  FHDNN - LINE YYYY - ERROR CODE TTEEE
*ENDIF
*IF DEF,LSFMD 
/         05  FLDNN - LINE YYYY - ERROR CODE TTEEE
*ENDIF
/         06  DATA ERROR   WAAAA  EBBBB  ACCCC  DFFFF                    FMD
/         06  STATUS ERROR WAAAA  EBBBB  ACCCC  DFFFF                    FMD
/         07  MISCELLANEOUS MEANINGFUL VALUES                            FMD
/         10  MISCELLANEOUS MEANINGFUL VALUES                            FMD
/         11                                                             FMD
/         12  ERROR DESCRIPTION                                          FMD
/         13                                                             FMD
/         14  DIRECTIONS TO CE                                           FMD
/         15  DIRECTIONS TO CE                                           FMD
/         16  DIRECTIONS TO CE                                           FMD
/                                                                        FMD
/         NN IS THE MODULE NUMBER.                                       FMD
*IF DEF,SFMD
/         FMDD IS THE PRESERVICE FORECAST GROUP NUMBER.                  FMD
*ENDIF
*IF DEF,PFMD
/         FHDD IS THE PRESERVICE FORECAST GROUP NUMBER. 
*ENDIF
*IF DEF,LSFMD 
/         FMDD IS THE PRESERVICE FORECAST GROUP NUMBER
*ENDIF
/         YYYY IS THE ADDRESS THE ERROR OCCURRED IN THE                  FMD
/           PRIMARY MODULE.                                              FMD
/         TT IS THE TEST NUMBER (IN HEX).                                FMD
/         EEE IS THE ERROR CODE (IN HEX).                                FMD
/         AAAA IS THE WORD NUMBER IN THE BUFFER.                         FMD
/         BBBB IS THE EXPECTED VALUE.                                    FMD
/         CCCC IS THE ACTUAL VALUE.                                      FMD
/         FFFF IS THE LOGICAL DIFFERENCE OF BBBB AND CCCC.               FMD
/         THE MISCELLANEOUS MEANINGFUL VALUES WILL VARY                  FMD
/           FROM MODULE TO MODULE.                                       FMD
/         IF THE DIRECTIONS TO THE CE REQUIRE MORE THAN                  FMD
/           THREE LINES, THEY WILL BE INCLUDED IN THE                    FMD
/           TROUBLESHOOTING GUIDE RATHER THAN ON THE SCREEN.             FMD
/                                                                        FMD
   END 1                                                                 FMD
COMPILE,SOURCE                                                           FMD
*IF DEF,LSFMD 
***                 FLD - 7155 FIXED MODULE DRIVE DIAGNOSTIC
*ENDIF
*IF DEF,PFMD
***                  FHD - 7155 FIXED MODULE DRIVE DIAGNOSTIC 
*ENDIF
*IF DEF,SFMD
***                  FMD - 7155 FIXED MODULE DRIVE DIAGNOSTIC 
*ENDIF
***       6. APLICATIONS
**
*   6.    APPLICATIONS                                                   FMD
*         ------------                                                   FMD
*         NO SPECIAL APPLICATIONS ARE ANTICIPATED.                       FMD
*                                                                        FMD
*   7.    FLOWCHARTS                                                     FMD
*         ----------                                                     FMD
*                                                                        FMD
*         THE FOLLOWING FLOWCHART IS A EXAMPLE OF HOW A PRIMARY MODULE   FMD
*         IS DESIGNED.                                                   FMD
*                                                                        FMD
*                                                                        FMD
*            *************                                               FMD
*           *    START    *                                              FMD
*          *     OF THE    *                                             FMD
*           *    MODULE   *                                              FMD
*            *************                                               FMD
*                  V                                                     FMD
*                  V                                                     FMD
*                  V                                                     FMD
*          *****************                                             FMD
*          *               *                                             FMD
*          *     PRINT     *                                             FMD
*          *     MODULE    *                                             FMD
*          *      NAME     *                                             FMD
*          *               *                                             FMD
*          *               *                                             FMD
*          *****************                                             FMD
*                  V                                                     FMD
*                  V                                                     FMD
*          ***     V                                                     FMD
*         * A *>>>>V                                                     FMD
*          ***     V                                                     FMD
*                  V                                                     FMD
*                  V                                                     FMD
*          *****************                                             FMD
*          *               *                                             FMD
*          *    DISPLAY    *                                             FMD
*          *    MODULE     *                                             FMD
*          *     NAME      *                                             FMD
*          *               *                                             FMD
*          *               *                                             FMD
*          *****************                                             FMD
*                  V                                                     FMD
*                  V                                                     FMD
*          ***     V                                                     FMD
*         * B *>>>>V                                                     FMD
*          ***     V                                                     FMD
*                  V                                                     FMD
*                  V                                                     FMD
*          *****************                                             FMD
*          *               *                                             FMD
*          *  CONNECT TO   *                                             FMD
*          *     7155      *                                             FMD
*          *  CONTROLLER   *                                             FMD
*          *               *                                             FMD
*          *               *                                             FMD
*          *****************                                             FMD
*                  V                                                     FMD
*                  V                                                     FMD
*                  V                                                     FMD
*                  V                                                     FMD
*                  V                                                     FMD
*                  V                                                     FMD
*                  *                  *          *****************       FMD
*                *   *              *   *        *               *       FMD
*              *       *          *       *      *               *       FMD
*            *SELECT AND * NO   * SCOPING   * NO *               *       FMD
*          *   RESERVED    *>>*     LOOP      *>>* REPORT ERROR  *>>>V   FMD
*            *  ACTIVE?  *      * ENABLED?  *    *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*                *   *              *   *        *               *   V   FMD
*                  *                  *          *****************   V   FMD
*                  V YES              V YES                          V   FMD
*                  V                  V                              V   FMD
*                  V                  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  *                  *          *****************   V   FMD
*                *   *              *   *        *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*            *   READY   * NO   * SCOPING   * NO *               *   V   FMD
*          *   AND SAFE    *>>*     LOOP      *>>* REPORT ERROR  *>>>V   FMD
*            *  ACTIVE?  *      * ENABLED?  *    *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*                *   *              *   *        *               *   V   FMD
*                  *                  *          *****************   V   FMD
*                  V YES              V YES                          V   FMD
*                  V                  V                              V   FMD
*                  V                  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  *                  *          *****************   V   FMD
*                *   *              *   *        *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*            *   WRITE   * NO   * SCOPING   * NO *               *   V   FMD
*          *     CLOCK     *>>*     LOOP      *>>* REPORT ERROR  *>>>V   FMD
*            *  ACTIVE?  *      * ENABLED?  *    *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*                *   *              *   *        *               *   V   FMD
*                  *                  *          *****************   V   FMD
*                  V YES              V YES                          V   FMD
*                  V                  V                              V   FMD
*                  V                  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  *                  *          *****************   V   FMD
*                *   *              *   *        *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*            *  SECTOR   * NO   * SCOPING   * NO *               *   V   FMD
*          *   MARK LINE   *>>*     LOOP      *>>* REPORT ERROR  *>>>V   FMD
*            *  ACTIVE?  *      * ENABLED?  *    *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*                *   *              *   *        *               *   V   FMD
*                  *                  *          *****************   V   FMD
*                  V YES              V YES                          V   FMD
*                  V                  V                              V   FMD
*                  V                  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  *                  *          *****************   V   FMD
*                *   *              *   *        *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*            *   INDEX   * NO   * SCOPING   * NO *               *   V   FMD
*          *   MARK LINE   *>>*     LOOP      *>>* REPORT ERROR  *>>>V   FMD
*            *  ACTIVE?  *      * ENABLED?  *    *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*                *   *              *   *        *               *   V   FMD
*                  *                  *          *****************   V   FMD
*                  V YES              V YES                          V   FMD
*                  V                  V                              V   FMD
*                  V                  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  *                  *          *****************   V   FMD
*                *   *              *   *        *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*            *    ON     * N0   * SCOPING   * NO *               *   V   FMD
*          *     TRACK     *>>*     LOOP      *>>* REPORT ERROR  *>>>V   FMD
*            *  ACTIVE?  *      * ENABLED?  *    *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*                *   *              *   *        *               *   V   FMD
*                  *                  *          *****************   V   FMD
*                  V YES              V YES                          V   FMD
*                  V                  V                              V   FMD
*                  V                  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*          *****************                                         V   FMD
*          *               *                                         V   FMD
*          *  ENABLE 885   *                                         V   FMD
*          *    LOOP IN    *                                         V   FMD
*          *   THE 7155    *                                         V   FMD
*          *  CONTROLLER   *                                         V   FMD
*          *               *                                         V   FMD
*          *****************                                         V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*          *****************                                         V   FMD
*          *               *                                         V   FMD
*          *    ECHO 40    *                                         V   FMD
*          * COMMAND WITH  *                                         V   FMD
*          * BUS OUT EQUAL *                                         V   FMD
*          *  TO ALL ONES  *                                         V   FMD
*          *               *                                         V   FMD
*          *****************                                         V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  *                  *          *****************   V   FMD
*                *   *              *   *        *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*            *  BUS IN   * NO   * SCOPING   * NO *               *   V   FMD
*          *     BIT 0     *>>*     LOOP      *>>* REPORT ERROR  *>>>V   FMD
*            *  ACTIVE?  *      * ENABLED?  *    *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*                *   *              *   *        *               *   V   FMD
*                  *                  *          *****************   V   FMD
*                  V YES              V YES                          V   FMD
*                  V                  V                              V   FMD
*                  V                  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  *                  *          *****************   V   FMD
*                *   *              *   *        *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*            *  BUS IN   * NO   * SCOPING   * NO *               *   V   FMD
*          *     BIT 1     *>>*     LOOP      *>>* REPORT ERROR  *>>>V   FMD
*            *  ACTIVE?  *      * ENABLED?  *    *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*                *   *              *   *        *               *   V   FMD
*                  *                  *          *****************   V   FMD
*                  V YES              V YES                          V   FMD
*                  V                  V                              V   FMD
*                  V                  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  *                  *          *****************   V   FMD
*                *   *              *   *        *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*            *  BUS IN   * NO   * SCOPING   * NO *               *   V   FMD
*          *     BIT 2     *>>*     LOOP      *>>* REPORT ERROR  *>>>V   FMD
*            *  ACTIVE?  *      * ENABLED?  *    *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*                *   *              *   *        *               *   V   FMD
*                  *                  *          *****************   V   FMD
*                  V YES              V YES                          V   FMD
*                  V                  V                              V   FMD
*                  V                  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  *                  *          *****************   V   FMD
*                *   *              *   *        *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*            *  BUS IN   * NO   * SCOPING   * NO *               *   V   FMD
*          *     BIT 3     *>>*     LOOP      *>>* REPORT ERROR  *>>>V   FMD
*            *  ACTIVE?  *      * ENABLED?  *    *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*                *   *              *   *        *               *   V   FMD
*                  *                  *          *****************   V   FMD
*                  V YES              V YES                          V   FMD
*                  V                  V                              V   FMD
*                  V                  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  *                  *          *****************   V   FMD
*                *   *              *   *        *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*            *  BUS IN   * NO   * SCOPING   * NO *               *   V   FMD
*          *     BIT 4     *>>*     LOOP      *>>* REPORT ERROR  *>>>V   FMD
*            *  ACTIVE?  *      * ENABLED?  *    *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*                *   *              *   *        *               *   V   FMD
*                  *                  *          *****************   V   FMD
*                  V YES              V YES                          V   FMD
*                  V                  V                              V   FMD
*                  V                  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  *                  *          *****************   V   FMD
*                *   *              *   *        *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*            *  BUS IN   * NO   * SCOPING   * NO *               *   V   FMD
*          *     BIT 5     *>>*     LOOP      *>>* REPORT ERROR  *>>>V   FMD
*            *  ACTIVE?  *      * ENABLED?  *    *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*                *   *              *   *        *               *   V   FMD
*                  *                  *          *****************   V   FMD
*                  V YES              V YES                          V   FMD
*                  V                  V                              V   FMD
*                  V                  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  *                  *          *****************   V   FMD
*                *   *              *   *        *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*            *  BUS IN   * NO   * SCOPING   * NO *               *   V   FMD
*          *     BIT 6     *>>*     LOOP      *>>* REPORT ERROR  *>>>V   FMD
*            *  ACTIVE?  *      * ENABLED?  *    *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*                *   *              *   *        *               *   V   FMD
*                  *                  *          *****************   V   FMD
*                  V YES              V YES                          V   FMD
*                  V                  V                              V   FMD
*                  V                  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  *                  *          *****************   V   FMD
*                *   *              *   *        *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*            *  BUS IN   * NO   * SCOPING   * NO *               *   V   FMD
*          *     BIT 7     *>>*     LOOP      *>>* REPORT ERROR  *>>>V   FMD
*            *  ACTIVE?  *      * ENABLED?  *    *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*                *   *              *   *        *               *   V   FMD
*                  *                  *          *****************   V   FMD
*                  V YES              V YES                          V   FMD
*                  V                  V                              V   FMD
*                  V                  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  *                  *          *****************   V   FMD
*                *   *              *   *        *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*            *  BUS IN   * YES  * SCOPING   * NO *               *   V   FMD
*          *    PARITY     *>>*     LOOP      *>>* REPORT ERROR  *>>>V   FMD
*            *  ACTIVE?  *      * ENABLED?  *    *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*                *   *              *   *        *               *   V   FMD
*                  *                  *          *****************   V   FMD
*                  V YES              V YES                          V   FMD
*                  V                  V                              V   FMD
*                  V                  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>V   FMD
*                  V                                                 V   FMD
*                  V                                                 V   FMD
*                  *                  *          *****************   V   FMD
*                *   *              *   *        *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*            *  STATUS   * NO   * SCOPING   * NO *               *   V   FMD
*          *     VALID     *>>*     LOOP      *>>* REPORT ERROR  *>>>V   FMD
*            *  ACTIVE?  *      * ENABLED?  *    *               *   V   FMD
*              *       *          *       *      *               *   V   FMD
*                *   *              *   *        *               *   V   FMD
*                  *                  *          *****************   V   FMD
*                  V YES              V YES                          V   FMD
*                  V                  V                              V   FMD
*                  V<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<   FMD
*                  V                                                     FMD
*                  V                                                     FMD
*                  *                                                     FMD
*                *   *                                                   FMD
*              *       *                                                 FMD
*            *  REPEAT   * YES   ***                                     FMD
*          *   CONDITION   *>>>>* B *                                    FMD
*            * ENABLED?  *       ***                                     FMD
*              *       *                                                 FMD
*                *   *                                                   FMD
*                  *                                                     FMD
*                  V NO                                                  FMD
*                  V                                                     FMD
*                  V                                                     FMD
*                  V                                                     FMD
*                  V                                                     FMD
*          *****************                                             FMD
*          *               *                                             FMD
*          *  RELEASE THE  *                                             FMD
*IF DEF,SFMD
*          *   FMD DRIVE   *                                             FMD
*ENDIF
*IF DEF,PFMD
*          *   FHD DRIVE   *
*ENDIF
*IF DEF,LSFMD 
*         *    FLD DRIVE   *
*ENDIF
*          * AND CONTOLLER *                                             FMD
*          *               *                                             FMD
*          *               *                                             FMD
*          *****************                                             FMD
*                  V                                                     FMD
*                  V                                                     FMD
*                  V                                                     FMD
*                  V                                                     FMD
*                  V                                                     FMD
*                  *                                                     FMD
*                *   *                                                   FMD
*              *       *                                                 FMD
*            *  REPEAT   * YES   ***                                     FMD
*          *    MODULE     *>>>>* A *                                    FMD
*            * ENABLED?  *       ***                                     FMD
*              *       *                                                 FMD
*                *   *                                                   FMD
*                  *                                                     FMD
*                  V NO                                                  FMD
*                  V                                                     FMD
*                  V                                                     FMD
*                  V                                                     FMD
*                  *            *****************                        FMD
*                *   *          *               *                        FMD
*              *       *        *               *                        FMD
*            *  ERRORS   * YES  *    NUMBER     *                        FMD
*          *   DETECTED    *>>>>*   OF ERROR    *>>>V                    FMD
*            *           *      *  TO DAYFILE   *   V                    FMD
*              *       *        *               *   V                    FMD
*                *   *          *               *   V                    FMD
*                  *            *****************   V                    FMD
*                  V NO                             V                    FMD
*                  V<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<                    FMD
*                  V                                                     FMD
*                  V                                                     FMD
*                  V                                                     FMD
*            *************                                               FMD
*           *             *                                              FMD
*          * END OF MODULE *                                             FMD
*           *             *                                              FMD
*            *************                                               FMD
*                                                                        FMD
*                                  APPENDIX A                            FMD
*                                                                        FMD
*  A.                      PROGRAM MAINTENANCE NOTES                     FMD
*                          ------- ----------- -----                     FMD
*                                                                        FMD
*                                                                        FMD
*  A.1    REPEAT CONDITION FLAG                                          FMD
*                                                                        FMD
*         THE REGISTER B13 IS USED IN THE PRIMARY MODULES TO DETERMINE   FMD
*         THE START OF A CONDITION WITHIN THE MODULE.  AT THE START OF   FMD
*         A TEST CONDITION THE B13 REGISTER WILL BE SET TO SOME VALUE    FMD
*         TO INDICATE THE START OF THAT CONDITION.  WHEN A ERROR IS      FMD
*         DETECTED WITHIN THE TEST CONDITION, A JUMP IS MADE TO A        FMD
*         COMMON SUBROUTINE TO PROCESS THE ERROR.  WHEN THE ERROR HAS    FMD
*         BEEN PROCESSED, THAT SUBROUTINE WILL THEN USE A ENDSUB GOTO    FMD
*         XX STATEMENT TO JUMP THE A GOSUB STATEMENT THAT WILL ENTER     FMD
*         THE REPEAT CONDITION SUBROUTINE.  THE CONDITION NUMBER IS      FMD
*         USED BY THE ERROR PROCESSING SUBROUTINE TO DETERMINE WHICH     FMD
*         GOSUB STATEMENT TO JUMP TO FOR THAT CONDITION.  THE REPEAT     FMD
*         CONDITION SUBROUTINE WILL THEN USE THE CONDITION NUMBER TO     FMD
*         DETEMINE WHERE TO JUMP TO IF REPEAT CONDITION IS ENABLED.      FMD
*                                                                        FMD
*         SOME MODULES ALSO USE THE CONDITION NUMBER IN B13 A INDEX TO   FMD
*         BUFFERS TO GET COMMANDS AND BUS OUT DATA TO BE SENT TO THE     FMD
*         FIXED MODULE DRIVE, GET MASK FOR BUS IN DATA, AND GET EXPECTED FMD
*         BUS IN DATA.                                                   FMD
*                                                                        FMD
*                                                                        FMD
*  A.2    MESSAGE DIMENSIONS                                             FMD
*                                                                        FMD
*         ONLY LINES 1 THROUGH 36D (44B) WILL BE USED FOR MESSAGES SINCE FMD
*         THAT IS ALL THERE IS IN CMSE-S OUTPUT BUFFER.                  FMD
*                                                                        FMD
*         ON MESSAGES SENT TO THE B DISPLAY, COLUMNS 36 THROUGH 80 WILL  FMD
*         BE BLANK (OR COMMENT) SINCE ONLY 28 CHARACTERS ARE IN THE NOS  FMD
*         B DISPLAY.                                                     FMD
*                                                                        FMD
*  A.3    TEST NUMBERS                                                   FMD
*                                                                        FMD
*IF DEF,SFMD
*         TO KEEP ERRORS USED IN TESTS FMC, DTC, AND FMD UNIQUE, TEST    FMD
*ENDIF
*IF DEF,PFMD
*         TO KEEP ERRORS USED IN TESTS FMC, DTC, AND FHD UNIQUE, TEST 
*ENDIF
*IF DEF,LSFMD 
*         TO KEEP ERRORS USED IN TESTS FMC, DTC, AND FLD UNIQUE, TEST 
*ENDIF
*         NUMBERS ARE ADDED TO THE FRONT END OF THE ERROR CODES.  THE    FMD
*         TEST NUMBERS USED BY EACH DIAGNOSTIC ARE-                      FMD
*                                                                        FMD
*IF DEF,SFMD
*                FMD 00 TO 2F HEX                                        FMD
*ENDIF
*IF DEF,PFMD
*                FHD 00 TO 2F HEX 
*ENDIF
*IF DEF,LSFMD 
*                FLD 00 TO 2F HEX 
*ENDIF
*                DTC 30 TO 5F HEX                                        FMD
*                FMC 60 TO 8F HEX                                        FMD
*                                                                        FMD
*         THE COMBINATION OF ERROR CODE AND TEST NUMBER IS REFERRED TO   FMD
*         AS THE ERROR NUMBER AND IS GIVEN IN 5 HEX DIGITS.              FMD
*                                                                        FMD
*  A.4    MODULE NAMING                                                  FMD
*                                                                        FMD
*  A.4.1  PRIMARY MODULES                                                FMD
*                                                                        FMD
*IF DEF,SFMD
*         FMD00                  PARAMETER CHECKING MODULE.              FMD
*         FMD01 THROUGH FMD03    TEST 01 PRIMARY DIAGNOSTIC MODULES.     FMD
*         FMD04 THROUGH FMD07    TEST 02 PRIMARY DIAGNOSTIC MODULES.     FMD
*         FMD08 THROUGH FMD13    TEST 03 PRIMARY DIAGNOSTIC MODULES.     FMD
*         FMD14 THROUGH FMD26    TEST 04 PRIMARY DIAGNOSTIC MODULES.     FMD
*         FMD27 THROUGH FMD30    TEST 05 PRIMARY DIAGNOSTIC MODULES.     FMD
*         FMD31 THROUGH FMD33    TEST 06 PRIMARY DIAGNOSTIC MODULES.     FMD
*         FMD34 THROUGH FMD45    TEST 07 PRIMARY DIAGNOSTIC MODULES.     FMD
*         FMD46 THROUGH FMD50    TEST 08 PRIMARY DIAGNOSTIC MODULES.     FMD
*         FMD51 THROUGH FMD60    TEST 09 PRIMARY DIAGNOSTIC MODULES.     FMD
*         FMD61 THROUGH FMD69    TEST 0A PRIMARY DIAGNOSTIC MODULES.     FMD
*         FMD70                  TEST 0B PRIMARY DIAGNOSTIC MODULE.      FMD
*         FMD71 THROUGH FMD72    TEST 0C PRIMARY DIAGNOSTIC MODULES.     FMD
*         FMD73                  TEST 0D PRIMARY DIAGNOSTIC MODULE.      FMD
*         FMD99                  DOCUMENTATION MODULE.                   FMD
*ENDIF
*IF DEF,PFMD
*         FHD00                  PARAMETER CHECKING MODULE. 
*         FHD01 THROUGH FHD03    TEST 01 PRIMARY DIAGNOSTIC MODULES.
*         FHD04 THROUGH FHD07    TEST 02 PRIMARY DIAGNOSTIC MODULES.
*         FHD08 THROUGH FHD13    TEST 03 PRIMARY DIAGNOSTIC MODULES.
*         FHD14 THROUGH FHD26    TEST 04 PRIMARY DIAGNOSTIC MODULES.
*         FHD27 THROUGH FHD30    TEST 05 PRIMARY DIAGNOSTIC MODULES.
*         FHD31 THROUGH FHD33    TEST 06 PRIMARY DIAGNOSTIC MODULES.
*         FHD34 THROUGH FHD45    TEST 07 PRIMARY DIAGNOSTIC MODULES.
*         FHD46 THROUGH FHD50    TEST 08 PRIMARY DIAGNOSTIC MODULES.
*         FHD51 THROUGH FHD60    TEST 09 PRIMARY DIAGNOSTIC MODULES.
*         FHD61 THROUGH FHD69    TEST 0A PRIMARY DIAGNOSTIC MODULES.
*         FHD70                  TEST 0B PRIMARY DIAGNOSTIC MODULE. 
*         FHD71 THROUGH FHD72    TEST 0C PRIMARY DIAGNOSTIC MODULES.
*         FHD73                  TEST 0D PRIMARY DIAGNOSTIC MODULE. 
*         FHD99                  DOCUMENTATION MODULE.
*ENDIF
*IF DEF,LSFMD 
*         FLD00                  PARAMETER CHECKING MODULE. 
*         FLD01 THROUGH FLD03    TEST 01 PRIMARY DIAGNOSTIC MODULES.
*         FLD04 THROUGH FLD07    TEST 02 PRIMARY DIAGNOSTIC MODULES.
*         FLD08 THROUGH FLD13    TEST 03 PRIMARY DIAGNOSTIC MODULES.
*         FLD14 THROUGH FLD26    TEST 04 PRIMARY DIAGNOSTIC MODULES.
*         FLD27 THROUGH FLD30    TEST 05 PRIMARY DIAGNOSTIC MODULES.
*         FLD31 THROUGH FLD33    TEST 06 PRIMARY DIAGNOSTIC MODULES.
*         FLD34 THROUGH FLD45    TEST 07 PRIMARY DIAGNOSTIC MODULES.
*         FLD46 THROUGH FLD50    TEST 08 PRIMARY DIAGNOSTIC MODULES.
*         FLD51 THROUGH FLD60    TEST 09 PRIMARY DIAGNOSTIC MODULES.
*         FLD61 THROUGH FLD69    TEST 0A PRIMARY DIAGNOSTIC MODULES.
*         FLD70                  TEST 0B PRIMARY DIAGNOSTIC MODULES.
*         FLD71 THROUGH FLD72    TEST 0C PRIMARY DIAGNOSTIC MODULES.
*         FLD73                  TEST 0D PRIMARY DIAGNOSTIC MODULE. 
*         FLD99                  DOCUMENTATION MODULE.
*ENDIF
*                                                                        FMD
*  A.4.2  SUBMODULES                                                     FMD
*                                                                        FMD
*IF DEF,SFMD
*         FMD98A                 REPEAT MODULE OPERATOR ERROR MODULE.    FMD
*         FMD98B                 PROCESS PRODUCT OVERLAY ERRORS MODULE.  FMD
*         FMD98C                 ISOLATE READY AND SAFE FAULT MODULE     FMD
*ENDIF
*IF DEF,PFMD
*         FHD98A                 REPEAT MODULE OPERATOR ERROR MODULE. 
*         FHD98B                 PROCESS PRODUCT OVERLAY ERRORS MODULE. 
*         FHD98C                 ISOLATE READY AND SAFE FAULT MODULE
*ENDIF
*IF DEF,LSFMD 
*         FLD98A                  REPEAT MODULE OPERATOR ERROR MODULE.
*         FLD98B                  PROCESS PRODUCT OVERLAY ERRORS MODULE.
*         FLD98C                  ISOLATE READY AND SAFE FAULT MODULE.
*ENDIF
*                                FOR TESTS 02 THROUGH TEST 06.           FMD
*IF DEF,SFMD
*         FMD98D                 ISOLATE READY AND SAFE FAULT MODULE     FMD
*ENDIF
*IF DEF,PFMD
*         FHD98D                 ISOLATE READY AND SAFE FAULT MODULE
*ENDIF
*IF DEF,LSFMD 
*         FLD98D                  ISOLATE READY AND SAFE FAULT MODULE 
*ENDIF
*                                FOR TEST 07.                            FMD
*IF DEF,SFMD
*         FMD98E                 ISOLATE READY AND SAFE FAULT MODULE     FMD
*ENDIF
*IF DEF,PFMD
*         FHD98E                 ISOLATE READY AND SAFE FAULT MODULE
*ENDIF
*IF DEF,LSFMD 
*         FLD98E                  ISOLATE READY AND SAFE FAULT MODULE 
*ENDIF
*                                FOR TEST 08.                            FMD
*IF DEF,SFMD
*         FMD98F                 ISOLATE READY AND SAFE FAULT MODULE     FMD
*ENDIF
*IF DEF,PFMD
*         FHD98F                 ISOLATE READY AND SAFE FAULT MODULE
*ENDIF
*IF DEF,LSFMD 
*         FLD98F                  ISOLATE READY AND SAFE FAULT MODULE 
*ENDIF
*                                FOR TEST 09.                            FMD
*IF DEF,SFMD
*         FMD98G                 ISOLATE READY AND SAFE FAULT MODULE     FMD
*ENDIF
*IF DEF,PFMD
*         FHD98G                 ISOLATE READY AND SAFE FAULT MODULE
*ENDIF
*IF DEF,LSFMD 
*         FLD98G                  ISOLATE READY AND SAFE FAULT MODULE 
*ENDIF
*                                FOR TEST 0A.                            FMD
*IF DEF,SFMD
*         FMD98H                 GENERATE DATA PATTERNS MODULE.          FMD
*         FMD98I THROUGH FMD98J  TEST 01 ERROR PROCESSING MODULES.       FMD
*         FMD98K THROUGH FMD98L  TEST 01 ISOLATION INFORMATION MODULES.  FMD
*         FMD98M THROUGH FMD98Q  TEST 02 ERROR PROCESSING MODULES.       FMD
*         FMD98R                 TEST 02 ISOLATION INFORMATION MODULE.   FMD
*         FMD98S THROUGH FMD981  TEST 03 ERROR PROCESSING MODULES.       FMD
*         FMD982 THROUGH FMD983  TEST 03 ISOLATION INFORMATION MODULES.  FMD
*         FMD984 THROUGH FMD97C  TEST 04 ERROR PROCESSING MODULES.       FMD
*         FMD97D THROUGH FMD97E  TEST 04 ISOLATION INFORMATION MODULES.  FMD
*         FMD97F THROUGH FMD97L  TEST 05 ERROR PROCESSING MODULES.       FMD
*         FMD97M THROUGH FMD97N  TEST 05 ISOLATION INFORMATION MODULES.  FMD
*         FMD97O THROUGH FMD97P  TEST 06 ERROR PROCESSING MODULES.       FMD
*         FMD97R                 TEST 06 ISOLATION INFORMATION MODULE.   FMD
*         FMD97S THROUGH FMD97Z  TEST 07 ERROR PROCESSING MODULES.       FMD
*         FMD970 THROUGH FMD972  TEST 07 ISOLATION INFORMATION MODULES.  FMD
*         FMD973 THROUGH FMD978  TEST 08 ERROR PROCESSING MODULES.       FMD
*         FMD979 THROUGH FMD96A  TEST 08 ISOLATION INFORMATION MODULES.  FMD
*         FMD96B THROUGH FMD96H  TEST 09 ERROR PROCESSING MODULES.       FMD
*         FMD96I THROUGH FMD96K  TEST 09 ISOLATION INFORMATION MODULES.  FMD
*         FMD96L THROUGH FMD96R  TEST 0A ERROR PROCESSING MODULES.       FMD
*         FMD96S THROUGH FMD96T  TEST 0A ISOLATION INFORMATION MODULES.  FMD
*         FMD96U                 TEST 0B ERROR PROCESSING AND ISOLATION  FMD
*                                INFORMATION MODULE.                     FMD
*         FMD96V                 TEST 0C ERROR PROCESSING MODULE.        FMD
*         FMD99X (ANY X)         CONTINUATION OF DOCUMENTATION           FMD
*                                 BEGUN IN FMD99                         FMD
*ENDIF
*IF DEF,PFMD
*         FHD98H                 GENERATE DATA PATTERNS MODULE. 
*         FHD98I THROUGH FHD98J  TEST 01 ERROR PROCESSING MODULES.
*         FHD98K THROUGH FHD98L  TEST 01 ISOLATION INFORMATION MODULES. 
*         FHD98M THROUGH FHD98Q  TEST 02 ERROR PROCESSING MODULES.
*         FHD98R                 TEST 02 ISOLATION INFORMATION MODULE.
*         FHD98S THROUGH FHD981  TEST 03 ERROR PROCESSING MODULES.
*         FHD982 THROUGH FHD983  TEST 03 ISOLATION INFORMATION MODULES. 
*         FHD984 THROUGH FHD97C  TEST 04 ERROR PROCESSING MODULES.
*         FHD97D THROUGH FHD97E  TEST 04 ISOLATION INFORMATION MODULES. 
*         FHD97F THROUGH FHD97L  TEST 05 ERROR PROCESSING MODULES.
*         FHD97M THROUGH FHD97N  TEST 05 ISOLATION INFORMATION MODULES. 
*         FHD97O THROUGH FHD97P  TEST 06 ERROR PROCESSING MODULES.
*         FHD97R                 TEST 06 ISOLATION INFORMATION MODULE.
*         FHD97S THROUGH FHD97Z  TEST 07 ERROR PROCESSING MODULES.
*         FHD970 THROUGH FHD972  TEST 07 ISOLATION INFORMATION MODULES. 
*         FHD973 THROUGH FHD978  TEST 08 ERROR PROCESSING MODULES.
*         FHD979 THROUGH FHD96A  TEST 08 ISOLATION INFORMATION MODULES. 
*         FHD96B THROUGH FHD96H  TEST 09 ERROR PROCESSING MODULES.
*         FHD96I THROUGH FHD96K  TEST 09 ISOLATION INFORMATION MODULES. 
*         FHD96L THROUGH FHD96R  TEST 0A ERROR PROCESSING MODULES.
*         FHD96S THROUGH FHD96T  TEST 0A ISOLATION INFORMATION MODULES. 
*         FHD96U                 TEST 0B ERROR PROCESSING AND ISOLATION 
*                                INFORMATION MODULE.
*         FHD96V                 TEST 0C ERROR PROCESSING MODULE. 
*         FHD99X (ANY X)         CONTINUATION OF DOCUMENTATION
*                                 BEGUN IN FHD99
*ENDIF
*IF DEF,LSFMD 
*         FLD98H                  GENERATE DATA PATTERNS MODULE.
*         FLD98I THROUGH FLD98J   TEST 01 ERROR PROCESSING MODULES. 
*         FLD98K THROUGH FLD98L   TEST 01 ISOLATION INFORMATION MODULES.
*         FLD98M THROUGH FLD98Q   TEST 02 ERROR PROCESSING MODULES. 
*         FLD98R                  TEST 02 ISOLATION INFORMATION MODULE. 
*         FLD98S THROUGH FLD981   TEST 03 ERROR PROCESSING MODULES. 
*         FLD982 THROUGH FLD983   TEST 03 ISOLATION INFORMATION MODULES.
*         FLD984 THROUGH FLD97C   TEST 04 ERROR PROCESSING MODULES. 
*         FLD97D THROUGH FLD97E   TEST 04 ISOLATIONINFORMATION MODULES. 
*         FLD97F THROUGH FLD97L   TEST 05 ERROR PROCESSING MODULES. 
*         FLD97M THROUGH FLD97N   TEST 05 ISOLATION INFORMATION MODULES.
*         FLD97O THROUGH FLD97P   TEST 06 ERROR PROCESSING MODULES. 
*         FLD97R                  TEST 06 ISOLATION INFORMATION MODULE. 
*         FLD97S THROUGH FLD97Z   TEST 07 ERROR PROCESSING MODULES. 
*         FLD970 THROUGH FLD972   TEST 07 ISOLATION INFORMATION MODULES.
*         FLD973 THROUGH FLD978   TEST 08 ERROR PROCESSING MODULES. 
*         FLD979 THROUGH FLD96A   TEST 08 ISOLATION INFORMATION MODULES.
*         FLD96B THROUGH FLD96H   TEST 09 ERROR PROCESSING MODULES. 
*         FLD96I THROUGH FLD96K   TEST 09 ISOLATION INFORMATION MODULES.
*         FLD96L THROUGH FLD96R   TEST 0A ERROR PROCESSING MODULES. 
*         FLD96S THROUGH FLD96T   TEST 0A ISOLATION INFORMATION MODULES.
*         FLD96U                  TEST 0B ERROR PROCESSING AND ISOLATION
*                                 INFORMATION MODULE. 
*         FLD96V                  TEST 0C ERROR PROCESSING MODULE.
*         FLD99X (ANY X)          CONTINUATION OF DOCUMENTATION 
*                                 BEGUN IN FLD99
*ENDIF
*                                                                        FMD
*  A.5    ERROR MESSAGES                                                 FMD
*                                                                        FMD
*         ALL ERROR MESSAGE DISPLAYS ARE BUILT IN IN SUBMODULES EXCEPT   FMD
*IF DEF,SFMD
*         IN FOR THE PRIMARY MODULES FMD00 AND FMD01.  THE PRIMARY       FMD
*ENDIF
*IF DEF,PFMD
*         IN FOR THE PRIMARY MODULES FHD00 AND FHD01.  THE PRIMARY
*ENDIF
*IF DEF,LSFMD 
*         IN FOR THE PRIMARY MODULES FLD00 AND FLD01.  THE PRIMARY
*ENDIF
*         MODULE USES A CALL STATEMENT TO ENTER THE SUBMODULE THAT WILL  FMD
*         BUILD THE ERROR MESSAGE DISPLAY. THE B0 REGISTER CONTAINS THE  FMD
*         DECIMAL NUMBER OF THE PRIMARY MODULE WHEN ENTERING THE FIRST   FMD
*         SUBMODULE. THE FIRST THREE LINES OF THE ERROR MESSAGE WILL BE  FMD
*         PLACED IN THE DISPLAY BUFFER BY THE FIRST SUBMODULE. IF THE    FMD
*         ERROR IS A PRODUCT OVERLAY ERROR, THE MODULE WILL EXIT TO THE  FMD
*IF DEF,SFMD
*         FMD98B SUBMODULE TO COMPLETE THE ERROR MESSAGE DISPLAY. ALL    FMD
*ENDIF
*IF DEF,PFMD
*         FHD98B SUBMODULE TO COMPLETE THE ERROR MESSAGE DISPLAY. ALL 
*ENDIF
*IF DEF,LSFMD 
*         FLD98B SUBMODULE TO COMPLETE THE ERROR MESSAGE DISPLAY. ALL 
*ENDIF
*         OTHER ERROR DISPLAY WILL BE HANDLED BY THE GROUP OF            FMD
*         SUBMODULES.                                                    FMD
*                                                                        FMD
* 
*  A.6    EQUATES                                                        FMD
*                                                                        FMD
*IF DEF,SFMD
*         THE FOLLOWING EQUATES WILL BE USED COMMONLY BY TESTS FMD, DTC, FMD
*ENDIF
*IF DEF,PFMD
*         THE FOLLOWING EQUATES WILL BE USED COMMONLY BY TESTS FHD, DTC,
*ENDIF
*IF DEF,LSFMD 
*         THE FOLLOWING EQUATES WILL BE USED COMMONLY BY TESTS FLD, DTC,
*ENDIF
*         AND FMC.  ONLY THE EQUATES USED BY A MODULE ARE DEFINED IN THE FMD
*         MODULE DUE TO LIMITS ON THE NUMBER OF LINES AND EQUATES.       FMD
*         THESE LIMITATIONS MAY PRECLUDE USING EQUATES AT ALL.  IF THE   FMD
*         EQUATES ARE USED, THEN THE FOLLOWING TAGS WILL BE COMMONLY     FMD
*         USED.                                                          FMD
*                                                                        FMD
*  A.6.1  FUNCTION CODE EQUATES                                          FMD
*                                                                        FMD
*  EQUATE CNDV TO 0000       *CONNECT                                    FMD
*  EQUATE SK11 TO 0001       *SEEK1_1                                    FMD
*  EQUATE SK21 TO 0002       *SEEK 2_1                                   FMD
*  EQUATE      TO 0003       *UNUSED                                     FMD
*  EQUATE READ TO 0004       *READ                                       FMD
*  EQUATE WRITE TO 0005      *WRITE                                      FMD
*  EQUATE VERIFY TO 0006     *WRITE VERIFY                               FMD
*  EQUATE RDCHK TO 0007      *READ CHECKWORD                             FMD
*  EQUATE OPCOM TO 0010      *OPERATION COMPLETE                         FMD
*  EQUATE DISRES TO 0011     *DISABLE DRIVE RESERVE                      FMD
*  EQUATE CGS TO 0012        *GENERAL STATUS                             FMD
*  EQUATE DSTAT12 TO 0013    *12 WORD DETAILED STATUS                    FMD
*  EQUATE CONTNU TO 0014     *CONTINUE                                   FMD
*  EQUATE DRSK TO 0015       *DROP SEEKS                                 FMD
*  EQUATE FMTPCK TO 0016     *FORMAT PACK                                FMD
*  EQUATE       TO 0017      *UNUSED                                     FMD
*  EQUATE DREL TO 0020       *DRIVE RELEASE                              FMD
*  EQUATE RCA TO 0021        *RETURN CYLINDER ADDRESS                    FMD
*  EQUATE SCF TO 0022        *SET/CLEAR FLAWS                            FMD
*  EQUATE DSTAT20 TO 0023    *20 WORD DETAILED STATUS                    FMD
*  EQUATE GSR TO 0024        *GAP SECTOR READ                            FMD
*  EQUATE GSW TO 0025        *GAP SECTOR WRITE                           FMD
*  EQUATE GSWV TO 0026       *GAP SECTOR WRITE VERIFY                    FMD
*  EQUATE GSRC TO 0027       *GAP SECTOR READ CHECKWORD                  FMD
*  EQUATE RFD TO 0030        *READ FACTORY DATA                          FMD
*  EQUATE RUM TO 0031        *READ UTILITY DATA                          FMD
*  EQUATE BTBMR TO 0032      *BLOCK TRANSFER BUFFER READ                 FMD
*  EQUATE BTBMW TO 0033      *BLOCK TRANSFER BUFFER WRITE                FMD
*  EQUATE RPS TO 0034        *READ PROTECTED SECTOR                      FMD
*  EQUATE WRITELS TO 0035    *WRITE LAST SECTOR                          FMD
*  EQUATE VERFYLS TO 0036    *WRITE VERIFY LAST SECTOR                   FMD
*  EQUATE WPS TO 0037        *WRITE PROTECTED SECTOR                     FMD
*  EQUATE RSHORT TO 0040     *READ SHORT                                 FMD
*  EQUATE SSO TO 0041        *SELECT STROBE AND OFFSET                   FMD
*  EQUATE CLCON TO 0042      *CLEAR CONNECTS                             FMD
*  EQUATE BMR TO 0043        *BUFFER READ                                FMD
*  EQUATE BMW TO 0044        *BUFFER WRITE                               FMD
*  EQUATE MWRITE TO 0045     *MAINTENANCE WRITE                          FMD
*  EQUATE        TO 0046     *WRITE BUFFER TO DISK                       FMD
*  EQUATE       TO 0047      *SCAN CYLINDER ADDRESS                      FMD
*  EQUATE OPNC TO 0050       *OUTPUT ON PROCESSOR NORMAL CHANNEL         FMD
*  EQUATE ECWS TO 0051       *EXECUTE CONTROL WORD SEQUENCE              FMD
*  EQUATE IPCS TO 0052       *INPUT PROCESSOR CHANNEL STATUS             FMD
*  EQUATE ENOC TO 0053       *ECHO OUTPUT CHANNELS                       FMD
*  EQUATE IPFP TO 0054       *ISSUE PROCESSOR FLAG PULSE                 FMD
*  EQUATE ITIME TO 0055      *ENABLE INPUT CHANNEL TIMING                FMD
*  EQUATE ITD TO 0056        *INPUT TIMING DATA                          FMD
*  EQUATE ECHO TO 0057       *ECHO ONE WORD                              FMD
*  EQUATE FIT TO 0060        *FORCE INSTRUCTION TIMEOUT                  FMD
*  EQUATE DUMP TO 0061       *AUTODUMP                                   FMD
*  EQUATE MDS TO 0062        *MANIPULATE PROCESSOR                       FMD
*  EQUATE IDD TO 0063        *INPUT DISPLAY DATA                         FMD
*IF DEF,SFMD
*  EQUATE FMDPT TO 0064      *TIME DIFFERENCE COUNTER                    FMD
*ENDIF
*IF DEF,PFMD
*  EQUATE FHDPT TO 0064      *TIME DIFFERENCE COUNTER 
*ENDIF
*IF DEF,LSFMD 
*  EQUATE FLDPT TO 0064          *TIME DIFFERENCE COUNTER 
*ENDIF
*  EQUATE DISKAL TO 0100     *AUTOLOAD FROM DISK                         FMD
*  EQUATE DISKDS TO 0300     *DISK DEADSTART                             FMD
*  EQUATE ALOAD TO 0414      *AUTOLOAD FROM PP                           FMD
*  EQUATE ECHONEG TO 0720    *ECHO ONE WORD                              FMD
*                                                                        FMD
*                                                                        FMD
*         THE TAG NAMES ARE THE SAME AS USED IN THE CONTROLWARE EXCEPT   FMD10
*         FOR -                                                          FMD
*                                                                        FMD
*         CNDV                                                           FMD
*         SK11                                                           FMD
*         SK21                                                           FMD
*         CGS                                                            FMD
*         DSTAT12                                                        FMD
*         FMTPCK                                                         FMD
*         DSTAT20                                                        FMD
*         WRITELS                                                        FMD
*         VERFYLS                                                        FMD
*         MWRITE                                                         FMD
*         ITIME                                                          FMD
*         ALOAD                                                          FMD
*         ECHONEG                                                        FMD
*                                                                        FMD
*  A.6.2  PARAMETER EQUATES                                              FMD
*                                                                        FMD
*         P4_                 *ENABLES                                   FMD
*                                                                        FMD
*  EQUATE ENFR TO 0001       *FLAW REPORTING                             FMD
*  EQUATE ENIRSF TO 2000     *ISOLATION OF READY AND SAFE FAILURES       FMD
*  EQUATE ENISO TO 4000      *ISOLATION                                  FMD
*                                                                        FMD
*         P5_                 *DISABLES                                  FMD
*                                                                        FMD
*  EQUATE DDC TO 0001        *DATA CHECKING                              FMD
*  EQUATE DDCAFE TO 0002     *DATA CHECKING AFTER FIRST ERROR            FMD
*  EQUATE DHDE TO 0004       *HALT ON DATA ERROR                         FMD
*  EQUATE DOPIN TO 0010      *OPERATOR INTERVENTION                      FMD
*  EQUATE DDISRES TO 2000    *DISABLE RESERVE FUNCTIONS                  FMD
*  EQUATE DFDF TO 4000       *FORCE DRIVE FAULTS                         FMD
*                                                                        FMD
*         P7_                 *MARGINS                                   FMD
*                                                                        FMD
*  EQUATE OFSTMSK TO 0007    *OFFSET MASK                                FMD
*  EQUATE STRBMSK TO 0070    *STROBE MASK                                FMD
*                                                                        FMD
*  EQUATE NORMAL TO 0000     *NORMAL STROBE OR OFFSET                    FMD
*  EQUATE EARLY TO 0001      *EARLY OFFSET                               FMD
*  EQUATE LATE TO 0002       *LATE OFFSET                                FMD
*  EQUATE FORWARD TO 0010    *FORWARD STROBE                             FMD
*  EQUATE REVERSE TO 0020    *REVERSE STROBE                             FMD
*                                                                        FMD
*         P8_                 *DUAL ACCESS TEST COPY                     FMD
*                                                                        FMD
*  EQUATE CPYS TO 0300       *COPIES 0 AND 1 OF THE DUAL ACCESS TEST     FMD
*  EQUATE CPY0 TO 0100       *COPY 0 OF THE DUAL ACCESS TEST             FMD
*  EQUATE CPY1 TO 0200       *COPY 1 OF THE DUAL ACCESS TEST             FMD
*                                                                        FMD
*                                                                        FMD
* A.6.3   STATUS EQUATES                                                 FMD
*                                                                        FMD
* A.6.3.1 GENERAL STATUS EQUATES                                         FMD
*                                                                        FMD
*  EQUATE      TO 0001        *NOT USED                                  FMD
*  EQUATE BUSY TO 0002        *BUSY                                      FMD
*  EQUATE ALERR TO 0004       *AUTOLOAD ERROR                            FMD
*  EQUATE DRSVD TO 0010       *DRIVE RESERVED                            FMD
*  EQUATE DMFNC TO 0020       *DRIVE MALFUNCTION                         FMD
*  EQUATE      TO 0040        *NOT USED                                  FMD
*  EQUATE CAERR TO 0100       *CORRECTABLE ADDRESS ERROR                 FMD
*  EQUATE CWERR TO 0200       *CHECKWORD ERROR                           FMD
*  EQUATE RECIP TO 0400       *RECOVERY IN PROGRESS                      FMD
*  EQUATE NRERR TO 1000       *NON-RECOVERABLE ERROR                     FMD
*  EQUATE CRSVD TO 2000       *CHANNEL ACCESS RESERVED                   FMD
*  EQUATE ABTERM TO 4000      *ABNORMAL TERMINATION                      FMD
*                                                                        FMD
*                                                                        FMD
*  A.7    SUBROUTINE HEADERS                                             FMD
*                                                                        FMD
*         THE FOLLOWING FORMAT WILL BE USED TO DESCRIBE EACH SUBROUTINE. FMD
*          THE FIRST ASTERISK ON EACH LINE IS IN COLUMN 1.               FMD
*                                                                        FMD
* **                                                                     FMD
*IF DEF,SFMD
* *   X.X.X FMDXX - MODULE TITLE                                         FMD
*ENDIF
*IF DEF,PFMD
* *   X.X.X FHDXX - MODULE TITLE
*ENDIF
*IF DEF,LSFMD 
* *   X.X.X FLDXX - MODULE TITLE
*ENDIF
* *                                                                      FMD
* *         PURPOSE-                                                     FMD
* *         A SHORT DESCRIPTION OF THE FUNCTION PERFORMED BY MODULE      FMD
*IF DEF,SFMD
* *         FMDXX.  IT IS IN THE FORM OF A COMPLETE SENTENCE WHOSE FIRST FMD
* *         WORD IS FMDXX.                                               FMD
*ENDIF
*IF DEF,PFMD
* *         FHDXX.  IT IS IN THE FORM OF A COMPLETE SENTENCE WHOSE FIRST
* *         WORD IS FHDXX.
*ENDIF
*IF DEF,LSFMD 
* *       FLDXX.  IT IS IN THE FORM OF A COMPLETE SENTENCE WHOSE FIRST
* *       WORD IS FLDXX.
*ENDIF
* *                                                                      FMD
* *         METHOD-                                                      FMD
*IF DEF,SFMD
* *         THIS IS AN OPTIONAL DESCRIPTION OF HOW FMDXX PERFORMS ITS    FMD
*ENDIF
*IF DEF,PFMD
* *         THIS IS AN OPTIONAL DESCRIPTION OF HOW FHDXX PERFORMS ITS 
*ENDIF
*IF DEF,LSFMD 
* *       THIS IS AN OPTIONAL DESCRIPTION OF HOW FLDXX PERFORMS ITS 
*ENDIF
* *         FUNCTION.                                                    FMD
* * 
* *         ENTRY-                                                       FMD
* *         A DESCRIPTION OF ALL PARAMETERS, REGISTERS, FILES, AND       FMD
*IF DEF,SFMD
* *         BUFFERS WHICH MUST BE INITIALIZED BEFORE EXECUTING FMDXX.    FMD
*ENDIF
*IF DEF,PFMD
* *         BUFFERS WHICH MUST BE INITIALIZED BEFORE EXECUTING FHDXX. 
*ENDIF
*IF DEF,LSFMD 
* *       BUFFERS WHICH MUST BE INITIALIZED BEFORE EXECUTING FLDXX. 
*ENDIF
* *         IF THE HARDWARE TO BE TESTED MUST BE PRECONDITIONED IN ANY   FMD
* *         WAY IT SHOULD BE MENTIONED HERE.                             FMD10
* *                                                                      FMD
* *         EXIT-                                                        FMD
* *         A DESCRIPTION OF ALL REGISTERS, FILES, BUFFERS AND OTHER     FMD
*IF DEF,SFMD
* *         HARDWARE CONDITIONS WHICH FMDXX CHANGES.                     FMD
*ENDIF
*IF DEF,PFMD
* *         HARDWARE CONDITIONS WHICH FHDXX CHANGES.
*ENDIF
*IF DEF,LSFMD 
* *       HARDWARE CONDITIONS WHICH FLDXX CHANGES.
*ENDIF
* *                                                                      FMD
* *         SUBMODULES REFERENCED-                                       FMD
* *         NAMES AND TITLES OF ALL SUBMODULES CALLED OR EXITTED TO BY   FMD
*IF DEF,SFMD
* *         FMDXX.                                                       FMD
*ENDIF
*IF DEF,PFMD
* *         FHDXX.
*ENDIF
*IF DEF,LSFMD 
* *       FLDXX.
*ENDIF
* *                                                                      FMD
* *         REGISTERS USED-                                              FMD
*IF DEF,SFMD
* *         DESCRIPTION OF REGISTERS USED BY FMDXX AND NOT ALREADY       FMD
*ENDIF
*IF DEF,PFMD
* *         DESCRIPTION OF REGISTERS USED BY FHDXX AND NOT ALREADY
*ENDIF
*IF DEF,LSFMD 
* *         DESCRIPTION OF REGISTERS USED BY FLDXX AND NOT ALREADY
*ENDIF
* *         DESCRIBED AS ENTRY OR EXIT CONDITIONS.                       FMD
* *                                                                      FMD
* *         BUFFERS USED-                                                FMD
*IF DEF,SFMD
* *         DESCRIPTION OF BUFFERS USED BY FMDXX AND NOT ALREADY         FMD
*ENDIF
*IF DEF,PFMD
* *         DESCRIPTION OF BUFFERS USED BY FHDXX AND NOT ALREADY
*ENDIF
*IF DEF,LSFMD 
* *         DESCRIPTION OF BUFFERS USED BY FLDXX AND NOT ALREADY
*ENDIF
* *         DESCRIBED AS ENTRY OR EXIT CONDITIONS.                       FMD
* *                                                                      FMD
* *         REMARKS-                                                     FMD
* *         OPTIONAL PERTINENT REMARKS.                                  FMD
* *                                                                      FMD
* *         KNOWN LIMITATIONS-                                           FMD
* *         THIS SECTION WILL EXPLAIN ANY KNOWN PROBLEMS WITH THE        FMD
* *         DIAGNOSTIC.  DURING DEVELOPMENT IT CAN BE USED FOR NOTES     FMD
* *         COMMENTING ON POSSIBLE FUTURE ENHANCEMENTS, CHANGES, BUGS,   FMD
* *         ETC.  THESE COMMENTS MUST BE DELETED BEFORE RELEASE.         FMD
* *                                                                      FMD
* *                                                                      FMD
