*DECK FMC                                                                FMC
***                  FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC 
**                   FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC 
*                                                                        FMC
*                             AUTHOR - C. CONNORS                        FMC
*                             REVISOR - H. STAUFFER 
*                             REVISOR - B. DANESHVAR
*                                                                        FMC
*                            DATE - NOVEMBER, 1978                       FMC
*                                                                        FMC
*                      COPYRIGHT CONTROL DATA CORP. 1978                 FMC
*                                                                        FMC
*                                                                        FMC
*   1.    INTRODUCTION                                                   FMC
*         ------------                                                   FMC
*                                                                        FMC
*         FMC IS A DIAGNOSTIC WHICH DETECTS AND                          FMC1454
*         ISOLATES FAILURES IN THE 7155-1,1X DISK CONTROLLER. 
*                                                                        FMC
*         THE 7155-1,1X IS THE CONTROLLER WHICH IS USED TO DRIVE
*         BOTH 885-1X AND 844-4X DISK DRIVES. 
*                                                                        FMC
*IF -DEF,CMSE17X
*    1.1  RESTRICTIONS AND CAUTIONS 
*         ------------ --- -------- 
* 
*         FULL AUTOLOADS USING FMC02 MAY INTERMITTANTLY PRODUCE RAM/ROM 
*         PARITY ERRORS DURING  "HIGH"  CHANNEL ACTIVITY  (MASS STORAGE 
*         CHANNELS).   LEDS ON THE  7155  INDICATE RAM/ROM PE,  DEADMAN 
*         TIMER, INPUT FULL AND ACCESS CONNECTED.  IF THIS OCCURS RERUN 
*         TEST SEQUENCE OR IF THIS FAILURE  OCCURS DURING "LOW" CHANNEL 
*         ACTIVITY (MASS STORAGE CHANNELS) OR EACH TIME FMC02  IS RUN A 
*         LEGITIMATE FAILURE CAN BE ASSUMED.
* 
*         THIS IS NOT  A  MALET  PROBLEM  BUT  A PROBLEM IN GETTING THE 
*         CONTROLWARE FILE FROM THE OPERATING SYSTEM. 
* 
*ENDIF
*   2.    REQUIREMENTS                                                   FMC
*         ------------                                                   FMC
*                                                                        FMC
*   2.1   HARDWARE                                                       FMC
*                                                                        FMC
*         THIS DIAGNOSTIC MUST ADDRESS CONTROLLER AND ONE DRIVE.  THE    FMC
*         CONFIGURATION MAY BE ANY LEGAL ONE AS DEFINED IN THE FA211ABC 
*         EQUIPMENT SPECIFICATION (PUBLICATION 22938611).  OTHER         FMC015 
*         HARDWARE REQUIREMENTS IMPOSED BY EACH OPERATING SYSTEM ARE     FMC015 
*         INCLUDED IN ITS REFERENCE MANUAL.                              FMC015 
*                                                                        FMC
*IF DEF,CMSE17X,2 
*         THE PARITY TESTS REQUIRE A CYBER 17X SINCE THEY USE THE STATUS FMC
*         AND CONTROL REGISTER.                                          FMC
*                                                                        FMC
*   2.2   SOFTWARE                                                       FMC
*                                                                        FMC
*         A COPY OF THE MOST RECENT VERSION OF THE MA721
*         CONTROLWARE MUST EXIST ON THE SCRATCH FILE IN                  FMC
*         ORDER TO RUN THE AUTOLOAD FROM PP TEST.                        FMC
*         THIS CONTROLWARE MAY BE EITHER 7230D OR 8435D 
*         16-BIT WORDS IN LENGTH WITH OR WITHOUT A
*         77-TABLE. 
*                                                                        FMC
*         A COPY OF MALET OR DEMOT MUST RESIDE ON THE 
*         OPERATING SYSTEM USED TO EXECUTE THIS DIAGNOSTIC. 
* 
*   2.3   ACCESSORIES                                                    FMC
*                                                                        FMC
*         NO ACCESSORIES ARE REQUIRED.
*                                                                        FMC
*   3.    OPERATIONAL PROCEDURE                                          FMC
*         ----------- ---------                                          FMC
*                                                                        FMC
*   3.1   LOADING PROCEDURE                                              FMC
*                                                                        FMC
*         FMC IS LOADED USING THE STANDARD LOADING                       FMC1454
*         PROCEDURES.                                                    FMC
*                                                                        FMC
*                                                                        FMC
*   3.2   PARAMETERS                                                     FMC
*                                                                        FMC
*         ALL UNUSED PARAMETERS MUST BE SET TO ZERO.  THIS ALLOWS THE    FMC015 
*         PARAMETER CHECKING MODULE TO SOMETIMES DETERMINE IF THE WRONG  FMC015 
*         PARAMETER WAS ACCIDENTALLY SET. THE FOLLOWING PARAMETERS ARE   FMC015 
*         USED BY FMC--                                                  FMC015 
*                                                                        FMC
*         P0 - NOT USED 
* 
*         P1 - NOT USED 
* 
*         P2 - NOT USED 
* 
*         P3 - NOT USED 
* 
*         P4 - XXXX - ENABLES                                            FMC
*                                                                        FMC
*              XXX1 - AUTOLOAD FROM DISK
*              4XXX - ISOLATION                                          FMC
*                                                                        FMC
*         P5 - XXXX - DISABLES                                           FMC
*                                                                        FMC
*              XXX1 - DRIVE MODULES 
*                     DISABLING THE MODULES THAT USE THE DRIVE
*                     WILL DEGRADE THE DETECTION/ISOLATION CAPABILITY 
*                     OF FMC BY APPROXIMATELY 20 PERCENT. 
*              XX1X - OPERATOR INTERVENTION                              FMC
*              XX4X - CHANNEL STATUS DISPLAY
*              1XXX - FULL CONTROLWARE DOWNLOADS                         FMC
*                                                                        FMC
*         P6 - XXXX - NOT USED
*                                                                        FMC
*         P7 - NOT USED 
* 
*         P8 - HARDWARE DESCRIPTION                                      FMC
*                                                                        FMC
*              XXX1 - CHANNEL ACCESS A                                   FMC
*              XXX2 - CHANNEL ACCESS B (OPTIONAL)                        FMC
*              XXX4 - CHANNEL ACCESS C (OPTIONAL)                        FMC
*              XX1X - CHANNEL ACCESS D (OPTIONAL)                        FMC
*              XX2X - 844-4X INTERFACE (FV670-A/B)(OPTIONAL)
*              XX4X - OPTIONAL 885 INTERFACES (FV671-A/B) 
*              XAXX - ACCESS USED BY THIS TEST                           FMC
*                                                                        FMC
*                       A = 0 FOR ACCESS A                               FMC
*                       A = 1 FOR ACCESS B                               FMC
*                       A = 2 FOR ACCESS C                               FMC
*                       A = 3 FOR ACCESS D                               FMC
*                                                                        FMC
*IF DEF,CMSE17X,3 
*              1XXX - 815 OR 825 TYPE MAINFRAME. USED FOR PARITY
*                     MODULES.
*              2XXX - 865, 875 OR 700 TYPE MAINFRAME. USED FOR
*                     PARITY MODULES. 
* 
*         P9 - 0Y0Z  Y = THIS TEST COPY NUMBER                           FMC
*                        (0, 1, 2, OR 3)                                 FMC
*                    Z = THE NUMBER OF OTHER                             FMC
*                        ACCESSES BEING TESTED                           FMC
*                        (1, 2, OR 3)                                    FMC
*                                                                        FMC
*   3.3   SECTION DESCRIPTION INDEX                                      FMC
* 
*                                               RUN  MIN. 
*         NAME     DESCRIPTION                  TIME AL  DC 
*         ----     -----------                  ---- --- ---
*       CONTROLLER (6000) LANGUAGE MODULES (DC=5/7/16)
*         FMC00    PARAMETER VERIFICATION         1  10  5/7/16 
*         FMC01    ECHO FUNCTION TEST             1  10  5/7/16 
*         FMC02    AUTOLOAD TEST                  9  10  5/7/16 
*         FMC03    NORMAL CHANNEL LOOP TEST       3  10  5/7/16 
*         FMC04    DEAD MAN TIMER TEST           12  21  5/7/16 
*         FMC07    CYBER SPECIAL CHANNEL TEST     5  10  5/7/16 
*IF DEF,CMSE17X,2 
*         FMC08    PARITY TEST I  (MSL ONLY)      *  10  5/7/16 
*         FMC09    PARITY TEST II (MSL ONLY)      *  10  5/7/16 
*         FMC11    UP/DOWN COUNTER TEST           1  10  5/7/16 
*         FMC13    BUFFER MEM ADRS TEST           1  10  5/7/16 
*         FMC15    DATA PATH TEST                 7  10  5/7/16 
*         FMC18    CONTROL WORD REGISTER TEST     1  10  5/7/16 
*         FMC19    BIT COUNTER REGISTER TEST      1  10  5/7/16 
*         FMC20    MAINTENANCE LOOP TEST          6  10  5/7/16 
*         FMC21    LOOP 885 DECODE TEST           8  10  5/7/16 
*         FMC22    LOOP 885 BUS TEST              7  10  5/7/16 
*         FMC23    LOOP 885 WRT/RD/TAG GATE TEST  1  10  5/7/16 
*         FMC24    SYNC BYTE SEARCH TEST          1  10  5/7/16 
*         FMC25    ECC REGISTER TEST              2  10  5/7/16 
*         FMC26    ECC REGISTER CLEAR TEST        2  10  5/7/16 
*         FMC27    ECC FUNCTIONAL TEST            1  10  5/7/16 
*         FMC28    AUTOLOAD FROM DISK TEST        2  10  5/7/16 
*         FMC29    WRITE VERIFY TEST              1  10  5/7/16 
*       844-4X (844HT/844FT) LANGUAGE MODULES (DC=5)
*         FMC30    LOOP 885 DECODE TEST (DC5)     9   4  5
*         FMC31    LOOP 885 BUS TEST (DC5)        9   4  5
*         FMC32    LOOP 844 WRT/RD/TAG GATE (DC5) 1   4  5
*         FMC35    ECC REGISTER TEST (DC5)        2   3  5
*         FMC36    ECC REGISTER CLEAR TEST (DC5)  2   3  5
*         FMC37    ECC FUNCTIONAL TEST (DC5)      1   3  5
*         FMC39    WRITE VERIFY TEST (DC5)        8   3  5
*IF -DEF,MVE
*       885-1X (FMDHT/FMDFT) LANGUAGE MODULES (DC=7)
*         FMC40    LOOP 885 DECODE TEST (DC7)     9   4  7
*         FMC41    LOOP 885 BUS TEST (DC7)       10   4  7
*         FMC42    LOOP 885 WRT/RD/TAG GATE (DC7) 1   4  7
*         FMC43    SYNC BYTE SEARCH TEST I (DC7)  3   4  7
*         FMC44    SYNC BYTE SEARCH TEST II (DC7) 3   4  7
*         FMC45    ECC REGISTER TEST (DC7)        2   3  7
*         FMC46    ECC REGISTER CLEAR TEST (DC7)  2   3  7
*         FMC47    ECC FUNCTIONAL TEST (DC7)      1   3  7
*         FMC49    WRITE VERIFY TEST (DC7)        8   3  7
*ENDIF
*       885-1X (LSFMD1/LSFMD2) LANGUAGE MODULES (DC=16) 
*         FMC60    LOOP 885 DECODE TEST (DC16)    9   4  16 
*         FMC61    LOOP 885 BUS TEST (DC16)       9   4  16 
*         FMC62    LOOP 885 WRT/RD/TAG GATE(DC16) 1   4  16 
*         FMC63    SYNC BYTE SEARCH TEST I (DC16) 2   4  16 
*         FMC64    SYNC BYTE SEARCH TEST II(DC16) 3   4  16 
*         FMC65    ECC REGISTER TEST (DC16)       2   3  16 
*         FMC66    ECC REGISTER CLEAR TEST (DC16) 2   3  16 
*         FMC67    ECC FUNCTIONAL TEST (DC16)     1   3  16 
*         FMC69    WRITE VERIFY TEST (DC16)       8   3  16 
*       UTILITY MODULES 
*         FMC75    MULTI-CHANNEL CONNECT TEST     *  10  5/7/16 
*         FMC76    LED TEST                       *  10  5/7/16 
*         ABOVE RUN TIMES ARE IN SECONDS AND WERE MEASURED
*         UNDER THE NOS K-DISPLAY.  THEY SHALL BE CONSIDERED
*         MINIMUMS AND WILL VARY WHEN RUN IN OTHER MODES. 
*                                                                        FMC
*                                                                        FMC
*   4.    OPERATOR COMMUNICATION                                         FMC
*          -------- -------------                                        FMC
*                                                                        FMC
*   4.1   MESSAGE FORMATS                                                FMC
*                                                                        FMC
*         THE MESSAGE FORMATS USED BY FMC TO REPORT ERRORS               FMC
*         AND INSTRUCT THE OPERATOR ARE--                                FMC
*                                                                        FMC
*         00                                                             FMC
*         01  FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
*         02  FMCNN - MODULE TITLE                                       FMC
*         03  PRESERVICE FORECAST GROUP XXXXXXXX                         FMC
*         04                                                             FMC
*         05  FMCNN - LINE YYYY - ERROR NUMBER TTEEE                     FMC
*         06  DATA ERROR   WAAAA  EBBBB  ACCCC  DFFFF                    FMC
*         06  STATUS ERROR WAAAA  EBBBB  ACCCC  DFFFF                    FMC
*         07  MISCELLANEOUS MEANINGFUL VALUES                            FMC
*         07  DATA ERROR STSGGGG  EBBBB  ACCCC  DFFFF 
*         07  DATA ERROR    EBBBB  ACCCC  DFFFF 
*         10  MISCELLANEOUS MEANINGFUL VALUES                            FMC
*         11                                                             FMC
*         12  ERROR DESCRIPTION                                          FMC
*         13                                                             FMC
*         14  DIRECTIONS TO CE                                           FMC
*         15  DIRECTIONS TO CE                                           FMC
*         16  DIRECTIONS TO CE                                           FMC
*                                                                        FMC
*         NN IS THE MODULE NUMBER.                                       FMC
*         XXXXXXXX IS THE PRESERVICE FORECAST GROUP NUMBER.              FMC
*         YYYY IS THE ADDRESS THE ERROR OCCURRED IN THE                  FMC
*           PRIMARY MODULE.                                              FMC
*         TT IS THE TEST NUMBER (IN HEX).                                FMC
*         EEE IS THE ERROR NUMBER (IN HEX).                              FMC
*         AAAA IS THE WORD NUMBER IN THE BUFFER.                         FMC
*         BBBB IS THE EXPECTED VALUE.                                    FMC
*         CCCC IS THE ACTUAL VALUE.                                      FMC
*         FFFF IS THE LOGICAL DIFFERENCE OF BBBB AND CCCC.               FMC
*         GGGG IS THE NIC 1 CONTROLLER STATUS (IN HEX). 
*         THE MISCELLANEOUS MEANINGFUL VALUES WILL VARY                  FMC
*           FROM MODULE TO MODULE.                                       FMC
*         IF THE DIRECTIONS TO THE CE REQUIRE MORE THAN 3                FMC
*           THREE LINES, THEY WILL BE INCLUDED IN THE                    FMC
*           TROUBLESHOOTING GUIDE RATHER THAN ON THE SCREEN.             FMC
*                                                                        FMC
*   4.2   MESSAGE DICTIONARY                                             FMC
*                                                                        FMC
*   4.2.1 ERROR MESSAGES                                                 FMC
*                                                                        FMC
*   4.2.1.1  PP DISPLAY BUFFER MESSAGES                                  FMC
*                                                                        FMC
*         THE ERROR MESSAGES WHICH ARE POSTED BY FMC IN THE PP DISPLAY   FMC015 
*         BUFFER AND DO NOT FOLLOW THE FORMAT DESCRIBED IN 4.1 ARE--     FMC015 
*                                                                        FMC
*                                                                        FMC
*           AN ATTEMPT WAS MADE TO RUN A MODULE WHICH                    FMC
*           REQUIRES OPERATOR INTERVENTION WITH THE DISABLE              FMC
*           OPERATOR INTERVENTION BIT SET (P5 = XX1X) AND                FMC
*           REPEAT MODULE SET (SETSW RM).                                FMC
*                                                                        FMC
*           CLEAR ONE OF THESE CONDITIONS BEFORE ATTEMPTING TO           FMC
*           RUN THE MODULE AGAIN.                                        FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
*           FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
*           FMCNN - DESCRIPTION                                          FMC
*           FMCNN - LINE YYYY - ERROR NUMBER TTEEE                       FMC
*                                                                        FMC
*                                                                        FMC
*         UNEXPECTED ERROR - LF = DDB 
*         DD = LAST FUNCTION (IN OCTAL) 
*                                                                        FMC
*           THIS FAILURE CANNOT BE ISOLATED BY THE                       FMC
*           DIAGNOSTIC SOFTWARE.  SET RC AND USE                         FMC
*           STANDARD TROUBLESHOOTING TECHNIQUES.                         FMC
*                                                                        FMC
*   4.2.1.2  B DISPLAY MESSAGES 
*                                                                        FMC
*           REPEAT MODULE CONFLICT                                       FMC
*                                                                        FMC
*   5.    DESCRIPTIONS                                                   FMC
*         ------------                                                   FMC
*                                                                        FMC
*   5.1   GENERAL                                                        FMC
*                                                                        FMC
*         FMC IS PRIMARILY AN ISOLATION DIAGNOSTIC.  THEREFORE, IT       FMC015 
*         CONSIDERS TWO TYPES OF ERRORS, EXPECTED AND UNEXPECTED.  AN    FMC015 
*         EXPECTED ERROR IS ONE WHICH CAN BE EXPLAINED IN THE CONTEXT    FMC015 
*         OF THE ISOLATION TREE AND MEANS THAT MEANINGFUL CORRECTIVE     FMC015 
*         ACTION CAN BE RECOMMENDED TO THE OPERATOR.  THE UNEXPECTED     FMC015 
*         ERRORS DO NOT FIT INTO THE ISOLATION TREE AND MEAN THAT        FMC015 
*         HARDWARE WHICH WAS PREVIOUSLY VERIFIED AS GOOD HAS FAILED OR   FMC015 
*         SOME OTHER ANOMALOUS SITUATION HAS OCCURRED.                   FMC015 
*                                                                        FMC
*   5.2   DIAGNOSTIC MODULE DESCRIPTIONS                                 FMC
*                                                                        FMC
   MODULE FMC00,6000(03,05,07,16),LOCK
**  5.2.1 FMC00 - PARAMETER VERIFICATION                                 FMC
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC00 CHECKS EACH OF THE 10D PARAMETERS BEFORE                 FMC
*         EXECUTING THE REST OF THE DIAGNOSTIC.  IF                      FMC
*         PARAMETER ENTRY ERRORS ARE DETECTED, THE MODULE                FMC
*         PAUSES SO THE OPERATOR CAN CORRECT THE PROBLEMS                FMC
*         OR OVERRIDE AND CONTINUE EXECUTION.                            FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*         PARAMETERS ARE CHECKED FOR 3 TYPES OF ERRORS--                 FMC
*         1.  UNUSED BITS BEING SET,                                     FMC
*         2.  DRIVE-ORIENTED BITS BEING SET (SINCE FMC                   FMC
*               DOES NOT ACCESS THE DRIVES), AND                         FMC
*         3.  CONTRADICTIONS IN THE BITS WHICH ARE SET.                  FMC
/                                                                        FMC
*         ENTRY-                                                         FMC
*         PARAMETERS P0 TO P9 ARE DESCRIBED IN MODULE                    FMC
*           FMC99A.                                                      FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*         NO SPECIAL EXIT CONDITIONS.                                    FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         B0 - TEST NUMBER                                               FMC
*         B1 - MESSAGE LINE INDEX                                        FMC
*         B2 - MESSAGE FORMAT INDEX 
*         B3 - TEMPORARY STORAGE                                         FMC
*         EC, EA, EM, AND ES - STANDARD USAGE.                           FMC
*                                                                        FMC
*         BUFFERS USED-NONE.                                             FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT CHECK P0 - NOT USED, SHOULD BE ZERO 
2  FORMAT CHECK P1 - NOT USED, SHOULD BE ZERO 
3  FORMAT CHECK P2 - NOT USED, SHOULD BE ZERO 
4  FORMAT CHECK P3 - NOT USED, SHOULD BE ZERO 
5  FORMAT CHECK P4 - UNUSED BITS ARE SET                                 FMC
6  FORMAT CHECK P5 - UNUSED BITS ARE SET                                 FMC
7  FORMAT CHECK P8 - 844 OPTION NOT SET 
10 FORMAT CHECK P7 - NOT USED, SHOULD BE ZERO 
11 FORMAT RM IS ILLEGALLY SET FOR FMC00                                  FMC1227
13 FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
14 FORMAT FMC00 - PARAMETER VERIFICATION
15 FORMAT DC-UN MISMATCH
16 FORMAT SUSPECTED PARAMETER/DC/UN ENTRY ERROR 
17 FORMAT CHECK P8 - 885 OPTION NOT SET 
20 FORMAT FMC00 - *DEC WARNINGS POSTED                                   FMC
22 FORMAT P0 - P4  *OCT *OCT *OCT *OCT *OCT                              FMC
23 FORMAT P5 - P9  *OCT *OCT *OCT *OCT *OCT                              FMC
24 FORMAT PARAMETERS DESCRIBED IN MODULE FMC99A 
25 FORMAT CHECK P8 - UNUSED BITS ARE SET
26 FORMAT CHECK P9 - UNUSED BITS ARE SET
* 
   EQUATE ENAFD TO 0001      *ENABLE AUTOLOAD FROM DISK 
   EQUATE ENISO TO 4000      *ISOLATION                                  FMC
   EQUATE DDM TO 0001        *DISABLE DRIVE MODULES 
   EQUATE DOPIN TO 0010      *OPERATOR INTERVENTION                      FMC
   EQUATE OPT844 TO 0020     *844 INTERFACE OPTION
   EQUATE OPT885 TO 0040     *885 INTERFACE OPTION
   EQUATE DCSD TO 0040       *DISABLE CH STS DISPLAY
   EQUATE DFCWDL TO 1000     *FULL CONTROLWARE DOWNLOAD                  FMC
/                                                                        FMC
30 MSG 14 TO PRINT
31 MSG 14 TO DISPLAY
   B0=140                    *TEST NUMBER 60 HEX                         FMC
   B1=14                     *LINE INDEX                                 FMC
   MSG 13 TO LINE 1                                                      FMC
   MSG 14 TO LINE 2                                                      FMC
   MSG 22(P0,P1,P2,P3,P4) TO LINE 7                                      FMC
   MSG 23(P5,P6,P7,P8,P9) TO LINE 10                                     FMC
/                                                                        FMC
   B2 = 1 
   IF (P0.NE.0) GOSUB 70
/                                                                        FMC
   B2 = 2 
   IF (P1.NE.0) GOSUB 70
/                                                                        FMC
   B2 = 3 
   IF (P2.NE.0) GOSUB 70
/                                                                        FMC
   B2 = 4 
   IF (P3.NE.0) GOSUB 70
/                                                                        FMC
   B3 = ENAFD .OR. ENISO .XOR. 7777B
   B2 = 5 
   IF (P4.AND.B3.NE.0) GOSUB 70 
/                                                                        FMC
   B3 = DDM .OR. DOPIN .OR. DFCWDL
   B3=B3.OR.DCSD.XOR.7777 
   B2 = 6 
   IF (P5.AND.B3.NE.0) GOSUB 70 
/                                                                        FMC
   B2 = 10
   IF (P7.NE.0) GOSUB 70
/                                                                        FMC
   B2 = 25
*IF -DEF,CMSE17X,1
   IF (P8.AND.7400B.NE.0) GOSUB 70
*IF DEF,CMSE17X,1 
   IF (P8.AND.6400B.NE.0) GOSUB 70
/                                                                        FMC
   B2 = 26
   IF (P9.AND.7070B.NE.0) GOSUB 70
/                                                                        FMC
   B2 = 17
   IF (DC.LE.5) GOTO 47 
   IF (SB(72).AND.10.EQ.0) GOTO 47
   IF (P8.AND.OPT885.EQ.0) GOSUB 70 
/                                                                        FMC
47 IF (DC.GT.5) GOTO 51 
   B2 = 7 
   IF (P8.AND.OPT844.EQ.0) GOSUB 70 
/ 
50 IF (SB(72).AND.77B.GT.7B) GOTO 52
   GOTO 76
51 IF (SB(72).AND.77B.LT.40B) GOTO 52 
   IF (SB(72).AND.77B.LE.57B) GOTO 76 
52 B2 = 15
   GOSUB 70 
   GOTO 76
/ 
70 MSG B2 TO LINE B1
   B1 = B1 + 1
   RETURN 
/ 
76 IF (B1.EQ.14) GOTO 77      *IF NO ERRORS 
   B1=B1+1                                                               FMC
   MSG 24 TO LINE B1                                                     FMC
   MSG 16 TO LINE 12                                                     FMC
   B1=B1-15                                                              FMC
   MSG 20(B1) TO DISPLAY, PRINT, DAYFILE                                 FMC
   PICTURE                                                               FMC
   PAUSE                                                                 FMC
77 BLANK                                                                 FMC
   IF (ES.AND.RM.EQ.0) EXIT                                              FMC1227
   MSG 11 TO DISPLAY,PRINT                                               FMC1227
   PAUSE                                                                 FMC1227
   GOTO 31
   END 30 
COMPILE                                                                  FMC
   MODULE FMC01,6000(05,07,16),LOCK 
**  5.2.2 FMC01 - ECHO FUNCTION TEST                                     FMC
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC01 ESTABLISHES CONFIDENCE, BEFORE ATTEMPTING AN AUTOLOAD,   FMC015 
*         THAT A FUNCTION CODE CAN BE SUCCESSFULLY SENT TO THE           FMC015 
*         MICROPROCESSOR AND BACK TO THE PP.                             FMC015 
*                                                                        FMC
*         METHOD-                                                        FMC
*         DO FOR ALL DATA PATTERNS                                       FMC
*           ISSUE POSITIVE ECHO FUNCTION                                 FMC
*           OUTPUT DATA PATTERN                                          FMC
*           INPUT FROM CHANNEL                                           FMC
*           IF MISCOMPARE, THEN                                          FMC
*             ANALYZE DATA FAILURE                                       FMC
*           ENDIF                                                        FMC
*           ISSUE NEGATIVE ECHO FUNCTION                                 FMC
*           OUTPUT DATA PATTERN                                          FMC
*           INPUT FROM CHANNEL                                           FMC
*           IF MISCOMPARE, THEN                                          FMC
*             ANALYZE DATA FAILURE                                       FMC
*           ENDIF                                                        FMC
*           ANALYZE REJECT CONDITIONS                                    FMC
*         ENDO                                                           FMC
/                                                                        FMC
*         ENTRY-NO SPECIAL ENTRY CONDITIONS.                             FMC
*                                                                        FMC
*         EXIT-NO SPECIAL EXIT CONDITIONS.                               FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-                                         FMC
*         FMC01A - REPORT EXPECTED ERRORS 
*         FMC010 - REPORT UNEXPECTED ERRORS 
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         B0 - TEST NUMBER                                               FMC
*         B1 - LOOP COUNT                                                FMC
*         B2 - DATA PATTERN INDEX                                        FMC
*         B3 - ERROR COUNT                                               FMC
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES             FMC
*         B5 - TEMPORARY STORAGE (SHIFT COUNTER, ETC.)                   FMC
*         B6 - TEMPORARY STORAGE (INTERNAL MASK, ETC.)                   FMC
*         B7 - TEMPORARY STORAGE (NUMBER OF BAD BITS, ETC.)              FMC
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         ES, EC, EM, EA - STANDARD USAGE                                FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         OB - HOLDS DATA PATTERNS TO BE LOOPED                          FMC
*         IB(0) - RESULT                                                 FMC
*         OB(504) - FLAG BITS                                            FMC
*           FLAG1 - SET IF ERROR IS EXPECTED                             FMC
*           FLAG2 - SET IF POSITIVE ECHO FUNCTION FAILS                  FMC
*           FLAG3 - SET IF NEGATIVE ECHO FUNCTION FAILS                  FMC
*                                                                        FMC
*         REMARKS-                                                       FMC
*         FMC01 USES ONLY FUNCTIONS IMPLEMENTED IN THE PART              FMC
*         OF THE CONTROLWARE WHICH RESIDES IN ROM SO THAT                FMC
*         CONTROLWARE DOES NOT HAVE TO BE LOADED BEFORE                  FMC
*         RUNNING THIS MODULE.                                           FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT FMC01 - ECHO FUNCTION TEST                                     FMC
2  FORMAT FMC01 - LC=*DECD, EC=*DECD
4  FORMAT FMC01 ERROR(S) = *DECD
*                                                                        FMC
/         DATA PATTERNS                                                  FMC
*                                                                        FMC
   DATA (OB(0),CON) 0000,7777,2525,5252,0001,0002,0004,0010              FMC
   DATA (OB(10),CON) 0020,0040,0100,0200,0400,1000,2000,4000
*                                                                        FMC
/         FLAG EQUATES                                                   FMC
*                                                                        FMC
   EQUATE FLAG TO 504                                                    FMC
   EQUATE FLAG0S TO 0001, FLAG0C TO 7776                                 FMC
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC
   EQUATE FLAG2S TO 0004, FLAG2C TO 7773                                 FMC
   EQUATE FLAG3S TO 0010, FLAG3C TO 7767                                 FMC
*                                                                        FMC
/         FUNCTION CODE EQUATES                                          FMC
*                                                                        FMC
   EQUATE ECHO TO 0057, ECHONEG TO 0720                                  FMC
   EQUATE OPCOM TO 0010      *CLEAR COUPLER CONNECT 
*                                                                        FMC
/         MISCELLANEOUS EQUATES                                          FMC
*                                                                        FMC
   EQUATE NPAT TO 20         *NUMBER OF DATA PATTERNS                    FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
20 MSG 1 TO DISPLAY, PRINT
*                                                                        FMC
/        INITIALIZE.                                                     FMC
*                                                                        FMC
21 B0=141                    *TEST NUMBER 61 HEX                         FMC
   B2=0                      *DATA PATTERN INDEX                         FMC
   B3=0                      *ERROR COUNT                                FMC
   B9 = 01D                  *MODULE NUMBER 01D 
*                                                                        FMC
24 PASS                      *BEGINNING OF PATTERN LOOP                  FMC
*                                                                        FMC
/        RESERVE, CONNECT, ETC.                                          FMC
*                                                                        FMC
30 B1 = B1 + 1               *INCREMENT LOOP COUNTER
   RES, ABT 70                                                           FMC
*                                                                        FMC005 
   ACN, ABT 32                                                           FMC005 
   DCN, ABT 34                                                           FMC005 
   GOTO 40                                                               FMC005 
*                                                                        FMC005 
32 MSG EM TO LINE 12                                                     FMC005 
   ERROR 3/6, GOTO 67                                                    FMC005 
34 MSG EM TO LINE 12                                                     FMC005 
   ERROR 3/7, GOTO 67                                                    FMC005 
*                                                                        FMC
/        PERFORM ECHO FUNCTION TEST.                                     FMC
*                                                                        FMC
40 RES, ABT 70               *RESERVE CHANNEL 
*                                                                        FMC
   FUNC, ECHO, ABT 41                                                    FMC
   OB(FLAG)=OB(FLAG).AND.FLAG2C  *CLEAR FLAG 2                           FMC
   GOTO 42                                                               FMC
*                                                                        FMC
41 MSG EM TO LINE 7 
   OB(FLAG)=OB(FLAG).OR.FLAG2S   *SET FLAG 2
   GOTO 43                                                               FMC
*                                                                        FMC
42 OUT CHAIN 1 WORDS FROM OB(B2), ABT 55
   IN 1 WORDS TO IB(0), ABT 70                                           FMC
   IF (OB(B2).NE.IB(0)) GOTO 64                                          FMC
*                                                                        FMC
43 FUNC, ECHONEG, ABT 44                                                 FMC
   OB(FLAG)=OB(FLAG).AND.FLAG3C  *CLEAR FLAG 3                           FMC
   GOTO 45                                                               FMC
*                                                                        FMC
44 MSG EM TO LINE 10
   OB(FLAG)=OB(FLAG).OR.FLAG3S   *SET FLAG 3
   GOTO 50                                                               FMC
*                                                                        FMC
45 OUT CHAIN 1 WORDS FROM OB(B2), ABT 70                                 FMC
   IN 1 WORDS TO IB(0), ABT 70                                           FMC
   IF (OB(B2).NE.IB(0)) GOTO 64 
   IF (OB(FLAG).AND.FLAG2S.NE.0) GOTO 50
   GOTO 60
*                                                                        FMC
/        ANALYZE FUNCTION REJECT ERRORS                                  FMC
*                                                                        FMC
50 IF (OB(FLAG).AND FLAG2S.EQ.0) GOTO 52                                 FMC
   IF (OB(FLAG).AND FLAG3S.EQ.0) GOTO 51                                 FMC
   ERROR 3/1, GOTO 67                                                    FMC
*                                                                        FMC
51 ERROR 3/2, GOTO 67                                                    FMC
*                                                                        FMC
52 ERROR 3/5, GOTO 67                                                    FMC
* 
/         ANALYZE OUTPUT REJECT ERRORS. 
* 
55 MSG EM TO LINE 12
   IF(EC.EQ.4021B) ERROR 3/6, GOTO 67 
   GOTO 70
*                                                                        FMC
/        FINALIZE.                                                       FMC
*                                                                        FMC
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP               FMC
   GOTO 76                       *TERMINATE                              FMC001 
*                                                                        FMC
/        ANALYZE DATA ERRORS                                             FMC
*                                                                        FMC
64 B4=OB(B2).XOR.IB(0)                                                   FMC
   B5=0                                                                  FMC
   B7=0                      *NUMBER OF BAD BITS                         FMC
65 B6=1.LS.B5                                                            FMC
   IF (B4.AND.B6.EQ.0) GOTO 66                                           FMC
   B7=B7+1                                                               FMC
66 GOTO 65 WHILE (B5+1.LT.12D)                                           FMC
   IF (B7.LE.6) ERROR 3/3, GOTO 67  *IF .LT. 6 BAD BITS                  FMC
   ERROR 3/4, GOTO 67               *IF .GT. 6 BAD BITS                  FMC
*                                                                        FMC
/        PROCESS EXPECTED ERRORS.                                        FMC
*                                                                        FMC
67 OB(FLAG)=OB(FLAG).OR.FLAG1S  *SET FLAG 1                              FMC
   GOTO 71                                                               FMC
*                                                                        FMC
/        PROCESS UNEXPECTED ERRORS.                                      FMC
*                                                                        FMC
70 OB(FLAG)=OB(FLAG).AND.FLAG1C  *CLEAR FLAG 1                           FMC
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 30                   *GO TO REPEAT CONDITION
*                                                                        FMC
/        CALL APPROPRIATE DISPLAY SUBMODULE.                             FMC
*                                                                        FMC
74 IF(EC.LT.4000B) CALL 01A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 010  *UNEXPECTED ERROR DISPLAY
*                                                                        FMC
75 IF (ES.AND.RC.NE.0) GOTO 30
   RES, ABT 77                                                           FMC
*                                                                        FMC
/        TERMINATE.                                                      FMC
*                                                                        FMC
76 FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
77 IF (ES.AND.RM.NE.0) GOTO 21                                           FMC
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE                    FMC
   EXIT                                                                  FMC
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC010,6000(05,07,16),LOCK
*   5.2.2.1 FMC010 - REPORT UNEXPECTED ERRORS                            FMC
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC010 DISPLAYS INFORMATION EXPANDING ON ALL                   FMC
*         ERRORS OTHER THAN THOSE WHICH CAN BE INTERPRETED               FMC
*         FOR ISOLATION.                                                 FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC01.                                                 FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC01.                                                 FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT FMC01 - ECHO FUNCTION TEST
2  FORMAT FMC02 - AUTOLOAD TEST 
3  FORMAT FMC03 - NORMAL CHANNEL LOOP TEST
4  FORMAT FMC04 - DEAD MAN TIMER TEST 
5  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
6  FORMAT FMC*D - LINE *OCT - ERROR NUMBER *H*HE
7  FORMAT FMC07 - SPECIAL CHANNEL TEST
10 FORMAT FMC08 - PARITY CHECKER TEST I 
11 FORMAT FMC09 - PARITY CHECKER TEST II
12 FORMAT FMC982 - LINE *OCTB - ERROR NUMBER *H*HEH 
13 FORMAT FMC11 - UP/DOWN COUNTER TEST
14 FORMAT UNEXPECTED ERROR - LF = *OCTB 
15 FORMAT FMC13 - BUFFER MEM ADRS REGISTER TEST 
16 FORMAT THIS FAILURE CANNOT BE ISOLATED BY THE
17 FORMAT FMC15 - DATA PATH TEST
20 FORMAT DIAGNOSTIC SOFTWARE.  USE STANDARD
21 FORMAT TROUBLESHOOTING TECHNIQUES. 
22 FORMAT FMC18 - CONTROL WORD REGISTER TEST
23 FORMAT FMC19 - BIT COUNTER REGISTER TEST 
24 FORMAT FMC20 - MAINTENANCE LOOP TEST 
25 FORMAT FMC21 - LOOP 885 DECODE TEST
26 FORMAT FMC22 - LOOP 885 BUS TEST 
27 FORMAT FMC23 - LOOP 885 WRT/READ/TAG GATE TEST 
30 FORMAT FMC24 - SYNC BYTE SEARCH TEST 
/         HEADER
31 MSG 5 TO LINE 1           *DIAGNOSTIC TITLE
   IF(B9.GT.37B) GOTO 34     *IF MODULE 982,
   MSG B9 TO LINE 2          *MODULE TITLE
   MSG 6 (B9,EA,B0,EC) TO LINE 5  *LINE, ERROR NUMBER 
   GOTO 40
34 B9 = B9 .AND. 37B         *FORM FORMAT NUMBER
   MSG B9 TO LINE 2          *MODULE TITLE
   MSG 12 (EA,B0,EC) TO LINE 5  *LINE, ERROR NUMBER 
/         ERROR MESSAGE 
40 MSG 14 (LF) TO LINE 12    *UNEXPECTED, LAST FUNCTION 
/         CE INFORMATION
   MSG 16 TO LINE 14
   MSG 20 TO LINE 15
   MSG 21 TO LINE 16
/         PRODUCT OVERLAY MESSAGE 
   IF(EC.AND.4000.NE.0) MSG EM TO LINE 10 
/         DISPLAY MESSAGE 
   PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC01A,6000(05,07,16),LOCK
*   5.2.2.2 FMC01A - REPORT EXPECTED ERRORS                              FMC
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC01A DISPLAYS INFORMATION EXPANDING ON                       FMC
*         ERROR NUMBERS 61001 THROUGH 61005.                             FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-
*         FMC01B - PROCESS HIGHER ERROR NUMBERS.
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC01.                                                 FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC01.                                                 FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC01 - ECHO FUNCTION TEST                                     FMC
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC01 - LINE *OCT - ERROR NUMBER *H*HE                         FMC
5  FORMAT DATA ERROR   W*OCT  E*OCT  A*OCT  D*OCT                        FMC
*                                                                        FMC
/        ERROR NUMBER 61001 HEX                                          FMC
*                                                                        FMC
10 FORMAT POSITIVE AND NEGATIVE ECHO-S FAILED.                           FMC
11 FORMAT CHECK 7155 POWER,PP CHANNEL ENABLE/DISABLE SWITCH,
12 FORMAT AND CH. CABLES.  VERIFY 7155 PROCESSOR RUNNING BY 
13 FORMAT LOOKING AT THE NOC-0 LED-S OR BY RUNNING FMC02. 
*                                                                        FMC
/        ERROR NUMBER 61002 HEX                                          FMC
*                                                                        FMC
14 FORMAT POS. ECHO FAILED, BUT NOT NEG.                                 FMC
15 FORMAT SUSPECT BAD CHANNEL ACCESS.  REPLACE CARD A01 IF               FMC
16 FORMAT ACCESS A IS BEING TESTED, A02 IF B, A03 IF C, OR               FMC
17 FORMAT A04 IF D.                                                      FMC
*                                                                        FMC
/        ERROR NUMBER 61003 HEX                                          FMC
*                                                                        FMC
20 FORMAT ECHO DATA ERROR, LESS THAN 6 BITS BAD.                         FMC
21 FORMAT REPLACE CARD A01 IF ACCESS A IS BEING                          FMC
22 FORMAT USED, A02 IF B, A03 IF C, AND A04 IF D.                        FMC
23 FORMAT SUCCESSIVELY REPLACE A08 AND A16.                              FMC
*                                                                        FMC
/        ERROR NUMBER 61004 HEX                                          FMC
*                                                                        FMC
24 FORMAT ECHO DATA ERROR, MORE THAN 6 BAD BITS.                         FMC
*                                                                        FMC
/        ERROR NUMBER 61005 HEX                                          FMC
*                                                                        FMC
26 FORMAT NEG. ECHO FAILED, BUT NOT POS.                                 FMC
*                                                                        FMC
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC01A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT                 FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4 (EA,B0,EC) TO LINE 5                                            FMC
   IF (B0.NE.141) GOTO 45    *IF CALLED BY WRONG MODULE                  FMC
   IF (EC.LT.1) GOTO 45      *IF A ZERO ERROR NUMBER
   IF (EC.GT.5) EXIT TO 01B                                              FMC005 
*                                                                        FMC
/        ERROR NUMBER 61001 HEX                                          FMC
*                                                                        FMC
40 IF (EC.NE.1) GOTO 41                                                  FMC
   MSG 10 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 11 TO LINE 14                                                     FMC
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 61002 HEX                                          FMC
*                                                                        FMC
41 IF (EC.NE.2) GOTO 42                                                  FMC
   MSG 14 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 15 TO LINE 14                                                     FMC
   MSG 16 TO LINE 15                                                     FMC
   MSG 17 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 61003 HEX                                          FMC
*                                                                        FMC
42 IF (EC.NE.3) GOTO 43                                                  FMC
   MSG 5 (B2,OB(B2),IB(0),B4) TO LINE 6                                  FMC
   MSG 20 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 21 TO LINE 14                                                     FMC
   MSG 22 TO LINE 15                                                     FMC
   MSG 23 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 61004 HEX                                          FMC
*                                                                        FMC
43 IF (EC.NE.4) GOTO 44                                                  FMC
   MSG 5 (B2,OB(B2),IB(0),B4) TO LINE 6                                  FMC
   MSG 24 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 21 TO LINE 14                                                     FMC
   MSG 22 TO LINE 15                                                     FMC
   MSG 23 TO LINE 16
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 61005 HEX                                          FMC
*                                                                        FMC
44 IF (EC.NE.5) GOTO 45                                                  FMC
   MSG 26 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 15 TO LINE 14                                                     FMC
   MSG 16 TO LINE 15                                                     FMC
   MSG 17 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/         REPORT SOFTWARE ERROR                                          FMC
*                                                                        FMC
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC
*                                                                        FMC
/         FINALIZE                                                       FMC
*                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC01B,6000(05,07,16),LOCK
*   5.2.2.3 FMC01B - REPORT EXPECTED ERRORS 
*                                                                        FMC005 
*         PURPOSE-                                                       FMC005 
*         FMC01B DISPLAYS INFORMATION EXPANDING ON                       FMC005 
*         ERROR NUMBERS 61006 THROUGH 61007.
*                                                                        FMC005 
*         METHOD-                                                        FMC005 
*                                                                        FMC005 
*         ENTRY-                                                         FMC005 
*                                                                        FMC005 
*         EXIT-                                                          FMC005 
*                                                                        FMC005 
*         SUBMODULES REFERENCED-NONE.                                    FMC005 
*                                                                        FMC005 
*         REGISTERS USED-                                                FMC005 
*         SAME AS FMC01.                                                 FMC005 
*                                                                        FMC005 
*         BUFFERS USED-                                                  FMC005 
*         SAME AS FMC01.                                                 FMC005 
*                                                                        FMC005 
*                                                                        FMC005 
*                                                                        FMC005 
/        COMMON MESSAGES                                                 FMC005 
*                                                                        FMC005 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC01 - ECHO FUNCTION TEST                                     FMC005 
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC005 
4  FORMAT FMC01 - LINE *OCT - ERROR NUMBER *H*HE                         FMC005 
*                                                                        FMC005 
/        ERROR NUMBERS 61006 AND 61007 HEX                               FMC005 
*                                                                        FMC005 
11 FORMAT THE FAILURE COULD BE IN THE CHANNEL, SOFTWARE, OR              FMC005 
12 FORMAT IN THE 7155.  IF IT IS IN THE 7155, SUCCESSIVELY               FMC005 
13 FORMAT REPLACE CARDS A15,A16,A08, AND R/T CARD (A01
14 FORMAT FOR ACCESS A, A02 FOR B, A03 FOR C, OR A04 FOR D).
*                                                                        FMC005 
/        SOFTWARE ERROR MESSAGES.                                        FMC005 
*                                                                        FMC005 
30 FORMAT FMC01B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT                 FMC005 
*                                                                        FMC005 
/                                                                        FMC005 
*                                                                        FMC005 
31 MSG 1 TO LINE 1                                                       FMC005 
   MSG 2 TO LINE 2                                                       FMC005 
   MSG 3 TO LINE 3                                                       FMC005 
   MSG 4 (EA,B0,EC) TO LINE 5                                            FMC005 
   IF (B0.NE.141) GOTO 45    *IF CALLED BY WRONG MODULE                  FMC005 
   IF (EC.LT.6) GOTO 45      *IF A WRONG ERROR NUMBER 
   IF (EC.GT.7) GOTO 45      *IF EC IS TOO LARGE                         FMC005 
*                                                                        FMC005 
/        ERROR NUMBERS 61006 AND 61007 HEX                               FMC005 
*                                                                        FMC005 
40 IF (EC.GT.7) GOTO 45 
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 11 TO LINE 14                                                     FMC005 
   MSG 12 TO LINE 15                                                     FMC005 
   MSG 13 TO LINE 16                                                     FMC005 
   MSG 14 TO LINE 17                                                     FMC005 
   GOTO 77                                                               FMC005 
*                                                                        FMC005 
/         REPORT SOFTWARE ERROR                                          FMC005 
*                                                                        FMC005 
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC005 
*                                                                        FMC005 
/         FINALIZE                                                       FMC005 
*                                                                        FMC005 
77 PICTURE                                                               FMC005 
   HALT                                                                  FMC005 
   BLANK                                                                 FMC005 
   EXIT                                                                  FMC005 
   END 31                                                                FMC005 
COMPILE                                                                  FMC005 
   MODULE FMC02,6000(05,07,16),LOCK 
**  5.2.3 FMC02 - AUTOLOAD TEST                                          FMC
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC02 CHECKS OUT THE AUTOLOAD FROM PP FUNCTION AND THE LOAD    FMC015 
*         PATH FROM THE PP-S TO RAM.  IN THE PROCESS, THE MICROPROCESSOR FMC015 
*         AND ITS MEMORY ARE TESTED BY THE PROCESSOR/MEMORY DIAGNOSTICS  FMC015 
*         WHICH ARE PART OF THE CONTROLWARE.                             FMC015 
*                                                                        FMC
*         METHOD-                                                        FMC
*         VERIFY THAT THE SCRATCH FILE IS THE RIGHT LENGTH TO BE         FMC015 
*           CONTROLWARE.                                                 FMC015 
*         VERIFY THAT FIRST WORD BELONGS TO CONTROLWARE.
*         CHECK FOR CWARE LENGTH CODE IN THIRD WORD.
*         PERFORM A FULL AUTOLOAD                                        FMC
*         CHECK GENERAL STATUS                                           FMC
*         PERFORM A ZERO WORD AUTOLOAD                                   FMC
*         CHECK GENERAL STATUS                                           FMC
*         INTERPRET FAILURES                                             FMC
*         READ CHANNEL STATUS.
*         READ DETAILED STATUS. 
*         DISPLAY VERSION OF CONTROLWARE LOADED.
*         CHECK THAT DIAGNOSTIC AND CONTROLLER CORRESPOND.
*         CHECK THAT CORRECT CONTROLWARE WAS LOADED.
*IF -DEF,CMSE17X
* 
*         CAUTIONS- 
*         FULL AUTOLOADS USING FMC02 MAY INTERMITTANTLY PRODUCE RAM/ROM 
*         PARITY ERRORS DURING  "HIGH"  CHANNEL ACTIVITY  (MASS STORAGE 
*         CHANNELS).   LEDS ON THE  7155  INDICATE RAM/ROM PE,  DEADMAN 
*         TIMER, INPUT FULL AND ACCESS CONNECTED.  IF THIS OCCURS RERUN 
*         TEST SEQUENCE OR IF THIS FAILURE  OCCURS DURING "LOW" CHANNEL 
*         ACTIVITY (MASS STORAGE CHANNELS) OR EACH TIME FMC02  IS RUN A 
*         LEGITIMATE FAILURE CAN BE ASSUMED.
* 
*         THIS IS NOT  A  MALET  PROBLEM  BUT  A PROBLEM IN GETTING THE 
*         CONTROLWARE FILE FROM THE OPERATING SYSTEM. 
* 
*ENDIF
/ 
*         ENTRY-                                                         FMC
*         THE CONTROLWARE MUST BE ON THE SCRATCH FILE                    FMC
*         UNLESS THE DISABLE FULL CONTROLWARE DOWNLOAD                   FMC
*         BIT OF P5 IS SET.                                              FMC
*                                                                        FMC
*         EXIT-NO SPECIAL EXIT CONDITIONS.                               FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-                                         FMC
*         FMC010 - REPORT UNEXPECTED ERRORS 
*         FMC02A - REPORT EXPECTED ERRORS                                FMC
*         FMC989 - CHECK CONTROLWARE LENGTH AND DATA. 
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         B0 - TEST NUMBER                                               FMC
*         B1 - LOOP COUNT                                                FMC
*         B2 - SYSRD STATUS                                              FMC
*         B3 - ERROR COUNT                                               FMC
*         B4 - BLOCK COUNTER                                             FMC
*         B5 - RESIDUE                                                   FMC
*         B6 - TEMPORARY STORAGE
*         B7 - TEMPORARY STORAGE                                         FMC
*         B8 - EXPECTED LENGTH OF CONTROLWARE 
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         B10- SHORT/LONG FAILURE FLAG
*         ES, EC, EM, EA - STANDARD USAGE                                FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         IB(0) - GENERAL STATUS                                         FMC
*         IB(504) - FLAG BITS                                            FMC
*           FLAG1 - EXPECTED (SET)/UNEXPECTED (CLEAR)                    FMC
*                   ERROR FLAG BIT                                       FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT FMC02 - AUTOLOAD TEST                                          FMC
2  FORMAT FMC02 - LC=*DECD, EC=*DECD
4  FORMAT FMC02 ERROR(S) = *DECD
6  FORMAT DOWNLOADING C-WARE--*DECD BLOCKS REMAINING
7  FORMAT // FMC02 FULL AUTOLOAD DISABLED, P5=1XXX // 
10 FORMAT // MA7*D-REV-*D CONTROLWARE LOADED // 
11 FORMAT // CONTROLLER INITIALLY HUNG // 
*                                                                        FMC
/         FLAG EQUATES                                                   FMC
*                                                                        FMC
   EQUATE FLAG TO 504, FLAG1S TO 2, FLAG1C TO 7775
*                                                                        FMC
/         FUNCTION CODE EQUATES                                          FMC
*                                                                        FMC
   EQUATE ALOAD TO 414,CGS TO 12,DSTAT20 TO 23,OPCOM TO 10
   EQUATE IPCS TO 52
*                                                                        FMC
/         PARAMETER EQUATES                                              FMC
*                                                                        FMC
   EQUATE DFCWDL TO 1000     *DISABLE FULL C/W DOWNLOAD                  FMC
*                                                                        FMC
/        MISCELLANEOUS EQUATES                                           FMC
*                                                                        FMC
   EQUATE GENSTAT TO 504, TEMP TO 503 
*                                                                        FMC
/         DISPLAY *AUTOLOAD TEST* AND *DISABLED* MESSAGES.
*                                                                        FMC
20 MSG 1 TO DISPLAY, PRINT
   IF (P5.AND.DFCWDL.NE.0) MSG 7 TO DISPLAY, PRINT
*                                                                        FMC
*        INITIALIZE.
*                                                                        FMC
21 B0=142                    *TEST NUMBER 62 HEX                         FMC
   B1 = B1 + 1               *INCREMENT LOOP COUNTER
   B9 = 02D                  *MODULE NUMBER 02D 
*                                                                        FMC
/        CHECK CONTROLWARE ON SCRATCH FILE                               FMC
*                                                                        FMC
   IF (P5.AND.DFCWDL.NE.0) GOTO 40                                       FMC
*IF DEF,CMSE17X,1 
   RES, ABT 70               *RES TO CLEAR EA EC FOR OFFLINE
   CALL 989                  *CHECK CONTROLWARE 
   IF (EC.NE.0) GOTO 70      *CONTROLWARE ERROR 
*                                                                        FMC
/        PERFORM FULL AUTOLOAD/FULL INLINE TEST.
*                                                                        FMC
40 B10 = 0                   *INIT. FAILURE FLAG
   RES, ABT 70                                                           FMC
   GOSUB 63                  *GENERAL STATUS
   IF(EC.EQ.4020B) DCN       *IF CH ACTIVE, DCN 
   IF(EC.AND.7773.EQ.4020)MSG 11 TO DISPLAY,PRINT,DAYFILE 
   IF(EC.AND.7773.EQ.4020)GOTO 41  *IF CONTROLLER HUNG, 
   IF(EC.NE.0) GOTO 70       *IF SUBR ABORT,
   IF (IB(GENSTAT).NE.0) ERROR 3/5, GOTO 70 
41 IF (P5.AND.DFCWDL.NE.0) GOTO 42
   GOSUB 60                  *PERFORM FULL AUTOLOAD                      FMC
   IF (IB(GENSTAT).EQ.0) GOTO 42  *IF AUTOLOAD OK,
   B10 = B10 + 2             *SET FULL FAILED BIT 
   ERROR 3/2, GOTO 70 
* 
/         PERFORM SHORT AUTOLOAD/ROM-INLINE TEST. 
42 B4 = 0                    *SET WORD COUNT TO ZERO
   GOSUB 60                  *PERFORM SHORT AUTOLOAD
   IF (IB(GENSTAT).EQ.0) GOTO 46                                         FMC
   B10 = B10 + 1             *SET SHORT FAILED BIT
   IF (P5.AND.DFCWDL.EQ.0) ERROR 3/3, GOTO 70 
44 ERROR 3/4, GOTO 70        *REPORT SHORT AUTOLOAD FAILURE 
* 
/         READ CHANNEL STATUS, SAVE 4HP OPTION STATUS.
* 
46 FUNC IPCS, ABT 70         *CHANNEL STATUS
   STATUS 32D WORDS TO SB(1), ABT 70
   B8 = SB(24)               *4HP OPTION STATUS 
* 
/         READ STATUS, DISPLAY CONTROLWARE VERSION LOADED.
* 
   FUNC DSTAT20, ABT 70 
   STATUS 20D WORDS TO SB(1), ABT 70
   B6 = SB(22) .AND. 340 .RS. 5 
   B6 = B6 + 21D
   B7 = SB(4).AND.1700.RS.6 
   IF(P5.AND.DFCWDL.NE.0) GOTO 47  *IF NO FULL LOAD,
   IF(ES.AND.RC.NE.0) GOTO 47  *IF REPEAT CONDITION,BYPASS
   MSG 10 (B6,B7) TO DISPLAY,PRINT,DAYFILE
   MSG 10 (B6,B7) TO LINE 1 
47 IF(B8.AND.10.NE.0)ERROR 3/10, GOTO 70       *WRONG CTRLR 
   IF(SB(22).AND.340.NE.0)ERROR 3/11, GOTO 70  *WRONG CWARE 
*                                                                        FMC
/        FINALIZE.                                                       FMC
*                                                                        FMC
57 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 76                       *TERMINATE                              FMC001 
*                                                                        FMC
/          AUTOLOAD SUBROUTINE (B4 = LENGTH)
*                                                                        FMC
60 IB(GENSTAT) = 7777 
   SYSREW                                                                FMC
   RES, ABT 64               *RESERVE CHANNEL 
   FUNC ALOAD, ABT 64                                                    FMC
   ACN, ABT 64                                                           FMC
   IF (B4.EQ.0) GOTO 62      *IF SHORT AUTOLOAD,
   B4=B4-1
61 SYSRD, STATUS TO B2                                                   FMC
   MSG 6(B4) TO DISPLAY                                                  FMC006 
   COPY IB TO OB FOR 500                                                 FMC
   B6 = 0                    *SET NORMAL BLOCK PARAMS 
   WC = 500 
   IF (OB.NE.7700) GOTO 51   *IF NOT 77-TABLE,
   B6 = 120                  *SET PARAMS FOR 77-TABLE 
   WC = 360                  *STRIP 77-TABLE
51 OUTB CHAIN WC WORDS FROM OB(B6), ABT 64
52 GOTO 61 WHILE (B4-1.NE.0)
*                                                                        FMC
   IF (B5.EQ.500) GOTO 62                                                FMC
   SYSRD, STATUS TO B2                                                   FMC
   B5=WT                                                                 FMC
   COPY IB TO OB FOR B5                                                  FMC
   OUTB B5 WORDS FROM OB(0), ABT 64                                      FMC
   GOTO 63                                                               FMC
*                                                                        FMC
62 DCN, ABT 64                                                           FMC
*                                                                        FMC
63 FUNC CGS, ABT 64                                                      FMC
   STATUS 1 WORDS TO SB, ABT 64 
   IB(GENSTAT) = SB 
64 RETURN                                                                FMC
*                                                                        FMC
/         PROCESS ERRORS. 
*                                                                        FMC
70 B3 = B3 + 1               *INCREMENT ERROR COUNT 
   ENDSUB 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 21                   *GO TO REPEAT CONDITION
*                                                                        FMC
/        CALL APPROPRIATE DISPLAY SUBMODULE.                             FMC
*                                                                        FMC
74 IF(EC.LT.4000B) CALL 02A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 010  *UNEXPECTED ERROR DISPLAY
   IF (EC.EQ.2) GOTO 42      *RESTART CONTROLLER
*                                                                        FMC
75 IF (ES.AND.RC.NE.0) GOTO 21
*                                                                        FMC
/        TERMINATE.                                                      FMC
*                                                                        FMC
76 RES, ABT 77               *RESERVE CONTROLLER
   FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
77 IF (ES.AND.RM.NE.0) GOTO 21                                           FMC
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE                    FMC
   EXIT                                                                  FMC
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC02A,6000(05,07,16),LOCK
*   5.2.3.2 FMC02A - REPORT EXPECTED ERRORS                              FMC
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-                                         FMC
*         FMC02B - PROCESS HIGHER ERROR NUMBERS.                         FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC02.                                                 FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC02.                                                 FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC02 -  AUTOLOAD TEST                                         FMC
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC02 - LINE *OCT - ERROR NUMBER *H*HE                         FMC
5  FORMAT 
6  FORMAT STATUS ERROR W*OCT  E*OCT  A*OCT  D*OCT                        FMC
*                                                                        FMC
/        ERROR NUMBER 62001 HEX                                          FMC
*                                                                        FMC
7  FORMAT SCRATCH FILE TOO LONG FOR CONTROLWARE.
10 FORMAT SCRATCH FILE TOO SHORT FOR CONTROLWARE. 
11 FORMAT GET A CARD DECK CONTAINING THE                                 FMC
12 FORMAT CONTROLWARE, READ IT INTO THE SCRATCH                          FMC
13 FORMAT FILE, AND RERUN MODULE.                                        FMC
*                                                                        FMC
/        ERROR NUMBER 62002 HEX                                          FMC
*                                                                        FMC
14 FORMAT FULL AUTOLOAD FAILED                                           FMC
15 FORMAT ADDITIONAL ERROR INFORMATION IS                                FMC
16 FORMAT PRESENTED ON THE 7155-S LED-S.                                 FMC
17 FORMAT GENERAL STATUS = *OCTB
*                                                                        FMC
/        ERROR NUMBER 62003 HEX                                          FMC
*                                                                        FMC
20 FORMAT SHORT AUTOLOAD FAILED AND FULL WORKED                          FMC
21 FORMAT UNEXPECTED ERROR, REVERT TO STANDARD                           FMC
22 FORMAT TROUBLESHOOTING PRACTICES.                                     FMC
23 FORMAT BOTH AUTOLOAD-S FAILED
*                                                                        FMC
/        ERROR NUMBER 62004 HEX                                          FMC
*                                                                        FMC
24 FORMAT SHORT AUTOLOAD FAILED, FULL NOT RUN                            FMC
25 FORMAT PUT A COPY OF THE CONTROLWARE IN THE                           FMC
26 FORMAT SCRATCH FILE, CLEAR BIT 1XXX OF P5, AND                        FMC
27 FORMAT RERUN THIS MODULE.                                             FMC
*                                                                        FMC
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC02A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT                 FMC
*                                                                        FMC
/         EQUATES                                                        FMC
*                                                                        FMC
   EQUATE GENSTAT TO 504                                                 FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4 (EA,B0,EC) TO LINE 5                                            FMC
/                                                                        FMC
   IF (IB(GENSTAT).EQ.0) GOTO 34                                         FMC
   MSG 6(0,0,IB(GENSTAT),IB(GENSTAT)) TO LINE 6                          FMC
/                                                                        FMC
34 IF (B0.NE.142) GOTO 45                                                FMC
   IF (EC.EQ.0) GOTO 45                                                  FMC
   IF (EC.LE.4) GOTO 40                                                  FMC
   EXIT TO 02B               *PROCESS HIGHER ERROR NUMBERS               FMC
*                                                                        FMC
/        ERROR NUMBER 62001 HEX                                          FMC
*                                                                        FMC
40 IF (EC.NE.1) GOTO 41                                                  FMC
   B0 = EM
   MSG B0 TO LINE 12
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 62002 HEX                                          FMC
*                                                                        FMC
41 IF (EC.NE.2) GOTO 42                                                  FMC
   MSG 14 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 15 TO LINE 14                                                     FMC
   MSG 16 TO LINE 15                                                     FMC
   MSG 17 (IB(GENSTAT)) TO LINE 16
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 62003 HEX                                          FMC
*                                                                        FMC
42 IF (EC.NE.3) GOTO 43                                                  FMC
   IF (B10.EQ.1) MSG 20 TO LINE 12
   IF (B10.GT.1) MSG 23 TO LINE 12
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 21 TO LINE 14                                                     FMC
   MSG 22 TO LINE 15                                                     FMC
   MSG 5 TO LINE 16 
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 62004 HEX                                          FMC
*                                                                        FMC
43 IF (EC.NE.4) GOTO 45                                                  FMC
   MSG 24 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 25 TO LINE 14                                                     FMC
   MSG 26 TO LINE 15                                                     FMC
   MSG 27 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/         REPORT SOFTWARE ERROR                                          FMC
*                                                                        FMC
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC
*                                                                        FMC
/         FINALIZE                                                       FMC
*                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC02B,6000(05,07,16),LOCK
*   5.2.3.3 FMC02B - REPORT EXPECTED ERRORS                              FMC
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-
*         FMC985 - DISPLAY GENERAL AND DETAILED STATUS. 
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC02.                                                 FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC02.                                                 FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC02 -  AUTOLOAD TEST                                         FMC
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC02 - LINE *OCT - ERROR NUMBER *H*HE                         FMC
6  FORMAT STATUS ERROR W*OCT  E*OCT  A*OCT  D*OCT                        FMC
*                                                                        FMC
/        ERROR NUMBER 62005 HEX                                          FMC
*                                                                        FMC
10 FORMAT WRONG GENERAL STATUS AFTER FIRST CONNECT                       FMC
11 FORMAT MAKE SURE THAT THE 7155 CONTROLLER IS                          FMC
12 FORMAT NOT RESERVED BY ANOTHER ACCESS.                                FMC
13 FORMAT                                                                FMC
* 
/         ERROR NUMBER 62006 HEX
* 
14 FORMAT SCRATCH FILE MISSING OR EMPTY.
15 FORMAT GET A CARD DECK CONTAINING CONTROLWARE, 
16 FORMAT READ IT INTO SCRATCH FILE, ATTACH FILE, 
17 FORMAT RERUN THIS MODULE.
* 
/         ERROR NUMBER 62007 HEX
* 
20 FORMAT SCRATCH FILE/CONTROLWARE DATA MISCOMPARE. 
*                                                                        FMC
/         ERROR NUMBER 62008 HEX
* 
21 FORMAT WRONG CONTROLLER ERROR
22 FORMAT FMC RUNS ON 7155-1,1X CONTROLLERS ONLY. 
23 FORMAT RUN FHC ON THIS CONTROLLER (7155-401).
* 
/        ERROR NUMBER 62009 HEX 
* 
24 FORMAT WRONG CONTROLWARE LOADED ERROR. 
25 FORMAT  MA7*D-REV-*D CONTROLWARE LOADED. 
26 FORMAT 7155-1,1X CONTROLLER REQUIRES MA721 CONTROLWARE.
* 
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC02B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT                 FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4 (EA,B0,EC) TO LINE 5                                            FMC
/                                                                        FMC
   IF (EC.LT.5) GOTO 45 
   IF (EC.GT.11) GOTO 45
*                                                                        FMC
/        ERROR NUMBER 62005 HEX                                          FMC
*                                                                        FMC
40 IF (EC.NE.5) GOTO 41 
   MSG 6(0,0,SB(0),SB(0)) TO LINE 6                                      FMC
   MSG 10 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
* 
/         ERROR NUMBER 62006 HEX
* 
41 IF (EC.NE.6) GOTO 42 
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   GOTO 77
* 
/         ERROR NUMBER 62007 HEX
* 
42 IF (EC.NE.7) GOTO 43 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   GOTO 77
* 
/         ERROR NUMBER 62008 HEX
* 
43 IF (EC.NE.10) GOTO 44
   MSG 21 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 985
   MSG 22 TO LINE 14
   MSG 23 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 985
* 
/         ERROR NUMBER 62009 HEX
* 
44 IF (EC.NE.11) GOTO 45
   MSG 24 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 985
   MSG 25 (B6,B7) TO LINE 14
   MSG 26 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 985
*                                                                        FMC
/         REPORT SOFTWARE ERROR                                          FMC
*                                                                        FMC
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC
*                                                                        FMC
/         FINALIZE                                                       FMC
*                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC03,6000(05,07,16),LOCK 
**  5.2.4 FMC03 - NORMAL CHANNEL LOOP TEST                               FMC
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC03 VERIFIES THAT THE CHANNEL ACCESS LOGIC AND THE NORMAL    FMC015 
*         CHANNEL LOGIC, BOTH OF WHICH HAVE ALREADY BEEN CHECKED, CAN    FMC015 
*         WORK TOGETHER TO GIVE THE PP ACCESS TO THE NORMAL CHANNELS.    FMC015 
*                                                                        FMC
*         METHOD-                                                        FMC
*         DO FOR ALL NORMAL CHANNELS                                     FMC
*           DO FOR ALL DATA PATTERNS                                     FMC
*             READ THE CONTENTS OF THE NOC                               FMC
*             ELIMINATE THE UNUSED AND ILLEGAL BITS FROM THE DATA        FMC015 
*               PATTERN                                                  FMC015 
*             OUTPUT DATA PATTERN ON THE NOC                             FMC
*             ECHO NOC-S AND READ                                        FMC
*             COMPARE THE ECHOED VALUE WITH THE DATA PATTERN             FMC
*           ENDO                                                         FMC
*         ENDO                                                           FMC
/                                                                        FMC
*         ENTRY-NO SPECIAL ENTRY CONDITIONS                              FMC
*                                                                        FMC
*         EXIT-NO SPECIAL EXIT CONDITIONS                                FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-                                         FMC
*         FMC010 - REPORT UNEXPECTED ERRORS 
*         FMC03A - REPORT EXPECTED ERRORS                                FMC
*         FMC03G - GENERATE DATA                                         FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         B0 - TEST NUMBER                                               FMC
*         B1 - LOOP COUNT                                                FMC
*         B2 - DATA PATTERN INDEX                                        FMC
*         B3 - ERROR COUNT                                               FMC
*         B5 - CHANNEL INDEX                                             FMC
*         B6 - TEMPORARY STORAGE                                         FMC
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         B10- DIFFERENCE BETWEEN ACTUAL AND EXPECTED(UPPER)
*         B11- DIFFERENCE BETWEEN ACTUAL AND EXPECTED(LOWER)
*         ES, EC, EM, EA - STANDARD USAGE                                FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         OB(504) - FLAG BITS                                            FMC
*           FLAG1 - EXPECTED (SET)/UNEXPECTED (CLEAR)                    FMC
*                   ERROR FLAG BIT                                       FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT FMC03 - NORMAL CHANNEL LOOP TEST                               FMC
2  FORMAT FMC03 - LC=*DECD, EC=*DECD
4  FORMAT FMC03 ERROR(S) = *DECD
7  FORMAT EXP *OCTB (UPPER 8)/*OCTB (LOWER 8)                            FMC
10 FORMAT ACT *OCTB (UPPER 8)/*OCTB (LOWER 8)                            FMC
11 FORMAT DIF *OCTB (UPPER 8)/*OCTB (LOWER 8) 
*                                                                        FMC
*         FLAG EQUATES                                                   FMC
*                                                                        FMC
   EQUATE FLAG TO 504                                                    FMC
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC
*                                                                        FMC
*         FUNCTION CODE EQUATES                                          FMC
*                                                                        FMC
   EQUATE OPCOM TO 0010      *CLEAR COUPLER CONNECT 
   EQUATE OPNC TO 0050, IPCS TO 0052                                     FMC
   EQUATE ENOC TO 0053, IPFP TO 0054                                     FMC
*                                                                        FMC
*         INPUT BUFFER INDEX EQUATES                                     FMC
*                                                                        FMC
   EQUATE EXP TO 0, ACT TO 32D, MSK TO 64D                               FMC
*                                                                        FMC
*         OUPTUT BUFFER INDEX EQUATES                                    FMC
*                                                                        FMC
   EQUATE IBMSK TO 0, UBMSK TO 32D                                       FMC
   EQUATE OPNCPRM TO 64D                                                 FMC
   EQUATE DATPAT TO 67D                                                  FMC
   EQUATE TEMP TO 503                                                    FMC
*                                                                        FMC
*         MISCELLANEOUS EQUATES                                          FMC
*                                                                        FMC
   EQUATE NPAT TO 25         *NUMBER OF DATA PATTERNS                    FMC
*                                                                        FMC
20 MSG 1 TO DISPLAY, PRINT
*                                                                        FMC
/        INITIALIZE.
*                                                                        FMC
21 B0=143                    *TEST NUMBER 63 HEX                         FMC
   B1=0                      *LOOP COUNT                                 FMC
   B3=0                      *ERROR COUNT                                FMC
   B5=0                      *CHANNEL INDEX                              FMC
   B9 = 03D                  *MODULE NUMBER 03D 
   CALL 03G                                                              FMC
*                                                                        FMC
24 B2 = 0                    *BEGINNING OF CHANNEL LOOP 
*                                                                        FMC
/        RESERVE, CONNECT, AND ECHO NORMAL OUTPUT CHANNELS. 
*                                                                        FMC
30 B1 = B1 + 1               *INCREMENT LOOP COUNT
   RES, ABT 70               *RESERVE CONTROLLER CHANNEL
   FUNC ENOC, ABT 70                                                     FMC
   STATUS 32D WORDS TO IB(EXP), ABT 70                                   FMC
*                                                                        FMC
/         BUILD PARAMETER WORDS AND EXPECTED TABLE
*                                                                        FMC
40 OB(OPNCPRM) = B5          *CHANNEL NUMBER
   B2=B2.LS.1                *DATA PATTERN INDEX                         FMC
   B5=B5.LS.1                *EXPECTED TABLE INDEX                       FMC
   B6=OPNCPRM+1              *PARAMETER WORD INDEX                       FMC
*                                                                        FMC
/         UPPER 8 BITS
*                                                                        FMC
   OB(B6)=OB(B2+DATPAT)      *PARAMETER WORD                             FMC
   OB(B6)=OB(B6).AND.OB(B5+UBMSK)  *UNUSED BIT MASK                      FMC
   OB(B6)=OB(B6).AND.OB(B5+IBMSK)  *ILLEGAL BIT MASK                     FMC
   IB(B5+EXP)=OB(B6)         *EXPECTED TABLE                             FMC
*                                                                        FMC
/         LOWER 8 BITS
*                                                                        FMC
   B2=B2+1                                                               FMC
   B5=B5+1                                                               FMC
   B6=B6+1                                                               FMC
*                                                                        FMC
   OB(B6)=OB(B2+DATPAT)      *PARAMETER WORD                             FMC
   OB(B6)=OB(B6).AND.OB(B5+UBMSK)                                        FMC
   OB(B6)=OB(B6).AND.OB(B5+IBMSK)                                        FMC
   IB(B5+EXP)=OB(B6)         *EXPECTED TABLE                             FMC
*                                                                        FMC
   B2=B2-1.RS.1                                                          FMC
*                                                                        FMC
/         SEND DATA TO NORMAL CHANNEL 
*                                                                        FMC
47 FUNC OPNC, ABT 70                                                     FMC
   ACN, ABT 70                                                           FMC
   OUT 3 WORDS FROM OB(OPNCPRM), ABT 70                                  FMC
*                                                                        FMC
/         READ CONTENTS OF OUTPUT CHANNELS
*                                                                        FMC
   FUNC ENOC, ABT 70                                                     FMC
   STATUS 32D WORDS TO IB(ACT), ABT 70                                   FMC
   B6=B5-1                   *INDEX TO UPPER BITS                        FMC
*                                                                        FMC
   IB(B5+MSK)=IB(B5+ACT).AND.OB(B5+UBMSK).AND.OB(B5+IBMSK)               FMC
   IB(B6+MSK)=IB(B6+ACT).AND.OB(B6+UBMSK).AND.OB(B6+IBMSK)               FMC
*                                                                        FMC
/         COMPARE LOWER 
*                                                                        FMC
   IF (IB(B5+EXP).NE.IB(B5+MSK)) GOTO 64                                 FMC
*                                                                        FMC
/         COMPARE UPPER 
*                                                                        FMC
   IF (IB(B6+EXP).NE.IB(B6+MSK)) GOTO 64                                 FMC
57 B5=B5-1.RS.1                                                          FMC
*                                                                        FMC
/        FINALIZE.
*                                                                        FMC
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 30 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 24 WHILE (B5+1.LE.15D)   *END OF CHANNEL LOOP                    FMC
   GOTO 76                       *TERMINATE                              FMC001 
*                                                                        FMC
/        DISPLAY AND ANALYZE DATA ERRORS
*                                                                        FMC
64 OB(501)=IB(B6+EXP) 
   OB(503)=IB(B5+EXP)                                                    FMC
   MSG 7(OB(501),OB(503)) TO LINE 6 
*                                                                        FMC
   OB(501)=IB(B6+ACT)                                                    FMC
   OB(503)=IB(B5+ACT)                                                    FMC
   MSG 10(OB(501),OB(503)) TO LINE 7
*                                                                        FMC
   B10 = IB(B6+EXP).XOR.IB(B6+MSK)
   B11 = IB(B5+EXP).XOR.IB(B5+MSK)
   MSG 11 (B10,B11) TO LINE 10
   B5 = B5 - 1 .RS. 1 
   IF (OB(501)+OB(503).EQ.0) GOTO 65
   IF (B10.XOR.B11.NE.0) GOTO 66
65 ERROR 3/5, GOTO 67 
* 
66 IF (B5.LE.03) ERROR 3/1, GOTO 67 
   IF (B5.LE.07) ERROR 3/2, GOTO 67                                      FMC
   IF (B5.LE.13) ERROR 3/3, GOTO 67                                      FMC
   IF (B5.LE.16) ERROR 3/4, GOTO 67                                      FMC
   ERROR 3/6
*                                                                        FMC
/        PROCESS EXPECTED ERRORS. 
*                                                                        FMC
67 OB(FLAG)=OB(FLAG).OR.FLAG1S  *SET FLAG 1                              FMC
   GOTO 71                                                               FMC
*                                                                        FMC
*        PROCESS UNEXPECTED ERRORS.                                      FMC
*                                                                        FMC
70 B5 = B5 - 1 .RS. 1 
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 30                   *GO TO REPEAT CONDITION
*                                                                        FMC
*        CALL APPROPRIATE DISPLAY SUBMODULE.                             FMC
*                                                                        FMC
74 IF(EC.LT.4000B) CALL 03A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 010  *UNEXPECTED ERROR DISPLAY
   IF (ES.AND.RC.NE.0) GOTO 30  *IF RC SET, 
   RES, ABT 77                                                           FMC
*                                                                        FMC
/        TERMINATE.                                                      FMC
*                                                                        FMC
76 FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
77 IF (ES.AND.RM.NE.0) GOTO 21                                           FMC
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE                    FMC
   EXIT                                                                  FMC
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC03A,6000(05,07,16),LOCK
*   5.2.4.2 FMC03A - REPORT EXPECTED ERRORS                              FMC
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-                                         FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC03.                                                 FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC03.                                                 FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC03 - NORMAL CHANNEL LOOP TEST                               FMC
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC03 - LINE *OCT - ERROR NUMBER *H*HE                         FMC
5  FORMAT 
*                                                                        FMC
/        ERROR NUMBER 63001 HEX                                          FMC
*                                                                        FMC
10 FORMAT NORMAL CHANNEL *DECD FAILURE                                   FMC
11 FORMAT SUCCESSIVELY REPLACE CARDS                                     FMC
12 FORMAT A20, A21, A16, AND A08. 
13 FORMAT A20, A21, B04, B13, B21, AND A22. 
14 FORMAT A20, A21, B19, AND B21. 
15 FORMAT A20, A21, AND A12.
*                                                                        FMC
/        ERROR NUMBER 63002 HEX                                          FMC
*                                                                        FMC
/ 10      NORMAL CHANNEL *DECD FAILURE                                   FMC
/ 11      SUCCESSIVELY REPLACE CARDS
16 FORMAT A19, A21, B20, AND B19. 
17 FORMAT A19, A21, A15, B21, B22, AND A27. 
*                                                                        FMC
/        ERROR NUMBER 63003 HEX                                          FMC
*                                                                        FMC
/ 10      NORMAL CHANNEL *DECD FAILURE                                   FMC
/ 11      SUCCESSIVELY REPLACE CARDS
22 FORMAT A18, A21, AND B04.
23 FORMAT A18, A21, B13, AND B05 THRU B12.
24 FORMAT A18, A21, AND A12.
*                                                                        FMC
/        ERROR NUMBER 63004 HEX                                          FMC
*                                                                        FMC
/ 10      NORMAL CHANNEL *DECD FAILURE                                   FMC
/ 11      SUCCESSIVELY REPLACE CARDS
26 FORMAT A17, A21, AND A12.
*                                                                        FMC
/         ERROR NUMBER 63005 HEX
* 
/ 10       NORMAL CHANNEL *DECD FAILURE 
/ 11       SUCCESSIVELY REPLACE CARDS 
27 FORMAT R/T CARD(A01/A02/A03/A04), A08 AND A16. 
* 
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC03A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT                 FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC
/                                                                        FMC
   IF (B0.NE.143) GOTO 45                                                FMC
   IF (EC.EQ.0) GOTO 45                                                  FMC
   IF (EC.GT.5) GOTO 45 
*                                                                        FMC
/        ERROR NUMBER 63001 HEX                                          FMC
*                                                                        FMC
   MSG 10(B5) TO LINE 12                                                 FMC
/                                                                        FMC
   IF (EC.NE.1) GOTO 41                                                  FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   IF(B5.EQ.0) MSG 12 TO LINE 15
   IF(B5.EQ.1) MSG 13 TO LINE 15
   IF(B5.EQ.2) MSG 14 TO LINE 15
   IF(B5.EQ.3) MSG 15 TO LINE 15
   MSG 5 TO LINE 16 
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 63002 HEX                                          FMC
*                                                                        FMC
41 IF (EC.NE.2) GOTO 42                                                  FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14
   IF(B5.LE.5) MSG 16 TO LINE 15
   IF(B5.GT.5) MSG 17 TO LINE 15
   MSG 5 TO LINE 16 
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 63003 HEX                                          FMC
*                                                                        FMC
42 IF (EC.NE.3) GOTO 43                                                  FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14
   IF(B5.EQ.10B) MSG 22 TO LINE 15
   IF(B5.EQ.11B) MSG 23 TO LINE 15
   IF(B5.EQ.12B) MSG 23 TO LINE 15
   IF(B5.EQ.13B) MSG 24 TO LINE 15
   MSG 5 TO LINE 16 
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 63004 HEX                                          FMC
*                                                                        FMC
43 IF (EC.NE.4) GOTO 44 
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14
   MSG 26 TO LINE 15                                                     FMC
   MSG 5 TO LINE 16 
   GOTO 77
* 
/         ERROR NUMBER 63005 HEX
* 
44 IF(EC.NE.5) GOTO 45
   IF(P4.AND.4000.EQ.0) GOTO 77 
   MSG 11 TO LINE 14
   MSG 27 TO LINE 15
   MSG 5 TO LINE 16 
   GOTO 77                                                               FMC
/                                                                        FMC
45 MSG 30 (EA,B0,EC,EM) TO LINE 12                                       FMC
/                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC03G,6000(05,07,16),LOCK
*   5.2.4.3 FMC03G - GENERATE DATA
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC03G FILLS THE OUTPUT BUFFER TABLES FOR ILLEGAL AND UNUSED   FMC015 
*         BITS FOR EACH NORMAL CHANNEL AND WITH THE DATA PATTERNS.       FMC015 
/                                                                        FMC
*         ENTRY-NO SPECIAL ENTRY CONDITIONS                              FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*         OUTPUT BUFFER CHANGED.                                         FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-NONE                                            FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         OB(0) - OB(37)     ILLEGAL BIT TABLE                           FMC
*         OB(40) - OB(77)    UNUSED BIT TABLE                            FMC
*         OB(100) - OB(154)  DATA PATTERNS                               FMC
*                                                                        FMC
*         REMARKS-                                                       FMC
*         NONE OF THE BITS ON NOC 0 ARE CONSIDERED LEGAL                 FMC
*         BECAUSE THEY ARE ALL ALTERED IN THE CONTROLWARE-S              FMC
*         IDLE LOOP AND, THEREFORE CANNOT BE PREDICTED.                  FMC
*                                                                        FMC
*         THE LAST PATTERN USED MUST BE ZEROES FOR THE SAKE              FMC
*         OF NOC 4 AND 5.                                                FMC
*                                                                        FMC
*                                                                        FMC
/                                                                        FMC
/        NOC LEGAL BIT MASK TABLE                                        FMC1538
/                                                                        FMC
   DATA (OB(00),CON) 000,000  *NOC 0                                     FMC
   DATA (OB(02),CON) 316,257  *NOC 1                                     FMC1538
   DATA (OB(04),CON) 377,377  *NOC 2                                     FMC
   DATA (OB(06),CON) 377,377  *NOC 3                                     FMC
   DATA (OB(10),CON) 377,377  *NOC 4                                     FMC
   DATA (OB(12),CON) 377,377  *NOC 5                                     FMC
   DATA (OB(14),CON) 377,377  *NOC 6                                     FMC
   DATA (OB(16),CON) 377,377  *NOC 7                                     FMC
   DATA (OB(20),CON) 377,377  *NOC 8                                     FMC
   DATA (OB(22),CON) 377,157  *NOC 9
   DATA (OB(24),CON) 377,377  *NOC 10                                    FMC
   DATA (OB(26),CON) 377,377  *NOC 11                                    FMC
   DATA (OB(30),CON) 377,377  *NOC 12                                    FMC
   DATA (OB(32),CON) 377,377  *NOC 13                                    FMC
   DATA (OB(34),CON) 377,377  *NOC 14                                    FMC
   DATA (OB(36),CON) 377,377  *NOC 15                                    FMC
/                                                                        FMC
/        NOC USED BIT MASK TABLE                                         FMC1538
/                                                                        FMC
   DATA (OB(40),CON) 003,377  *NOC 0                                     FMC
   DATA (OB(42),CON) 377,377  *NOC 1                                     FMC
   DATA (OB(44),CON) 000,377  *NOC 2                                     FMC1538
   DATA (OB(46),CON) 000,003  *NOC 3                                     FMC1538
   DATA (OB(50),CON) 000,000  *NOC 4                                     FMC
   DATA (OB(52),CON) 000,000  *NOC 5                                     FMC
   DATA (OB(54),CON) 347,377  *NOC 6                                     FMC
   DATA (OB(56),CON) 347,377  *NOC 7                                     FMC
   DATA (OB(60),CON) 377,377  *NOC 8                                     FMC
   DATA (OB(62),CON) 000,377  *NOC 9                                     FMC
   DATA (OB(64),CON) 377,377  *NOC 10                                    FMC
   DATA (OB(66),CON) 377,377  *NOC 11                                    FMC
   DATA (OB(70),CON) 377,377  *NOC 12                                    FMC
   DATA (OB(72),CON) 377,377  *NOC 13                                    FMC
   DATA (OB(74),CON) 377,377  *NOC 14                                    FMC
   DATA (OB(76),CON) 000,000  *NOC 15                                    FMC
/                                                                        FMC
/         PARAMETER WORDS FOR OUTPUT ON PROCESSOR                        FMC
/         NORMAL CHANNEL                                                 FMC
/                                                                        FMC
   DATA (OB(100),CON) 0000,0000,0000                                     FMC
/                                                                        FMC
/         DATA PATTERNS                                                  FMC
/                                                                        FMC
   DATA (OB(103),CON) 000,000  *ALL ZEROES                               FMC
   DATA (OB(105),CON) 377,377  *ALL ONES                                 FMC
/                                                                        FMC
   DATA (OB(107),CON) 252,252  *2525                                     FMC
   DATA (OB(111),CON) 525,525  *5252                                     FMC
/                                                                        FMC
   DATA (OB(113),CON) 001,001  *SLIDING ONES                             FMC
   DATA (OB(115),CON) 002,002                                            FMC
   DATA (OB(117),CON) 004,004                                            FMC
   DATA (OB(121),CON) 010,010                                            FMC
   DATA (OB(123),CON) 020,020                                            FMC
   DATA (OB(125),CON) 040,040                                            FMC
   DATA (OB(127),CON) 100,100                                            FMC
   DATA (OB(131),CON) 200,200                                            FMC
/                                                                        FMC
   DATA (OB(133),CON) 177,177  *SLIDING ZEROES                           FMC
   DATA (OB(135),CON) 277,277                                            FMC
   DATA (OB(137),CON) 337,337                                            FMC
   DATA (OB(141),CON) 357,357                                            FMC
   DATA (OB(143),CON) 367,367                                            FMC
   DATA (OB(145),CON) 373,373                                            FMC
   DATA (OB(147),CON) 375,375                                            FMC
   DATA (OB(151),CON) 376,376                                            FMC
   DATA (OB(153),CON) 000,000  *THE LAST PATTERN MUST BE 0               FMC
/                                                                        FMC
10 IF (P8.AND.20.NE.0) GOTO 20
   OB(63)=17                 *NOC 9 LOWER                                FMC1538
   OB(64)=0                  *NOC 10 UPPER                               FMC003 
   OB(65)=0                  *NOC 10 LOWER                               FMC003 
20 EXIT                                                                  FMC003 
   END 10                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC04,6000(05,07,16),LOCK 
**  5.2.5 FMC04 - DEAD MAN TIMER TEST                                    FMC
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC04 VERIFIES THAT THE DEAD MAN TIMER                         FMC
*         DEACTIVATES THE CHANNEL AFTER THE SPECIFIED                    FMC
*         AMOUNT OF TIME (FROM 3 TO 6 SECONDS).                          FMC007 
*         THIS MODULE DOES NOT SUPPORT REPEAT CONDITION.
*                                                                        FMC
*         METHOD-                                                        FMC
*         ISSUE THE BLOCK TRANSFER BUFFER WRITE FUNCTION                 FMC
*         ACTIVATE THE CHANNEL                                           FMC
*         TIME HOW LONG IT TAKES FOR THE 7155 TO DEACTIVATE THE CHANNEL  FMC
*         REPORT ERROR IF IT WAS TOO LONG OR TOO SHORT                   FMC
*         VERIFY THAT THE DEAD MAN TIMER BIT IS SET IN THE DETAILED      FMC015 
*           STATUS                                                       FMC015 
/                                                                        FMC
*         ENTRY-NO SPECIAL ENTRY CONDITIONS                              FMC
*                                                                        FMC
*         EXIT-NO SPECIAL EXIT CONDITIONS                                FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-                                         FMC
*         FMC010 - REPORT UNEXPECTED ERRORS 
*         FMC04A - REPORT EXPECTED ERRORS                                FMC
*         FMC04G - INTEGER DIVISION BY 1000D                             FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         B0 - TEST NUMBER                                               FMC
*         B1 - LOOP COUNT                                                FMC
*         B2 - TEMPORARY STORAGE                                         FMC
*         B3 - ERROR COUNT                                               FMC
*         B4 - TEMPORARY STORAGE                                         FMC
*         B5 - TEMPORARY STORAGE
*         B6 - UPPER 12 BITS OF TIMER                                    FMC
*         B7 - LOWER 12 BITS OF TIMER                                    FMC
*         B8 - INITIAL TIME DELAY 
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         B10 - MAX. TIME LIMIT (UPPER 12)
*         B11 - MAX. TIME LIMIT (LOWER 12)
*         ES, EC, EM, EA - STANDARD USAGE                                FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         OB(0) AND OB(1) - TIME IN MICROSECONDS                         FMC
*         OB(2) AND OB(3) - TIME IN MILLISECONDS                         FMC
*         OB(4) AND OB(5) - TIME IN SECONDS                              FMC
*         OB(504) - FLAG BITS                                            FMC
*           FLAG1 - EXPECTED (SET)/UNEXPECTED (CLEAR)                    FMC
*                   ERROR FLAG BIT                                       FMC
*                                                                        FMC
*         REMARKS-                                                       FMC
*         3,000,000D = 13343300B  3.0 SECONDS                            FMC007 
*         6,000,000D = 26706600B  6.0 SECONDS                            FMC007 
*                                                                        FMC
*         THE INITIAL DELAY USES A 4000D USEC DELAY                      FMC007 
*         TO ASSURE THAT THE REAL TIME CLOCK WRAPS AROUND.               FMC
*         THIS IS THE ONLY TECHNIQUE THAT WILL OVERRIDE                  FMC
*         THE 2.0 SECOND MAXIMUM TIME BETWEEN RELEASES                   FMC
*         WHICH THE OPERATING SYSTEMS REQUIRE.                           FMC
*                                                                        FMC
*         THE DMT BIT IN NIC 0 IS NOT CHECKED.  IF IT FAILS,             FMC
*         THE DMT BIT IN THE DETAILED STATUS WILL ALSO FAIL.             FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT FMC04 - DEAD MAN TIMER TEST                                    FMC
4  FORMAT FMC04 ERROR(S) = *DECD
5  FORMAT TIME = *DD SECONDS + *DED MILLISECONDS                         FMC
6  FORMAT LESS THAN 3.0 SECONDS                                          FMC007 
7  FORMAT // FMC04 NOT EXECUTED, NEEDS AL=0021,AL=*OCT //                FMC1228
10 FORMAT -PAUSE- // FMC04 RM SELECTED // 
*                                                                        FMC
*         FUNCTION CODE EQUATES                                          FMC
*                                                                        FMC
   EQUATE DSTAT20 TO 0023                                                FMC
   EQUATE OPCOM TO 0010      *CLEAR COUPLER CONNECT 
   EQUATE IPCS TO 0052                                                   FMC
   EQUATE BTBMW TO 0033                                                  FMC
*                                                                        FMC
*         FLAG EQUATES                                                   FMC
*                                                                        FMC
   EQUATE FLAG TO 504                                                    FMC
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC
*                                                                        FMC
*         STATUS BIT EQUATES                                             FMC
*                                                                        FMC
   EQUATE DMT TO 0010                                                    FMC
*                                                                        FMC
*         TIME LIMIT EQUATES                                             FMC
*                                                                        FMC
   EQUATE T3S TO 750D, T4S TO 1125D     *3.0 OR 4.5 SEC 
   EQUATE TD3SU TO 1334, TD3SL TO 3300  *DELAY TIME(3.0 SEC)
   EQUATE TD4SU TO 2112, TD4SL TO 5040  *DELAY TIME(4.5 SEC)
   EQUATE TMAXU TO 2670, TMAXL TO 6600  *UPPER TIME LIMIT                FMC007 
   EQUATE TMINU TO 1334, TMINL TO 3300  *LOWER TIME LIMIT                FMC007 
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
20 MSG 1 TO DISPLAY, PRINT
   IF (AL.GE.21) GOTO 22                                                 FMC1228
   MSG 7 (AL) TO DISPLAY, PRINT                                          FMC1228
21 IF(ES.AND.RM.EQ.0) EXIT                                               FMC1228
   MSG 10 TO LINE 1                                                      FMC1228
   MSG 10 TO DISPLAY, PRINT 
   PAUSE                                                                 FMC1228
   GOTO 20
*                                                                        FMC
*        INITIALIZE.                                                     FMC
*                                                                        FMC
22 B0=144                    *TEST NUMBER 64 HEX                         FMC1228
   B1=0                      *LOOP COUNT                                 FMC
   B3=0                      *ERROR COUNT                                FMC
   B9 = 04D                  *MODULE NUMBER 04D 
   WC=1                                                                  FMC
   BA=0                                                                  FMC
   OB(BA)=0                                                              FMC
*                                                                        FMC
*        RESERVE, CONNECT, ETC.                                          FMC
*                                                                        FMC
*                                                                        FMC
*        PERFORM DEAD MAN TIMER TEST.                                    FMC
*                                                                        FMC
30 B1 = B1 + 1               *INCREMENT LOOP COUNT
   B6 = TD3SU                *ACCUMULATED TIME
   B7 = TD3SL 
   B8 = T3S                  *SET 3.0 SEC. DELAY
   B10 = TD4SU               *SET MAX. TIME LIMIT 
   B11 = TD4SL
*                                                                        FMC
40 RES, ABT 70               *RESERVE CHANNEL 
   FUNC BTBMW, ABT 70                                                    FMC
   ACN, ABT 70                                                           FMC
   OUT CHAIN, ABT 70                                                     FMC
   B2=0                                                                  FMC
*                                                                        FMC007 
*         DELAY 3.0 SECONDS                                              FMC007 
*                                                                        FMC007 
41 DELAY 4000D USEC                                                      FMC007 
   GOTO 41 WHILE (B2+1.LT.B8) 
   B5=RT                     *START CLOCK                                FMC
*                                                                        FMC
42 B4=B5                     *SAVE OLD TIME                              FMC
   B5=RT                     *SAVE NEW TIME                              FMC
*                                                                        FMC
*         CALCULATE ELAPSED TIME                                         FMC
*                                                                        FMC
   B2=B5-B4.RS.17D           *BORROW BIT                                 FMC
   B2=B5-B4+B2               *ELAPSED TIME                               FMC
*                                                                        FMC
*         ADD ELAPSED TIME TO ACCUMULATED TIME                           FMC
*                                                                        FMC
   B4=B7+B2.RS.12D           *CARRY BIT                                  FMC
   B6=B6+B4                  *UPPER 12 BITS                              FMC
   B7=B7+B2                  *LOWER 12 BITS                              FMC
*                                                                        FMC
   IF (B6.GT.B10) GOTO 50 
   IF (B6.LT.B10) GOTO 44 
   IF (B7.GT.B11) GOTO 50    *IF ETL.GT.LOWER MAX TIME, 
*                                                                        FMC
44 ACN, ABT 42               *BOTTOM OF WAIT LOOP                        FMC
*                                                                        FMC
   DCN, ABT 70                                                           FMC
*                                                                        FMC
   IF (B6.LT.TMINU) GOTO 54                                              FMC
   IF (B6.GT.TMINU) GOTO 46                                              FMC
   IF (B7.LT.TMINL) GOTO 54                                              FMC
*                                                                        FMC
46 RES,ABT 70                                                            FMC
   FUNC DSTAT20, ABT 70                                                  FMC
   STATUS 20D WORDS TO SB(1), ABT 70                                     FMC
   IF (SB(17D).AND.DMT.EQ.0) ERROR 3/3, GOTO 67                          FMC
   GOSUB 56                                                              FMC
   GOTO 76                   *TERMINATE 
*                                                                        FMC
*         REPORT TOO LONG ERROR                                          FMC
*                                                                        FMC
50 DCN, ABT 51                                                           FMC
51 REL, ABT 70                                                           FMC
   IF (B8.EQ.T4S) GOTO 53 
   B6 = TD4SU                *ACCUMULATED TIME
   B7 = TD4SL 
   B8 = T4S                  *SET 4.5 SEC DELAY 
   B10 = TMAXU               *SET MAX. TIME LIMIT 
   B11 = TMAXL
   GOTO 40                   *REPEAT DEADMAN TIMER TEST 
53 ERROR 3/1, GOTO 67 
*                                                                        FMC
*         REPORT TOO SHORT ERROR                                         FMC
*                                                                        FMC
54 GOSUB 56                                                              FMC
   ERROR 3/2, GOTO 67                                                    FMC
*                                                                        FMC
*         CONVERT USEC TO MSEC AND SEC                                   FMC
*                                                                        FMC
56 OB(0)=B6                  *SAVE USEC                                  FMC
   OB(1)=B7                                                              FMC
   CALL 04G                  *DIVIDE BY 1000D                            FMC
   OB(2)=B6                  *SAVE MSEC                                  FMC
   OB(3)=B7                                                              FMC
   CALL 04G                  *DIVIDE BY 1000D                            FMC
   OB(4)=B6                  *SAVE SEC                                   FMC
   OB(5)=B7                                                              FMC
*                                                                        FMC
*         CALCULATE RESIDUAL MSEC                                        FMC
*                                                                        FMC
57 B2=OB(3)-1000D.RS.17D     *BORROW BIT                                 FMC
   OB(2)=OB(2)-B2                                                        FMC
   OB(3)=OB(3)-1000D                                                     FMC
   GOTO 57 WHILE (B7-1.NE.0)                                             FMC
*                                                                        FMC
   MSG 5(OB(5),OB(3)) TO LINE 7                                          FMC
   IF (OB(5).LT.4) MSG 6 TO LINE 7                                       FMC
   PICTURE
   RETURN                                                                FMC
*                                                                        FMC
*        PROCESS EXPECTED ERRORS.                                        FMC
*                                                                        FMC
67 OB(FLAG)=OB(FLAG).OR.FLAG1S  *SET FLAG 1                              FMC
   GOTO 71                                                               FMC
*                                                                        FMC
*        PROCESS UNEXPECTED ERRORS.                                      FMC
*                                                                        FMC
70 OB(FLAG)=OB(FLAG).AND.FLAG1C  *CLEAR FLAG 1                           FMC
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
*                                                                        FMC
*        CALL APPROPRIATE DISPLAY SUBMODULE.                             FMC
*                                                                        FMC
74 IF(EC.LT.4000B) CALL 04A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 010  *UNEXPECTED ERROR DISPLAY
*                                                                        FMC
75 RES, ABT 77
*                                                                        FMC
/        TERMINATE.                                                      FMC
*                                                                        FMC
76 FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
77 IF (ES.AND.RM.NE.0) GOTO 22                                           FMC1228
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT                                                                  FMC
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC04A,6000(05,07,16),LOCK
*   5.2.5.1 FMC04A - REPORT EXPECTED ERRORS 
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-
*         FMC985 - DISPLAY GENERAL AND DETAILED STATUS. 
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC04.                                                 FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC04.                                                 FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC04 - DEAD MAN TIMER TEST                                    FMC
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC04 - LINE *OCT - ERROR NUMBER *H*HE                         FMC
*                                                                        FMC
/        ERROR NUMBER 64001 HEX                                          FMC
*                                                                        FMC
10 FORMAT DEAD MAN TIMER WAS TOO LONG (GREATER THAN 6 SEC.)              FMC007 
11 FORMAT RERUN MODULE FMC04 WITH A DEDICATED                            FMC
12 FORMAT CHANNEL.  IF THE SAME FAILURE OCCURS,                          FMC
13 FORMAT REPLACE CARD A08.                                              FMC
*                                                                        FMC
/        ERROR NUMBER 64002 HEX                                          FMC
*                                                                        FMC
14 FORMAT DEAD MAN TIMER DELAY WAS TOO SHORT.                            FMC
15 FORMAT REPLACE CARD A08.                                              FMC
16 FORMAT                                                                FMC
17 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 64003 HEX                                          FMC
*                                                                        FMC
20 FORMAT DEAD MAN TIMER BIT NOT SET IN WORD 17D OF                      FMC
21 FORMAT DETAILED STATUS.                                               FMC
22 FORMAT REPLACE CARD A08.                                              FMC
23 FORMAT                                                                FMC
*                                                                        FMC
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC04A - S/W ERROR, EA=*OCT, EC=*H*HE, EM=*OCT                 FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC
/                                                                        FMC
   IF (B0.NE.144) GOTO 45                                                FMC
   IF (EC.EQ.0) GOTO 45                                                  FMC
   IF (EC.GT.4) GOTO 45                                                  FMC
*                                                                        FMC
/        ERROR NUMBER 64001 HEX                                          FMC
*                                                                        FMC
40 IF (EC.NE.1) GOTO 41                                                  FMC
   MSG 10 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 64002 HEX                                          FMC
*                                                                        FMC
41 IF (EC.NE.2) GOTO 42                                                  FMC
   MSG 14 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 15 TO LINE 14                                                     FMC
   MSG 16 TO LINE 15                                                     FMC
   MSG 17 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 64003 HEX                                          FMC
*                                                                        FMC
42 IF (EC.NE.3) GOTO 45 
   MSG 20 TO LINE 12                                                     FMC
   MSG 21 TO LINE 13                                                     FMC
   IF (P4.AND.4000.EQ.0) EXIT TO 985
   MSG 22 TO LINE 15                                                     FMC
   MSG 23 TO LINE 16                                                     FMC
   EXIT TO 985
/                                                                        FMC
45 MSG 30 (EA,B0,EC,EM) TO LINE 12                                       FMC
/                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC04G,6000(05,07,16),LOCK
*   5.2.5.2 FMC04G - INTEGER DIVIDE BY 1000D
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC04G DIVIDES THE 24 BIT NUMBER CONTAINED IN                  FMC
*         REGISTERS B6/B7 BY 1000D AND REPLACES IT WITH                  FMC
*         THE QUOTIENT.                                                  FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*         1000D IS SUBTRACTED FROM THE 24 BIT DIVIDEND                   FMC
*         UNTIL IT GOES NEGATIVE.  THE NUMBER OF SUBTRACTS               FMC
*         MINUS ONE IS THEN THE QUOTIENT.                                FMC
/                                                                        FMC
*         ENTRY-                                                         FMC
*         B6 - UPPER 12 BITS OF THE 24 BIT DIVIDEND                      FMC
*         B7 - LOWER 12 BITS OF THE 24 BIT DIVIDEND                      FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*         B6 - UPPER 12 BITS OF THE 24 BIT QUOTIENT                      FMC
*         B7 - LOWER 12 BITS OF THE 24 BIT QUOTIENT                      FMC
*         OB(502) THROUGH OB(504) ARE DESTROYED                          FMC
*         IB(502) THROUGH IB(504) ARE DESTROYED                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         B2 - BORROW/CARRY BIT 2**12                                    FMC
*         B3 - BORROW BIT 2**24                                          FMC
*         B4 - UPPER 12 BITS OF QUOTIENT                                 FMC
*         B5 - LOWER 12 BITS OF QUOTIENT                                 FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         OB(502) THROUGH OB(504) AND IB(502) THROUGH                    FMC
*           IB(504) ARE USED TO SAVE THE REGISTERS.                      FMC
*                                                                        FMC
*         REMARKS-                                                       FMC
*         BY CHANGING THE EQUATE FOR DIVISOR, THIS MODULE                FMC
*         CAN BE MODIFIED TO DIVIDE BY ANY NUMBER LESS                   FMC
*         THAN 4096D.                                                    FMC
*                                                                        FMC
*         KNOWN LIMITATIONS-                                             FMC
*                                                                        FMC
*                                                                        FMC
/         MISCELLANEOUS EQUATES                                          FMC
*                                                                        FMC
   EQUATE DIVISOR TO 1000D                                               FMC
*                                                                        FMC
/         SAVE THE REGISTERS                                             FMC
*                                                                        FMC
20 OB(503)=B0                                                            FMC
   OB(502)=B1                                                            FMC
   OB(501)=B2                                                            FMC
   IB(503)=B3                                                            FMC
   IB(502)=B4                                                            FMC
   IB(501)=B5                                                            FMC
   B4=0                                                                  FMC
   B5=0                                                                  FMC
*                                                                        FMC
/         SUBTRACT DIVISOR FROM DIVIDEND (B6/B7)                         FMC
*                                                                        FMC
30 B2=B7-DIVISOR.RS.17D      *BORROW BIT 2**12                           FMC
   B3=B6-B2.RS.17D           *BORROW BIT 2**24                           FMC
/                                                                        FMC
   B7=B7-DIVISOR+B3          *LOWER 12 BITS                              FMC
   B6=B6-B2                  *UPPER 12 BITS                              FMC
   IF (B3.NE.0) GOTO 34      *EXIT IF NEGATIVE                           FMC
*                                                                        FMC
/         INCREMENT QUOTIENT (B4/B5)                                     FMC
*                                                                        FMC
   B2=B5+1.RS.12D            *CARRY BIT 2**12                            FMC
   B4=B4+B2                  *UPPER 12 BITS                              FMC
   B5=B5+1                   *LOWER 12-BITS 
   GOTO 30                                                               FMC
*                                                                        FMC
/         REPLACE DIVIDEND WITH QUOTIENT                                 FMC
*                                                                        FMC
34 B6=B4                     *UPPER 12 BITS                              FMC
   B7=B5                     *LOWER 12 BITS                              FMC
*                                                                        FMC
/         RESTORE REGISTERS                                              FMC
*                                                                        FMC
   B0=OB(503)                                                            FMC
   B1=OB(502)                                                            FMC
   B2=OB(501)                                                            FMC
   B3=IB(503)                                                            FMC
   B4=IB(502)                                                            FMC
   B5=IB(501)                                                            FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
   EXIT                                                                  FMC
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC07,6000(05,07,16),LOCK 
**  5.2.6 FMC07 - SPECIAL CHANNEL TEST                                   FMC
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC07 USES THE BLOCK TRANSFER WRITE AND READ TO TEST THE       FMC015 
*         LOGIC ON THE SPECIAL CYBER CHANNEL BOARD.                      FMC015 
*                                                                        FMC
*         METHOD-                                                        FMC
*         DO FOR PATTERNS 0 THROUGH 5.
*           FILL THE OUTPUT BUFFER                                       FMC
*           WRITE TO BUFFER MEMORY                                       FMC
*           READ FROM BUFFER MEMORY                                      FMC
*           COMPARE DATA                                                 FMC
*         ENDO                                                           FMC
/                                                                        FMC
*         ENTRY-NO SPECIAL ENTRY CONDITIONS.                             FMC
*                                                                        FMC
*         EXIT-NO SPECIAL EXIT CONDITIONS.                               FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-                                         FMC
*         FMC010 - REPORT UNEXPECTED ERRORS 
*         FMC07A - REPORT EXPECTED ERRORS                                FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         B0 - TEST NUMBER                                               FMC
*         B1 - LOOP COUNT                                                FMC
*         B2 - DATA PATTERN INDEX                                        FMC
*         B3 - ERROR COUNT                                               FMC
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES             FMC
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         ES, EC, EM, EA - STANDARD USAGE                                FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         OB(0) - OB(501)  ONE SECTOR OF OUTPUT BUFFER                   FMC
*         IB(0) - IB(501)  ONE SECTOR OF INPUT BUFFER                    FMC
*         OB(504) - FLAG BITS                                            FMC
*           FLAG1 - EXPECTED (SET)/UNEXPECTED (CLEAR)                    FMC
*                   ERROR FLAG BIT                                       FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT FMC07 - SPECIAL CHANNEL TEST                                   FMC
2  FORMAT FMC07 - LC=*DECD, EC=*DECD
4  FORMAT FMC07 ERROR(S) = *DECD
*                                                                        FMC
/         FLAG EQUATES                                                   FMC
*                                                                        FMC
   EQUATE FLAG TO 504                                                    FMC
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC
*                                                                        FMC
/         FUNCTION CODE EQUATES                                          FMC
*                                                                        FMC
   EQUATE OPCOM TO 0010      *CLEAR COUPLER CONNECT 
   EQUATE BTBMW TO 0033                                                  FMC
   EQUATE BTBMR TO 0032                                                  FMC
   EQUATE CGS TO 0012                                                    FMC
*                                                                        FMC
/         MISCELLANEOUS EQUATES                                          FMC
*                                                                        FMC
   EQUATE NPAT TO 6          *NUMBER OF DATA PATTERNS                    FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
20 MSG 1 TO DISPLAY, PRINT
*                                                                        FMC
/        INITIALIZE.                                                     FMC
*                                                                        FMC
21 B0=147                    *TEST NUMBER 67 HEX                         FMC
   B1=0                      *LOOP COUNT                                 FMC
   B2=0                      *DATA PATTERN INDEX                         FMC
   B3=0                      *ERROR COUNT                                FMC
   B9 = 07D                  *MODULE NUMBER 07D 
*                                                                        FMC
24 IF(B2.EQ.0)DUP 0000B TO OB FOR 502B   0000 PATTERN 
   IF(B2.EQ.1)DUP 7777B TO OB FOR 502B   7777 PATTERN 
   IF(B2.EQ.2)DUP 2525B TO OB FOR 502B   2525 PATTERN 
   IF(B2.EQ.3)DUP 5252B TO OB FOR 502B   5252 PATTERN 
/ 
/         4.  SLIDING ONE 
/ 
30 IF (B2.NE.4) GOTO 34 
   OB(BA)=B15 
   OB(BA+1)=2 
   B15=BA+1 
32 OB(B15+1)=OB(B15).LS.1 
   IF (OB(B15+1).EQ.0) OB(B15+1)=1
   GOTO 32 WHILE (B15+1.LT.WC)
   B15=OB(BA) 
   OB(BA)=1 
   GOTO 50
/ 
/         5.  SLIDING ZERO
*                                                                        FMC
34 IF (B2.NE.5) GOTO 40 
   OB(BA)=B15 
   OB(BA+1)=7775
   B15=BA+1 
36 OB(B15+1)=OB(B15).XOR.7777.LS.1
   IF (OB(B15+1).EQ.0) OB(B15+1)=1
   OB(B15+1)=OB(B15+1).XOR.7777 
   GOTO 36 WHILE (B15+1.LT.WC)
   B15=OB(BA) 
   OB(BA)=7776
   GOTO 50
/ 
/         6.  SLIDING PAIR OF ONES
*                   B2=6
40 OB(BA)=B15 
   OB(BA+1)=6 
   B15=BA+1 
42 OB(B15+1)=OB(B15).LS.1 
   IF (OB(B15+1).EQ.4000) OB(B15+1)=4001
   IF (OB(B15+1).EQ.2) OB(B15+1)=3
   GOTO 42 WHILE (B15+1.LT.WC)
   B15=OB(BA) 
   OB(BA)=3 
   GOTO 50
* 
/        PERFORM SPECIAL CHANNEL TEST.                                   FMC
*                                                                        FMC
50 B1=B1+1
   WC = 502B                 *SET WORD COUNT
   RES, ABT 70                                                           FMC
   FUNC BTBMW, ABT 70                                                    FMC
   ACN, ABT 70                                                           FMC
   OUTB, ABT 70                                                          FMC
   FUNC CGS, ABT 70                                                      FMC
   STATUS 1 WORDS TO SB(0), ABT 70                                       FMC
   IF (SB(0).NE.0) ERROR 3/1, GOTO 67                                    FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
   FUNC BTBMR, ABT 70                                                    FMC
   ACN, ABT 70                                                           FMC
   INB, ABT 70                                                           FMC
   FUNC CGS, ABT 70                                                      FMC
   STATUS 1 WORDS TO SB(0), ABT 70                                       FMC
   IF (SB(0).NE.0) ERROR 3/2, GOTO 67                                    FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
   COMPARE OB TO IB FOR WC, ABT 64                                       FMC
*                                                                        FMC
/        FINALIZE.                                                       FMC
*                                                                        FMC
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP               FMC
   GOTO 76                       *TERMINATE                              FMC001 
*                                                                        FMC
/        ANALYZE DATA ERRORS                                             FMC
*                                                                        FMC
64 B4=OB(WC).XOR.IB(WC)                                                  FMC
   ERROR 3/3, GOTO 67                                                    FMC
*                                                                        FMC
/        PROCESS EXPECTED ERRORS.                                        FMC
*                                                                        FMC
67 OB(FLAG)=OB(FLAG).OR.FLAG1S  *SET FLAG 1                              FMC
   GOTO 71                                                               FMC
*                                                                        FMC
/        PROCESS UNEXPECTED ERRORS.                                      FMC
*                                                                        FMC
70 OB(FLAG)=OB(FLAG).AND.FLAG1C  *CLEAR FLAG 1                           FMC
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 50                   *GO TO REPEAT CONDITION
*                                                                        FMC
/        CALL APPROPRIATE DISPLAY SUBMODULE.                             FMC
*                                                                        FMC
74 IF(EC.LT.4000B) CALL 07A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 010  *UNEXPECTED ERROR DISPLAY
*                                                                        FMC
75 IF (ES.AND.RC.NE.0) GOTO 40                                           FMC
   RES, ABT 77                                                           FMC
*                                                                        FMC
/        TERMINATE.                                                      FMC
*                                                                        FMC
76 FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
77 IF (ES.AND.RM.NE.0) GOTO 21                                           FMC
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE                    FMC
   EXIT                                                                  FMC
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC07A,6000(05,07,16),LOCK
*   5.2.6.1 FMC07A - REPORT EXPECTED ERRORS 
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC07.                                                 FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC07.                                                 FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC07 - SPECIAL CHANNEL TEST                                   FMC
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC07 - LINE *OCT - ERROR NUMBER *H*HE                         FMC
5  FORMAT DATA ERROR   W*OCT  E*OCT  A*OCT  D*OCT                        FMC
6  FORMAT STATUS ERROR W*OCT  E*OCT  A*OCT  D*OCT                        FMC
*                                                                        FMC
/        ERROR NUMBER 67001 HEX                                          FMC
*                                                                        FMC
10 FORMAT WRONG GENERAL STATUS AFTER BUFFER MEMORY WRITE                 FMC
11 FORMAT REPLACE BOARD A21.                                             FMC
12 FORMAT                                                                FMC
13 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 67002 HEX                                          FMC
*                                                                        FMC
14 FORMAT WRONG GENERAL STATUS AFTER BUFFER MEMORY READ                  FMC
15 FORMAT REPLACE BOARD A21.                                             FMC
16 FORMAT                                                                FMC
17 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 67003 HEX                                          FMC
*                                                                        FMC
20 FORMAT DATA MISCOMPARE AFTER A BUFFER MEMORY WRITE/READ               FMC
21 FORMAT SUCCESSIVELY REPLACE CARDS A16, A21, A08, AND THE              FMC
22 FORMAT RECEIVER/TRANSMITTER BOARD FOR THIS ACCESS.                    FMC
23 FORMAT                                                                FMC
*                                                                        FMC
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC07A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT                 FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC
/                                                                        FMC
   IF (B0.NE.147) GOTO 45                                                FMC
   IF (EC.EQ.0) GOTO 45                                                  FMC
   IF (EC.GT.3) GOTO 45                                                  FMC
*                                                                        FMC
/        ERROR NUMBER 67001 HEX                                          FMC
*                                                                        FMC
40 IF (EC.NE.1) GOTO 41                                                  FMC
   MSG 6(0,0,SB(0),SB(0)) TO LINE 7                                      FMC
   MSG 10 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 67002 HEX                                          FMC
*                                                                        FMC
41 IF (EC.NE.2) GOTO 42                                                  FMC
   MSG 6(0,0,SB(0),SB(0)) TO LINE 7                                      FMC
   MSG 14 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 15 TO LINE 14                                                     FMC
   MSG 16 TO LINE 15                                                     FMC
   MSG 17 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 67003 HEX                                          FMC
*                                                                        FMC
42 IF (EC.NE.3) GOTO 45                                                  FMC
   MSG 5(WC,OB(WC),IB(WC),B4) TO LINE 7                                  FMC
   MSG 20 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 21 TO LINE 14                                                     FMC
   MSG 22 TO LINE 15                                                     FMC
   MSG 23 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
/                                                                        FMC
45 MSG 30 (EA,B0,EC,EM) TO LINE 12                                       FMC
/                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
*IF DEF,CMSE17X                                                          FMC
   MODULE FMC08,6000(05,07,16),LOCK 
**  5.2.7 FMC08 - PARITY CHECKER TEST I                                  FMC
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC08 USES A BUFFER WRITE TO VERIFY THE OPERATION OF THE       FMC
*         *P.E. ON CURRENT WORD* PARITY CHECKER ON THE CYBER MUX BOARD.  FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*         IF 865/875/700 SELECTED (P8=2XXX), THEN 
*           CONTINUE
*         ELSE
*           EXIT TO FMC08B
*         ENDIF 
*         IF OPERATOR INTERVENTION IS DISABLED, THEN                     FMC
*           EXIT                                                         FMC
*         ENDIF                                                          FMC
*         IF THE MAINFRAME BEING USED IS NOT A CYBER 17X, THEN           FMC
*           REPORT ERROR                                                 FMC
*         ENDIF                                                          FMC
*         DO FOR ALL DATA PATTERNS                                       FMC
*           FILL THE DATA BUFFER                                         FMC
*           IF ANY OF THE WORDS IN THE BUFFER HAVE AN EVEN NUMBER OF     FMC015 
*             BITS, THEN SET FLAG 2                                      FMC015 
*           ENDIF                                                        FMC
*           IF ANY OF THE WORDS IN THE BUFFER HAVE AN ODD NUMBER OF      FMC015 
*             BITS, THEN SET FLAG 3                                      FMC015 
*           ENDIF                                                        FMC
*           ISSUE A BUFFER WRITE FUNCTION                                FMC
*           TURN ON FORCE ZERO PARITY                                    FMC
*           OUTPUT                                                       FMC
*           TURN OFF FORCE ZERO PARITY                                   FMC
*           GET GENERAL STATUS                                           FMC
*           IF GENERAL STATUS IS NON ZERO, THEN                          FMC
*             REPORT ERROR                                               FMC
*           ENDIF                                                        FMC
*           GET CHANNEL STATUS                                           FMC
*           IF FLAG 3 IS SET, THEN                                       FMC
*             IF PARITY ERROR BIT IS SET, THEN                           FMC
*               REPORT ERROR                                             FMC
*             ENDIF                                                      FMC
*           ELSE                                                         FMC
*             IF PARITY ERROR BIT IS CLEAR, THEN                         FMC
*               REPORT ERROR                                             FMC
*             ENDIF                                                      FMC
*           ENDIF                                                        FMC
*         ENDO                                                           FMC
/                                                                        FMC
*         ENTRY-NO SPECIAL ENTRY CONDITIONS.                             FMC
*                                                                        FMC
*         EXIT-NO SPECIAL EXIT CONDITIONS.                               FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-                                         FMC
*         FMC010 - REPORT UNEXPECTED ERRORS 
*         FMC08A - REPORT EXPECTED ERRORS                                FMC
*         FMC08B - PARITY CHECKER I FOR 800 SERIES
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         B0 - TEST NUMBER                                               FMC
*         B1 - LOOP COUNT                                                FMC
*         B2 - DATA PATTERN INDEX                                        FMC
*         B3 - ERROR COUNT                                               FMC
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES             FMC
*         B5 - BIT INDEX                                                 FMC
*         B6 - TEMPORARY STORAGE                                         FMC
*         B7 - BIT COUNTER                                               FMC
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         ES, EC, EM, EA - STANDARD USAGE                                FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         OB(0) - OB(501)  ONE SECTOR OUTPUT BUFFER                      FMC
*         OB(504) - FLAG BITS                                            FMC
*           FLAG1 - EXPECTED (SET)/UNEXPECTED (CLEAR)                    FMC
*                   ERROR FLAG BIT                                       FMC
*           FLAG2 - SET FOR ODD NUMBER OF BITS IN WORD                   FMC
*           FLAG3 - SET FOR EVEN NUMBER OF BITS IN WORD                  FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT FMC08 - PARITY CHECKER TEST I                                  FMC
2  FORMAT FMC08 - LC=*DECD, EC=*DECD
4  FORMAT FMC08 ERROR(S) = *DECD
5  FORMAT -PAUSE- OPERATOR INTERVENTION INSTRUCTION.
6  FORMAT VERIFY THAT 17X AND 7155 PARITY SWITCHES ARE ON,               FMC
7  FORMAT STOP PROGRAMS USING CHANNELS, AND TYPE GO.                     FMC
11 FORMAT RESTORE 17X AND 7155 CHANNEL PARITY SWITCHES TO                FMC
12 FORMAT THEIR DESIRED POSITIONS, START THE PROGRAMS WHICH              FMC
13 FORMAT WERE PREVIOUSLY STOPPED, AND TYPE GO.                          FMC
*                                                                        FMC
/         FLAG EQUATES                                                   FMC
*                                                                        FMC
   EQUATE FLAG TO 504                                                    FMC
   EQUATE FLAG0S TO 0001, FLAG0C TO 7776                                 FMC
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC
   EQUATE FLAG2S TO 0004, FLAG2C TO 7773                                 FMC
   EQUATE FLAG3S TO 0010, FLAG3C TO 7767                                 FMC
*                                                                        FMC
*         FUNCTION CODE EQUATES                                          FMC
*                                                                        FMC
   EQUATE DSTAT20 TO 0023 
   EQUATE OPCOM TO 0010      *CLEAR COUPLER CONNECT 
   EQUATE BMR TO 0043 
   EQUATE BMW TO 0044                                                    FMC
   EQUATE CGS TO 0012                                                    FMC
   EQUATE IPCS TO 0052                                                   FMC
*                                                                        FMC
*         MISCELLANEOUS EQUATES                                          FMC
*                                                                        FMC
   EQUATE NPAT TO 6          *NUMBER OF DATA PATTERNS 
   EQUATE DOPIN TO 0010      *DISABLE OPERATOR INTERVENTION              FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
20 MSG 1 TO DISPLAY, PRINT
   B0=150                          *TEST NUMBER 68 HEX                   FMC1499
   B9 = 08D                  *MODULE NUMBER 08D 
   IF (P8.AND.2000B.NE.2000B) EXIT TO 08B 
   IF (P5.AND.DOPIN.EQ.0) GOTO 21                                        FMC
   IF (ES.AND.RM.EQ.0) EXIT                                              FMC
   EXIT TO 981                                                           FMC
*                                                                        FMC
*         VERIFY THAT TEST IS RUNNING ON A CYBER 17X                     FMC
*                                                                        FMC
21 CHANNEL PE STATUS TO B1, ABT 22                                       FMC
   GOTO 23                                                               FMC
22 ERROR 3/3, GOTO 70 
*                                                                        FMC
*        INITIALIZE.                                                     FMC
*                                                                        FMC
23 B1 = 0                    *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX                         FMC
   B3=0                      *ERROR COUNT                                FMC
*                                                                        FMC
*         ISSUE OPERATOR INTERVENTION INSTRUCTION.                       FMC
*                                                                        FMC
   MSG 6 TO LINE 14                                                      FMC
   MSG 7 TO LINE 15                                                      FMC
   PICTURE
   MSG 5 TO DISPLAY, PRINT
   PAUSE                                                                 FMC
   BLANK                                                                 FMC
   MSG 1 TO DISPLAY, PRINT
*                                                                        FMC
24 IF(B2.EQ.0)DUP 0000B TO OB FOR 502B   0000 PATTERN 
   IF(B2.EQ.1)DUP 7777B TO OB FOR 502B   7777 PATTERN 
   IF(B2.EQ.2)DUP 2525B TO OB FOR 502B   2525 PATTERN 
   IF(B2.EQ.3)DUP 5252B TO OB FOR 502B   5252 PATTERN 
   IF(B2.EQ.4)DUP 1111B TO OB FOR 502B   1111 PATTERN 
   IF(B2.EQ.5)DUP 2222B TO OB FOR 502B   2222 PATTERN 
   IF(B2.EQ.6)DUP 4444B TO OB FOR 502B   4444 PATTERN 
*                                                                        FMC
*         DETERMINE IF EVEN AND/OR ODD PARITY BYTES ARE IN               FMC
*         THE BUFFER.                                                    FMC
*                                                                        FMC
   B4=0                                                                  FMC
25 B5=0                                                                  FMC
   B7=0                      *CLEAR BIT COUNTER 
   OB(FLAG)=0                *CLEAR EXPECTED STATUS FLAG
26 B6=1.LS.B5.AND.OB(B4)                                                 FMC
   B7=B6.RS.B5+B7                                                        FMC
   GOTO 26 WHILE (B5+1.LT.12D)                                           FMC
   IF (B7.AND.1.EQ.0) GOTO 27                                            FMC
   OB(FLAG)=OB(FLAG).OR.FLAG3S  *ODD PARITY                              FMC
   GOTO 40
27 OB(FLAG)=OB(FLAG).OR.FLAG2S  *EVEN PARITY                             FMC
*                                                                        FMC
*        PERFORM PARITY CHECKER TEST I.                                  FMC
*                                                                        FMC
40 B1=B1+1                                                               FMC
   RES, ABT 70                                                           FMC
   FUNC BMW, ABT 70                                                      FMC
   FZCP, ON, ABT 70                                                      FMC
   OUTB 502 WORDS FROM OB, ABT 65 
   FZCP, OFF, ABT 70                                                     FMC
   FUNC CGS, ABT 70                                                      FMC
   STATUS 1 WORDS TO SB(0), ABT 70                                       FMC
*                                                                        FMC
*         CHECK PARITY ERROR BIT                                         FMC
*                                                                        FMC
   FUNC DSTAT20, ABT 70      *READ DETAILED STATUS
   STATUS 20D WORDS TO SB(1), ABT 70
   IF (OB(FLAG).AND.FLAG3S.NE.0) GOTO 51
   IF (SB(0).EQ.0) GOTO 50   *NO P.E. MSG 
   IF (SB(20).AND.100.EQ.0) GOTO 50   *NO P.E. MSG
   GOTO 52
50 ERROR 3/1 GOTO 70         *NO P.E. MSG 
51 IF (SB(0).EQ.0) GOTO 52
   IF (SB(20).AND.100.NE.0) ERROR 3/2 GOTO 70  *P.E. MSG
* 
*         PERFORM INPUT DATA PARITY CHECK 
* 
52 FUNC BMR, ABT 70          *BUFFER MEMORY READ FUNCTION 
   IN 502 WORDS TO IB, ABT 70 
   CHANNEL PE STATUS TO B10, ABT 22 
   IF (B10.NE.0) ERROR 3/4, GOTO 70  *INPUT P.E. MSG
*                                                                        FMC
*        FINALIZE.                                                       FMC
*                                                                        FMC
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP               FMC
63 FUNC OPCOM, ABT 64        *CLEAR COUPLER CONNECT 
64 MSG 11 TO LINE 14         *ISSUE OPERATOR INSTRUCTIONS 
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16                                                     FMC
   PICTURE
   MSG 5 TO DISPLAY, PRINT
   PAUSE                                                                 FMC
   BLANK                                                                 FMC
*                                                                        FMC
   IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT                             *TERMINATE
65 FZCP, OFF, ABT 70         *CLEAR ZERO PARITY 
*                                                                        FMC
*        PROCESS UNEXPECTED ERRORS.                                      FMC
*                                                                        FMC
70 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
*                                                                        FMC
*        CALL APPROPRIATE DISPLAY SUBMODULE.                             FMC
*                                                                        FMC
74 IF(EC.LT.4000B) CALL 08A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 010  *UNEXPECTED ERROR DISPLAY
*                                                                        FMC
75 IF (ES.AND.RC.NE.0) GOTO 40                                           FMC
   RES, ABT 63
   GOTO 63                   *GOTO INTERVENTION MSG 
*                                                                        FMC
/        TERMINATE.                                                      FMC
*                                                                        FMC
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC08A,6000(05,07,16),LOCK
*   5.2.7.1 FMC08A - REPORT EXPECTED ERRORS 
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-
*         FMC985 - DISPLAY GENERAL AND DETAILED STATUS. 
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC08.                                                 FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC08.                                                 FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC08 - PARITY CHECKER TEST I                                  FMC
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC*D - LINE *OCT - ERROR NUMBER *H*HE
5  FORMAT FMC09 - PARITY CHECKER TEST II
7  FORMAT AND A16 
*                                                                        FMC
/        ERROR NUMBER 68001/68005 HEX 
*                                                                        FMC
10 FORMAT PARITY ERROR ON CURRENT WORD NOT DETECTED.                     FMC
11 FORMAT REPLACE CARD A08.                                              FMC
12 FORMAT                                                                FMC
13 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 68002/68006 HEX 
*                                                                        FMC
14 FORMAT PARITY ERROR ON CURRENT WORD DETECTED.                         FMC
15 FORMAT REPLACE CARD A08.                                              FMC
16 FORMAT                                                                FMC
17 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 68003/68007 HEX 
*                                                                        FMC
20 FORMAT CHANNEL PARITY ERROR STATUS RETRIEVAL FAILED.                  FMC
21 FORMAT DO NOT ATTEMPT TO RUN THIS MODULE ON ANY MACHINES              FMC
22 FORMAT OTHER THAN A CYBER 17X, SINCE A STATUS AND                     FMC
23 FORMAT CONTROL REGISTER IS REQUIRED.                                  FMC
* 
/         ERROR NUMBER 68004/68008 HEX
* 
24 FORMAT INPUT CHANNEL PARITY ERROR OCCURRED.
25 FORMAT SUCCESSIVELY REPLACE THE R/T CARD (A01 FOR ACCESS 
26 FORMAT A, A02 FOR B, A03 FOR C, OR A04 FOR D), 
27 FORMAT B20,AND A27.
*                                                                        FMC
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC*DA - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   IF (B9.EQ.8D) MSG 2 TO LINE 2
   IF (B9.EQ.9D) MSG 5 TO LINE 2
   MSG 3 TO LINE 3                                                       FMC
   MSG 4(B9,EA,B0,EC) TO LINE 5 
/                                                                        FMC
   IF (B0.NE.150) GOTO 45                                                FMC
   IF (EC.EQ.0) GOTO 45                                                  FMC
   IF(EC.GT.8) GOTO 45
*                                                                        FMC
/        ERROR NUMBER 68001/68005 HEX 
*                                                                        FMC
40 IF (EC.EQ.1) GOTO 50 
   IF (EC.NE.5) GOTO 41 
50 MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 985
   MSG 11 TO LINE 14                                                     FMC
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   EXIT TO 985
*                                                                        FMC
/        ERROR NUMBER 68002/68006 HEX 
*                                                                        FMC
41 IF (EC.EQ.2) GOTO 51 
   IF (EC.NE.6) GOTO 42 
51 MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 985
   MSG 15 TO LINE 14                                                     FMC
   MSG 16 TO LINE 15                                                     FMC
   MSG 17 TO LINE 16                                                     FMC
   EXIT TO 985
*                                                                        FMC
/        ERROR NUMBER 68003/68007 HEX 
*                                                                        FMC
42 IF (EC.EQ.3) GOTO 52 
   IF (EC.NE.7) GOTO 43 
52 MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 21 TO LINE 14                                                     FMC
   MSG 22 TO LINE 15                                                     FMC
   MSG 23 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
* 
/         ERROR NUMBER 68004/68008 HEX
* 
43 IF (EC.EQ.4) GOTO 53 
   IF (EC.NE.8) GOTO 45 
53 MSG 24 TO LINE 12
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 25 TO LINE 14
   MSG 26 TO LINE 15
   IF (EC.EQ.4) MSG 27 TO LINE 16 
   IF (EC.EQ.8) MSG 7 TO LINE 16
   GOTO 77
/                                                                        FMC
45 MSG 30 (B9,EA,B0,EC,EM) TO LINE 12 
/                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC08B,6000(05,07,16),LOCK
*   5.2.7.2 FMC08B - PARITY CHECKER TEST I FOR 800 SERIES 
* 
*         PURPOSE-
*         FMC08B USES A  BUFFER WRITE TO VERIFY  THE  OPERATION OF THE
*         *P.E.ON CURRENT WORD* PARITY CHECKER ON THE CYBER MUX BOARD.
* 
*         METHOD- 
*         IF 815 OR 825 NOT SELECTED (P8.NE.1XXX), THEN 
*           EXIT
*         ENDIF 
*         IF OPERATOR INTERVENTION IS DISABLED, THEN
*           EXIT
*         ENDIF 
*         IF THE MAINFRAME BEING USED IS NOT A CYBER 17X, THEN
*           REPORT ERROR
*         ENDIF 
*         DO FOR ALL DATA PATTERNS
*           FILL THE DATA BUFFER
*           ISSUE A BUFFER WRITE FUNCTION 
*           TURN ON FORCE ZERO PARITY 
*           OUTPUT
*           TURN OFF FORCE ZERO PARITY
*           GET GENERAL STATUS
*           IF GENERAL STATUS IS ZERO, THEN 
*             REPORT ERROR
*           ENDIF 
*           IF DETAIL STATUS WORD 16D BIT 6 IS ZERO, THEN 
*             REPORT ERROR
*           ENDIF 
*           GET CHANNEL STATUS
*           ISSUE A BUFFER WRITE FUNCTION 
*           OUTPUT
*           GET GENERAL STATUS
*           IF GENERAL STATUS IS NON ZERO, THEN 
*             REPORT ERROR
*           ENDIF 
*           GET CHANNEL STATUS
*         ENDO
* 
/ 
*         ENTRY-800 SERIES MUST BE SELECTED (P8=1XXX).
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS.
* 
*         SUBMODULES REFERENCED-
*         FMC010 - REPORT UNEXPECTED ERRORS 
*         FMC08A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - BIT INDEX
*         B6 - TEMPORARY STORAGE
*         B7 - BIT COUNTER
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         OB(0) - OB(501)  ONE SECTOR OF OUTPUT BUFFER
*         OB(504) - FLAG EXPECT PARITY ERROR (ZERO) NOT 
*                   EXPECT PARITY ERROR (NON-ZERO)
* 
*         KNOWN LIMITATIONS-
*           ADD A SECTION TO SEND FUNCTIONS WITH ZERO 
*           FORCED. 
* 
* 
1  FORMAT FMC08 - PARITY CHECKER TEST I 
2  FORMAT FMC08 - LC=*DECD, EC=*DECD
4  FORMAT FMC08 ERROR(S) = *DECD
5  FORMAT -PAUSE- OPERATOR INTERVENTION INSTRUCTION.
6  FORMAT VERIFY THAT 17X AND 7155 PARITY SWITCHES ARE ON,
7  FORMAT STOP PROGRAMS USING CHANNELS, AND TYPE GO.
11 FORMAT RESTORE 17X AND 7155 CHANNEL PARITY SWITCHES TO 
12 FORMAT THEIR DESIRED POSITIONS, START THE PROGRAMS WHICH 
13 FORMAT WERE PREVIOUSLY STOPPED, AND TYPE GO. 
* 
*         FLAG EQUATES
* 
   EQUATE FLAG TO 504 
* 
*         FUNCTION CODE EQUATES 
* 
   EQUATE DSTAT20 TO 23, IPCS TO 52, CGS TO 12
   EQUATE BMR TO 43, BMW TO 44, OPCOM TO 10 
* 
*         MISCELLANEOUS EQUATES 
* 
   EQUATE NPAT TO 6          *NUMBER OF DATA PATTERNS 
   EQUATE DOPIN TO 0010      *DISABLE OPERATOR INTERVENTION 
* 
* 
* 
20 IF (P8.AND.1000B.EQ.0) EXIT
   IF (P5.AND.DOPIN.EQ.0) GOTO 21 
   IF (ES.AND.RM.EQ.0) EXIT 
   EXIT TO 981
* 
*         VERIFY THAT TEST IS RUNNING ON A CYBER 17X
* 
21 CHANNEL PE STATUS TO B1, ABT 22
   GOTO 23
22 ERROR 3/3, GOTO 70 
* 
*        INITIALIZE.
* 
23 B1 = 0                    *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
* 
*         ISSUE OPERATOR INTERVENTION INSTRUCTION.
* 
   MSG 6 TO LINE 14 
   MSG 7 TO LINE 15 
   PICTURE
   MSG 5 TO DISPLAY, PRINT
   PAUSE
   BLANK
   MSG 1 TO DISPLAY, PRINT
* 
24 IF(B2.EQ.0)DUP 0000B TO OB FOR 502B   0000 PATTERN 
   IF(B2.EQ.1)DUP 7777B TO OB FOR 502B   7777 PATTERN 
   IF(B2.EQ.2)DUP 2525B TO OB FOR 502B   2525 PATTERN 
   IF(B2.EQ.3)DUP 5252B TO OB FOR 502B   5252 PATTERN 
   IF(B2.EQ.4)DUP 1111B TO OB FOR 502B   1111 PATTERN 
   IF(B2.EQ.5)DUP 2222B TO OB FOR 502B   2222 PATTERN 
   IF(B2.EQ.6)DUP 4444B TO OB FOR 502B   4444 PATTERN 
* 
*         SET EXPECT PARITY ERROR FLAG. 
* 
   B4=0 
25 B5=0 
   B7=0                      *CLEAR BIT COUNTER 
27 OB(FLAG)=0                *PARITY ERROR EXPECTED 
* 
*        PERFORM PARITY CHECKER TEST I. 
* 
40 B1=B1+1
   RES, ABT 70
   FUNC BMW, ABT 70 
   IF (OB(FLAG).NE.0) GOTO 42        *DO NOT INVERT PARITY
   FZCP, ON, ABT 70 
42 OUT 502 WORDS FROM OB, ABT 65    *DATA 
   FZCP, OFF, ABT 70
   FUNC CGS, ABT 70 
   STATUS 1 WORDS TO SB(0), ABT 70
* 
*         CHECK PARITY ERROR BIT
* 
   FUNC DSTAT20, ABT 70      *READ DETAILED STATUS
   STATUS 20D WORDS TO SB(1), ABT 70
   IF (OB(FLAG).NE.0) GOTO 51 
   IF (SB(0).EQ.0) ERROR 3/1 GOTO 70  *NO P.E. MSG
   IF (SB(20).AND.100.EQ.0) ERROR 3/1 GOTO 70  *NO P.E. MSG 
   GOTO 52
51 IF (SB(0).EQ.0) GOTO 52
   IF (SB(20).AND.100.NE.0) ERROR 3/2 GOTO 70  *P.E. MSG
* 
*         PERFORM INPUT DATA PARITY CHECK 
* 
52 FUNC BMR, ABT 70        *BUFFER MEMORY READ FUNCTION 
   IN 502 WORDS TO IB, ABT 70 
   CHANNEL PE STATUS TO B10, ABT 22 
   IF (B10.NE.0) ERROR 3/4, GOTO 70  *INPUT P.E. MSG
* 
*        FINALIZE.
* 
   IF (OB(FLAG).NE.0) GOTO 60    *IF NOT SECOND PASS
   OB(FLAG)=1                    *SET SECOND PASS 
   GOTO 40
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP
63 FUNC OPCOM, ABT 64        *CLEAR COUPLER CONNECT 
64 MSG 11 TO LINE 14         *ISSUE OPERATOR INSTRUCTIONS 
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   PICTURE
   MSG 5 TO DISPLAY, PRINT
   PAUSE
   BLANK
* 
   GOTO 77                   *TERMINATE 
65 FZCP, OFF, ABT 70         *CLEAR ZERO PARITY 
* 
*        PROCESS UNEXPECTED ERRORS. 
* 
70 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
*        CALL APPROPRIATE DISPLAY SUBMODULE.
* 
74 IF(EC.LT.4000B) CALL 08A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 010  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
   RES, ABT 63
   GOTO 63                   *GOTO INTERVENTION MSG 
* 
*        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC09,6000(05,07,16),LOCK 
**  5.2.8 FMC09 - PARITY CHECKER TEST II                                 FMC
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC09 USES A BLOCK TRANSFER BUFFER WRITE TO VERIFY THE         FMC015 
*         OPERATION OF THE *DATA P.E.* PARITY CHECKER.                   FMC015 
*                                                                        FMC
*         METHOD-                                                        FMC
*         IF 865/875/700 SELECTED (P8=2XXX), THEN 
*           CONTINUE
*         ELSE
*           EXIT TO FMC09A
*         ENDIF 
*         IF OPERATOR INTERVENTION IS DISABLED, THEN                     FMC
*           EXIT                                                         FMC
*         ENDIF                                                          FMC
*         IF THE MAINFRAME BEING USED IS NOT A CYBER 17X, THEN           FMC
*           REPORT ERROR                                                 FMC
*         ENDIF                                                          FMC
*         DO FOR ALL DATA PATTERNS                                       FMC
*           FILL THE DATA BUFFER                                         FMC
*           IF ANY OF THE WORDS IN THE BUFFER HAVE AN EVEN NUMBER OF     FMC015 
*             BITS, THEN SET FLAG 2                                      FMC015 
*           ENDIF                                                        FMC
*           IF ANY OF THE WORDS IN THE BUFFER HAVE AN ODD NUMBER OF      FMC015 
*             BITS, THEN SET FLAG 3                                      FMC015 
*           ENDIF                                                        FMC
*           ISSUE A BUFFER WRITE FUNCTION                                FMC
*           TURN ON FORCE ZERO PARITY                                    FMC
*           OUTPUT                                                       FMC
*           TURN OFF FORCE ZERO PARITY                                   FMC
*           GET GENERAL STATUS                                           FMC
*           IF GENERAL STATUS IS NON ZERO, THEN                          FMC
*             REPORT ERROR                                               FMC
*           ENDIF                                                        FMC
*           GET CHANNEL STATUS                                           FMC
*           IF FLAG 3 IS SET, THEN                                       FMC
*             IF PARITY ERROR BIT IS SET, THEN                           FMC
*               REPORT ERROR                                             FMC
*             ENDIF                                                      FMC
*           ELSE                                                         FMC
*             IF PARITY ERROR BIT IS CLEAR, THEN                         FMC
*               REPORT ERROR                                             FMC
*             ENDIF                                                      FMC
*           ENDIF                                                        FMC
*         ENDO                                                           FMC
* 
/ 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS.                             FMC
*                                                                        FMC
*         EXIT-NO SPECIAL EXIT CONDITIONS.                               FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-                                         FMC
*         FMC010 - REPORT UNEXPECTED ERRORS 
*         FMC08A - REPORT EXPECTED ERRORS 
*         FMC09A - PARITY CHECKER II FOR 800 SERIES 
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         B0 - TEST NUMBER                                               FMC
*         B1 - LOOP COUNT                                                FMC
*         B2 - DATA PATTERN INDEX                                        FMC
*         B3 - ERROR COUNT                                               FMC
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES             FMC
*         B5 - BIT INDEX                                                 FMC
*         B6 - TEMPORARY STORAGE                                         FMC
*         B7 - BIT COUNTER                                               FMC
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         ES, EC, EM, EA - STANDARD USAGE                                FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         OB(0) - OB(501)  ONE SECTOR OF OUTPUT BUFFER                   FMC
*         OB(504) - FLAG BITS                                            FMC
*           FLAG1 - EXPECTED (SET)/UNEXPECTED (CLEAR)                    FMC
*                   ERROR FLAG BIT                                       FMC
*           FLAG2 - SET FOR ODD NUMBER OF BITS IN WORD                   FMC
*           FLAG3 - SET FOR EVEN NUMBER OF BITS IN WORD                  FMC
*                                                                        FMC
*         KNOWN LIMITATIONS-                                             FMC
*           ADD A SECTION TO SEND FUNCTIONS WITH ZERO                    FMC
*           FORCED.                                                      FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT FMC09 - PARITY CHECKER TEST II                                 FMC
2  FORMAT FMC09 - LC=*DECD, EC=*DECD
4  FORMAT FMC09 ERROR(S) = *DECD
5  FORMAT -PAUSE- OPERATOR INTERVENTION INSTRUCTION.
6  FORMAT VERIFY THAT 17X AND 7155 PARITY SWITCHES ARE ON,               FMC
7  FORMAT STOP PROGRAMS USING CHANNELS, AND TYPE GO.                     FMC
11 FORMAT RESTORE 17X AND 7155 CHANNEL PARITY SWITCHES TO                FMC
12 FORMAT THEIR DESIRED POSITIONS, START THE PROGRAMS WHICH              FMC
13 FORMAT WERE PREVIOUSLY STOPPED, AND TYPE GO.                          FMC
*                                                                        FMC
*         FLAG EQUATES                                                   FMC
*                                                                        FMC
   EQUATE FLAG TO 504                                                    FMC
   EQUATE FLAG0S TO 0001, FLAG0C TO 7776                                 FMC
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC
   EQUATE FLAG2S TO 0004, FLAG2C TO 7773                                 FMC
   EQUATE FLAG3S TO 0010, FLAG3C TO 7767                                 FMC
*                                                                        FMC
*         FUNCTION CODE EQUATES                                          FMC
*                                                                        FMC
   EQUATE DSTAT20 TO 23, IPCS TO 52, CGS TO 12
   EQUATE BTBMR TO 32, BTBMW TO 33, OPCOM TO 10 
*                                                                        FMC
*         MISCELLANEOUS EQUATES                                          FMC
*                                                                        FMC
   EQUATE NPAT TO 6          *NUMBER OF DATA PATTERNS 
   EQUATE DOPIN TO 0010      *DISABLE OPERATOR INTERVENTION 
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
20 MSG 1 TO DISPLAY, PRINT
   B0=150                          *TEST NUMBER 68 HEX                   FMC1499
   B9 = 09D                  *MODULE NUMBER 09D 
   IF (P8.AND.2000B.NE.2000B) EXIT TO 09A 
   IF (P5.AND.DOPIN.EQ.0) GOTO 21                                        FMC
   IF (ES.AND.RM.EQ.0) EXIT                                              FMC
   EXIT TO 981                                                           FMC
*                                                                        FMC
*         VERIFY THAT TEST IS RUNNING ON A CYBER 17X                     FMC
*                                                                        FMC
21 CHANNEL PE STATUS TO B1, ABT 22                                       FMC
   GOTO 23                                                               FMC
22 ERROR 3/7, GOTO 70 
*                                                                        FMC
*        INITIALIZE.                                                     FMC
*                                                                        FMC
23 B1 = 0                    *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX                         FMC
   B3=0                      *ERROR COUNT                                FMC
*                                                                        FMC
*         ISSUE OPERATOR INTERVENTION INSTRUCTION.                       FMC
*                                                                        FMC
   MSG 6 TO LINE 14                                                      FMC
   MSG 7 TO LINE 15                                                      FMC
   PICTURE
   MSG 5 TO DISPLAY, PRINT
   PAUSE                                                                 FMC
   BLANK                                                                 FMC
   MSG 1 TO DISPLAY, PRINT
*                                                                        FMC
24 IF(B2.EQ.0)DUP 0000B TO OB FOR 502B   0000 PATTERN 
   IF(B2.EQ.1)DUP 7777B TO OB FOR 502B   7777 PATTERN 
   IF(B2.EQ.2)DUP 2525B TO OB FOR 502B   2525 PATTERN 
   IF(B2.EQ.3)DUP 5252B TO OB FOR 502B   5252 PATTERN 
   IF(B2.EQ.4)DUP 1111B TO OB FOR 502B   1111 PATTERN 
   IF(B2.EQ.5)DUP 2222B TO OB FOR 502B   2222 PATTERN 
   IF(B2.EQ.6)DUP 4444B TO OB FOR 502B   4444 PATTERN 
*                                                                        FMC
*         DETERMINE IF EVEN AND/OR ODD PARITY BYTES ARE IN               FMC
*         THE BUFFER.                                                    FMC
*                                                                        FMC
   B4=0                                                                  FMC
25 B5=0                                                                  FMC
   B7=0                      *CLEAR BIT COUNTER 
   OB(FLAG)=0                *CLEAR EXPECTED STATUS FLAG
26 B6=1.LS.B5.AND.OB(B4)                                                 FMC
   B7=B6.RS.B5+B7                                                        FMC
   GOTO 26 WHILE (B5+1.LT.12D)                                           FMC
   IF (B7.AND.1.EQ.0) GOTO 27                                            FMC
   OB(FLAG)=OB(FLAG).OR.FLAG3S  *ODD PARITY                              FMC
   GOTO 40
27 OB(FLAG)=OB(FLAG).OR.FLAG2S  *EVEN PARITY                             FMC
*                                                                        FMC
*        PERFORM PARITY CHECKER TEST II.                                 FMC
*                                                                        FMC
40 B1=B1+1                                                               FMC
   RES, ABT 70                                                           FMC
   FUNC BTBMW, ABT 70                                                    FMC
   FZCP, ON, ABT 70                                                      FMC
   OUTB 502 WORDS FROM OB, ABT 65    DATA WITH ZERO PARITY
   FZCP, OFF, ABT 70                                                     FMC
   FUNC CGS, ABT 70                                                      FMC
   STATUS 1 WORDS TO SB(0), ABT 70                                       FMC
*                                                                        FMC
*         CHECK PARITY ERROR BIT                                         FMC
*                                                                        FMC
   FUNC DSTAT20, ABT 70      *READ DETAILED STATUS
   STATUS 20D WORDS TO SB(1), ABT 70
   IF (OB(FLAG).AND.FLAG3S.NE.0) GOTO 51
   IF (SB(0).EQ.0) GOTO 50   *NO P.E. MSG 
   IF (SB(20).AND.100.EQ.0) GOTO 50   *NO P.E. MSG
   GOTO 52
50 ERROR 3/1 GOTO 70         *NO P.E. MSG 
51 IF (SB(0).EQ.0) GOTO 52
   IF (SB(20).AND.100.NE.0) ERROR 3/6 GOTO 70  *P.E. MSG
* 
*         PERFORM INPUT DATA PARITY CHECK 
* 
52 FUNC BTBMR, ABT 70        *BUFFER MEMORY READ FUNCTION 
   IN 502 WORDS TO IB, ABT 70 
   CHANNEL PE STATUS TO B10, ABT 22 
   IF (B10.NE.0) ERROR 3/8, GOTO 70  *INPUT P.E. MSG
*                                                                        FMC
*        FINALIZE.                                                       FMC
*                                                                        FMC
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP               FMC
63 FUNC OPCOM, ABT 64        *CLEAR COUPLER CONNECT 
64 MSG 11 TO LINE 14         *ISSUE OPERATOR INSTRUCTIONS 
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   PICTURE
   MSG 5 TO DISPLAY, PRINT
   PAUSE                                                                 FMC
   BLANK                                                                 FMC
*                                                                        FMC
   IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT                             *TERMINATE
65 FZCP, OFF, ABT 70         *CLEAR ZERO PARITY 
*                                                                        FMC
*        PROCESS UNEXPECTED ERRORS.                                      FMC
*                                                                        FMC
70 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
*                                                                        FMC
*        CALL APPROPRIATE DISPLAY SUBMODULE.                             FMC
*                                                                        FMC
74 IF(EC.LT.4000B) CALL 08A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 010  *UNEXPECTED ERROR DISPLAY
*                                                                        FMC
75 IF (ES.AND.RC.NE.0) GOTO 40                                           FMC
   RES, ABT 63
   GOTO 63                   *GOTO INTERVENTION MSG 
*                                                                        FMC
*        TERMINATE. 
*                                                                        FMC
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC09A,6000(05,07,16),LOCK
*   5.2.8.1 FMC09A - PARITY CHECKER TEST II FOR 800 SERIES
* 
*         PURPOSE-
*         FMC09A USES A BLOCK TRANSFER BUFFER WRITE TO VERIFY THE 
*         OPERATION OF THE *DATA P.E.* PARITY CHECKER.
* 
*         METHOD- 
*         IF 815 OR 825 NOT SELECTED (P8.NE.1XXX), THEN 
*           EXIT
*         ENDIF 
*         IF OPERATOR INTERVENTION IS DISABLED, THEN
*           EXIT
*         ENDIF 
*         IF THE MAINFRAME BEING USED IS NOT A CYBER 17X, THEN
*           REPORT ERROR
*         ENDIF 
*         DO FOR ALL DATA PATTERNS
*           FILL THE DATA BUFFER
*           ISSUE A BUFFER WRITE FUNCTION 
*           TURN ON FORCE ZERO PARITY 
*           OUTPUT
*           TURN OFF FORCE ZERO PARITY
*           GET GENERAL STATUS
*           IF GENERAL STATUS IS ZERO, THEN 
*             REPORT ERROR
*           ENDIF 
*           IF DETAIL STATUS WORD 16D BIT 6 IS ZERO, THEN 
*             REPORT ERROR
*           ENDIF 
*           GET CHANNEL STATUS
*           ISSUE A BUFFER WRITE FUNCTION 
*           OUTPUT
*           GET GENERAL STATUS
*           IF GENERAL STATUS IS NON ZERO, THEN 
*             REPORT ERROR
*           ENDIF 
*           GET CHANNEL STATUS
*         ENDO
* 
/ 
*         ENTRY-800 SERIES MUST BE SELECTED (P8=1XXX).
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS.
* 
*         SUBMODULES REFERENCED-
*         FMC010 - REPORT UNEXPECTED ERRORS 
*         FMC08A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - BIT INDEX
*         B6 - TEMPORARY STORAGE
*         B7 - BIT COUNTER
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         OB(0) - OB(501)  ONE SECTOR OF OUTPUT BUFFER
*         OB(504) - FLAG EXPECT PARITY ERROR (ZERO) NOT 
*                   EXPECT PARITY ERROR (NON-ZERO)
* 
*         KNOWN LIMITATIONS-
*           ADD A SECTION TO SEND FUNCTIONS WITH ZERO 
*           FORCED. 
* 
* 
1  FORMAT FMC09 - PARITY CHECKER TEST II
2  FORMAT FMC09 - LC=*DECD, EC=*DECD
4  FORMAT FMC09 ERROR(S) = *DECD
5  FORMAT -PAUSE- OPERATOR INTERVENTION INSTRUCTION.
6  FORMAT VERIFY THAT 17X AND 7155 PARITY SWITCHES ARE ON,
7  FORMAT STOP PROGRAMS USING CHANNELS, AND TYPE GO.
11 FORMAT RESTORE 17X AND 7155 CHANNEL PARITY SWITCHES TO 
12 FORMAT THEIR DESIRED POSITIONS, START THE PROGRAMS WHICH 
13 FORMAT WERE PREVIOUSLY STOPPED, AND TYPE GO. 
* 
*         FLAG EQUATES
* 
   EQUATE FLAG TO 504 
* 
*         FUNCTION CODE EQUATES 
* 
   EQUATE DSTAT20 TO 23, IPCS TO 52, CGS TO 12
   EQUATE BTBMR TO 32, BTBMW TO 33, OPCOM TO 10 
* 
*         MISCELLANEOUS EQUATES 
* 
   EQUATE NPAT TO 6          *NUMBER OF DATA PATTERNS 
   EQUATE DOPIN TO 0010      *DISABLE OPERATOR INTERVENTION 
* 
* 
* 
20 IF (P8.AND.1000B.EQ.0) EXIT
   IF (P5.AND.DOPIN.EQ.0) GOTO 21 
   IF (ES.AND.RM.EQ.0) EXIT 
   EXIT TO 981
* 
*         VERIFY THAT TEST IS RUNNING ON A CYBER 17X
* 
21 CHANNEL PE STATUS TO B1, ABT 22
   GOTO 23
22 ERROR 3/7, GOTO 70 
* 
*        INITIALIZE.
* 
23 B1 = 0                    *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
* 
*         ISSUE OPERATOR INTERVENTION INSTRUCTION.
* 
   MSG 6 TO LINE 14 
   MSG 7 TO LINE 15 
   PICTURE
   MSG 5 TO DISPLAY, PRINT
   PAUSE
   BLANK
   MSG 1 TO DISPLAY, PRINT
* 
24 IF(B2.EQ.0)DUP 0000B TO OB FOR 502B   0000 PATTERN 
   IF(B2.EQ.1)DUP 7777B TO OB FOR 502B   7777 PATTERN 
   IF(B2.EQ.2)DUP 2525B TO OB FOR 502B   2525 PATTERN 
   IF(B2.EQ.3)DUP 5252B TO OB FOR 502B   5252 PATTERN 
   IF(B2.EQ.4)DUP 1111B TO OB FOR 502B   1111 PATTERN 
   IF(B2.EQ.5)DUP 2222B TO OB FOR 502B   2222 PATTERN 
   IF(B2.EQ.6)DUP 4444B TO OB FOR 502B   4444 PATTERN 
* 
*         SET PARITY ERROR EXPECTED FLAG. 
* 
   B4=0 
25 B5=0 
   B7=0                      *CLEAR BIT COUNTER 
27 OB(FLAG)=0                *PARITY ERROR EXPECTED 
* 
*        PERFORM PARITY CHECKER TEST II.
* 
40 B1=B1+1
   RES, ABT 70
   FUNC BTBMW, ABT 70 
   IF (OB(FLAG).NE.0) GOTO 42        *DO NOT INVERT PARITY
   FZCP, ON, ABT 70 
42 OUT 502 WORDS FROM OB, ABT 65    *DATA 
   FZCP, OFF, ABT 70
   FUNC CGS, ABT 70 
   STATUS 1 WORDS TO SB(0), ABT 70
* 
*         CHECK PARITY ERROR BIT
* 
   FUNC DSTAT20, ABT 70      *READ DETAILED STATUS
   STATUS 20D WORDS TO SB(1), ABT 70
   IF (OB(FLAG).NE.0) GOTO 51 
   IF (SB(0).EQ.0) ERROR 3/5 GOTO 70  *NO P.E. MSG
   IF (SB(20).AND.100.EQ.0) ERROR 3/5 GOTO 70  *NO P.E. MSG 
   GOTO 52
51 IF (SB(0).EQ.0) GOTO 52
   IF (SB(20).AND.100.NE.0) ERROR 3/6 GOTO 70  *P.E. MSG
* 
*         PERFORM INPUT DATA PARITY CHECK 
* 
52 FUNC BTBMR, ABT 70        *BUFFER MEMORY READ FUNCTION 
   IN 502 WORDS TO IB, ABT 70 
   CHANNEL PE STATUS TO B10, ABT 22 
   IF (B10.NE.0) ERROR 3/8, GOTO 70  *INPUT P.E. MSG
* 
*        FINALIZE.
* 
   IF (OB(FLAG).NE.0) GOTO 60    *IF NOT SECOND PASS
   OB(FLAG)=1                    *SET SECOND PASS 
   GOTO 40
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP
63 FUNC OPCOM, ABT 64        *CLEAR COUPLER CONNECT 
64 MSG 11 TO LINE 14         *ISSUE OPERATOR INSTRUCTIONS 
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   PICTURE
   MSG 5 TO DISPLAY, PRINT
   PAUSE
   BLANK
* 
   GOTO 77                   *TERMINATE 
65 FZCP, OFF, ABT 70         *CLEAR ZERO PARITY 
* 
*        PROCESS UNEXPECTED ERRORS. 
* 
70 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
*        CALL APPROPRIATE DISPLAY SUBMODULE.
* 
74 IF(EC.LT.4000B) CALL 08A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 010  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
   RES, ABT 63
   GOTO 63                   *GOTO INTERVENTION MSG 
* 
*        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
*ENDIF
   MODULE FMC11,6000(05,07,16),LOCK 
** 5.2.9  FMC11 - UP/DOWN COUNTER TEST
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC11 VERIFIES THE ABILITY OF THE UP/DOWN COUNTER TO
*         RECEIVE, RETAIN, AND RETURN ASSORTED DATA PATTERNS. 
* 
*         METHOD- 
*         DO FOR ALL DATA PATTERNS
*           OUTPUT DATA PATTERN TO NOC 7
*           VERIFY THAT NOC 7 = DATA PATTERN
*           VERIFY THAT NIC 7 = DATA PATTERN
*         ENDO
/ 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS 
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS 
* 
*         SUBMODULES REFERENCED-
*         FMC010 - REPORT UNEXPECTED ERRORS 
*         FMC11A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         OB(0) - OB(4)  DATA PATTERN OUTPUT BUFFER 
*         OB(6)...       DATA PATTERNS
* 
* 
1  FORMAT FMC11 - UP/DOWN COUNTER TEST
2  FORMAT FMC11 - LC=*DECD, EC=*DECD
4  FORMAT FMC11 ERROR(S) = *DECD
5  FORMAT UPPER 8 BITS - E*OC A*OC D*OC 
6  FORMAT LOWER 8 BITS - E*OC A*OC D*OC 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         FUNCTION CODE EQUATES 
* 
   EQUATE OPCOM TO 0010      *CLEAR COUPLER CONNECT 
   EQUATE OPNC TO 0050
   EQUATE IPCS TO 0052
   EQUATE ENOC TO 0053
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE NPAT TO 10         *NUMBER OF DATA PATTERNS 
* 
/ 
* 
   DATA (OB(06),CON) 000,000
   DATA (OB(10),CON) 017,377
   DATA (OB(12),CON) 012,252
   DATA (OB(14),CON) 005,125
   DATA (OB(16),CON) 6,200,0
* 
/ 
* 
20 MSG 1 TO DISPLAY, PRINT
* 
/        INITIALIZE.
* 
21 B0=151                    *TEST NUMBER 69 HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B9 = 11D                  *MODULE NUMBER 11D 
   OB(0) = 7                 *UP/DOWN NOC NUMBER
* 
/        PERFORM UP/DOWN COUNTER TEST 
* 
40 B1=B1+1
   OB(1)=OB(B2+6)            *UPPER 8 BITS OF BIT COUNTER 
   OB(2)=OB(B2+7)            *LOWER 8 BITS OF BIT COUNTER 
   RES, ABT 70
   FUNC OPNC, ABT 70         *SET LOAD BIT (NOC 6/15) 
   ACN, ABT 70
   OUT 3 WORDS FROM OB(16), ABT 70
   FUNC OPNC, ABT 70         *WRITE UP/DOWN COUNTER 
   ACN, ABT 70
   OUT 3 WORDS FROM OB, ABT 70
46 FUNC ENOC, ABT 70         *ECHO NOC(S) 
   STATUS 32D WORDS TO SB(1), ABT 70
   B4=SB(17).XOR.OB(1).AND.17 
   B5=SB(20).XOR.OB(2).AND.377
   IF (B4.NE.0) GOTO 50 
   IF (B5.NE.0) ERROR 3/50, GOTO 67 
   GOTO 52
50 IF (B5.NE.0) ERROR 3/51, GOTO 67 
   ERROR 3/52, GOTO 67
52 FUNC IPCS, ABT 70         *STATUS INPUT CHANNELS 
   STATUS 32D WORDS TO SB(1), ABT 70
   B4=SB(17).XOR.OB(1).AND.17 
   B5=SB(20).XOR.OB(2).AND.377
   IF (B4.NE.0) GOTO 54 
   IF (B5.NE.0) ERROR 3/45, GOTO 67 
   GOTO 60
54 IF (B5.NE.0) ERROR 3/46, GOTO 67 
   ERROR 3/47, GOTO 67
* 
/        FINALIZE.
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 40 WHILE (B2+2.LT.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 76                       *TERMINATE 
* 
/        PROCESS EXPECTED ERRORS. 
* 
67 MSG 5 (OB(1),SB(17),B4) TO LINE 7
   MSG 6 (OB(2),SB(20),B5) TO LINE 10 
   B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/        PROCESS UNEXPECTED ERRORS. 
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/        CALL APPROPRIATE DISPLAY SUBMODULE.
* 
74 IF(EC.LT.4000B) CALL 11A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 010  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
   RES, ABT 77
* 
/        TERMINATE. 
* 
76 FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC11A,6000(05,07,16),LOCK
*   5.2.9.1 FMC11A - REPORT EXPECTED ERRORS 
* 
*         PURPOSE-
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-
*         FMC11B - PROCESS HIGHER ERROR NUMBERS.
*         FMC98L - DISPLAY CHANNEL STATUS.
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC11.
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC11.
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC11 - UP/DOWN COUNTER TEST
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC11 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 69025 HEX 
* 
10 FORMAT MISCOMPARE ON LOWER 8 BITS OF NIC 7.
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT A15 AND A19.
13 FORMAT 
* 
/        ERROR NUMBER 69026 HEX 
* 
14 FORMAT MISCOMPARE ON UPPER AND LOWER 8 BITS OF NIC 7.
15 FORMAT SUCCESSIVELY REPLACE CARDS
16 FORMAT R/T CARD(A01/A02/A03/A04),A16,A08,A15,AND A19.
17 FORMAT 
* 
/        ERROR NUMBER 69027 HEX 
* 
20 FORMAT MISCOMPARE ON UPPER 8 BITS OF NIC 7.
21 FORMAT SUCCESSIVELY REPLACE CARDS
22 FORMAT A15 AND A19.
23 FORMAT 
* 
/        ERROR NUMBER 69028 HEX 
* 
24 FORMAT MISCOMPARE ON LOWER 8 BITS OF ECHOED NOC 7. 
25 FORMAT SUCCESSIVELY REPLACE CARDS
26 FORMAT A19 AND A15.
27 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC11A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.151) GOTO 45 
   IF (EC.LT.45) GOTO 45
   IF (EC.GT.50) EXIT TO 11B
* 
/        ERROR NUMBER 69025 HEX 
* 
40 IF (EC.NE.45) GOTO 41
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98L
* 
/        ERROR NUMBER 69026 HEX 
* 
41 IF (EC.NE.46) GOTO 42
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98L
* 
/        ERROR NUMBER 69027 HEX 
* 
42 IF (EC.NE.47) GOTO 43
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 21 TO LINE 14
   MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98L
* 
/        ERROR NUMBER 69028 HEX 
* 
43 IF (EC.NE.50) GOTO 45
   MSG 24 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 25 TO LINE 14
   MSG 26 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98L
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC11B,6000(05,07,16),LOCK
*   5.2.9.2 FMC11B - REPORT EXPECTED ERRORS 
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC98L - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC11.
* 
*         BUFFERS USED- 
*         SAME AS FMC11.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC11 - UP/DOWN COUNTER TEST
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC11 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 69029 HEX 
* 
10 FORMAT MISCOMPARE ON BOTH UPPER AND LOWER 8 BITS OF
11 FORMAT ECHOED NOC 7. 
12 FORMAT SUCCESSIVELY REPLACE CARDS
13 FORMAT R/T CARD(A01/A02/A03/A04),A16,A08,A19,AND A15.
* 
/        ERROR NUMBER 6902A HEX 
* 
14 FORMAT MISCOMPARE ON UPPER 8 BITS OF ECHOED NOC 7. 
15 FORMAT SUCCESSIVELY REPLACE CARDS
16 FORMAT A19 AND A15.
17 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC11B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.151) GOTO 45 
   IF (EC.LT.51) GOTO 45
   IF (EC.GT.52) GOTO 45
* 
/        ERROR NUMBER 69029 HEX 
* 
40 IF (EC.NE.51) GOTO 41
   MSG 10 TO LINE 12
   MSG 11 TO LINE 13
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98L
* 
/        ERROR NUMBER 6902A HEX 
* 
41 IF (EC.NE.52) GOTO 45
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98L
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC13,6000(05,07,16),LOCK 
** 5.2.10 FMC13 - BUFFER MEM ADRS REGISTER TEST 
* 
*         PURPOSE-
*         FMC13 VERIFIES THE ABILITY OF THE BUFFER MEM ADRS REGISTER TO 
*         RECEIVE, RETAIN, AND RETURN ASSORTED DATA PATTERNS. 
* 
*         METHOD- 
*         DO FOR ALL DATA PATTERNS
*           DO FOR BOTH READ AND WRITE REGISTERS
*             OUTPUT DATA PATTERN TO NOC 6
*             VERIFY THAT NOC 6 = DATA PATTERN
*             VERIFY THAT NIC 6 = DATA PATTERN
*           ENDO
*         ENDO
/ 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS 
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS 
* 
*         SUBMODULES REFERENCED-
*         FMC010 - REPORT UNEXPECTED ERRORS 
*         FMC13A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B6 - WRITE/READ BUFF MEM ADRS REG INDEX 
*         B7 - TEMPORARY STORAGE
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         OB(0) - OB(4)  DATA PATTERN OUTPUT BUFFER 
*         OB(6)...       DATA PATTERNS
* 
* 
1  FORMAT FMC13 - BUFFER MEM ADRS REGISTER TEST 
2  FORMAT FMC13 - LC=*DECD, EC=*DECD
4  FORMAT FMC13 ERROR(S) = *DECD
5  FORMAT UPPER 8 BITS - E*OC A*OC D*OC 
6  FORMAT LOWER 8 BITS - E*OC A*OC D*OC 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         FUNCTION CODE EQUATES 
* 
   EQUATE OPCOM TO 0010      *CLEAR COUPLER CONNECT 
   EQUATE OPNC TO 0050
   EQUATE IPCS TO 0052
   EQUATE ENOC TO 0053
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE NPAT TO 10         *NUMBER OF DATA PATTERNS 
* 
/ 
* 
   DATA (OB(06),CON) 000,000
   DATA (OB(10),CON) 017,377
   DATA (OB(12),CON) 012,252
   DATA (OB(14),CON) 005,125
* 
/ 
* 
20 MSG 1 TO DISPLAY, PRINT
* 
/        INITIALIZE.
* 
21 B0=151                    *TEST NUMBER 69 HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B9 = 13D                  *MODULE NUMBER 13D 
   OB(0) = 6                 *BUFF MEM ADRS REG NOC NO. 
30 B6 = 5                    *INIT. REGISTER SELECT 
* 
/        PERFORM BUFFER MEM ADRS REGISTER TEST
* 
40 B1=B1+1
   B7=B6.LS.5 
   OB(1)=OB(B2+6)+B7         *UPPER 8 BITS OF BIT COUNTER 
   OB(2)=OB(B2+7)            *LOWER 8 BITS OF BIT COUNTER 
   RES, ABT 70
   FUNC OPNC, ABT 70         *WRITE BUFF MEM ADRS REG 
   ACN, ABT 70
   OUT 3 WORDS FROM OB, ABT 70
46 FUNC ENOC, ABT 70         *ECHO NOC(S) 
   STATUS 32D WORDS TO SB(1), ABT 70
   B4=SB(15).XOR.OB(1).AND.357
   B5=SB(16).XOR.OB(2).AND.377
   IF (B4.NE.0) GOTO 50 
   IF (B5.NE.0) ERROR 3/64, GOTO 67 
   GOTO 52
50 IF (B5.NE.0) ERROR 3/65, GOTO 67 
   ERROR 3/66, GOTO 67
52 FUNC IPCS, ABT 70         *STATUS INPUT CHANNELS 
   STATUS 32D WORDS TO SB(1), ABT 70
   OB(1)=OB(1)+20 
   B4=SB(15).XOR.OB(1).AND.37 
   B5=SB(16).XOR.OB(2).AND.377
   IF (B4.NE.0) GOTO 54 
   IF (B5.NE.0) ERROR 3/61, GOTO 67 
   GOTO 60
54 IF (B5.NE.0) ERROR 3/62, GOTO 67 
   ERROR 3/63, GOTO 67
* 
/        FINALIZE.
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 40 WHILE (B6+1.LE.6)     *END OF REG. SEL. LOOP 
   GOTO 30 WHILE (B2+2.LT.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 76                       *TERMINATE 
* 
/        PROCESS EXPECTED ERRORS. 
* 
67 MSG 5 (OB(1),SB(15),B4) TO LINE 7
   MSG 6 (OB(2),SB(16),B5) TO LINE 10 
   B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/        PROCESS UNEXPECTED ERRORS. 
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/        CALL APPROPRIATE DISPLAY SUBMODULE.
* 
74 IF(EC.LT.4000B) CALL 13A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 010  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
   RES, ABT 77
* 
/        TERMINATE. 
* 
76 FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC13A,6000(05,07,16),LOCK
*   5.2.10.1 FMC13A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC13B - PROCESS HIGHER ERROR NUMBERS.
*         FMC98L - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC13.
* 
*         BUFFERS USED- 
*         SAME AS FMC13.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC13 - BUFFER MEM ADRS REGISTER TEST 
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC13 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 69031 HEX 
* 
10 FORMAT MISCOMPARE ON LOWER 8 BITS OF NIC 6.
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT A15, A19, AND A21.
13 FORMAT 
* 
/        ERROR NUMBER 69032 HEX 
* 
14 FORMAT MISCOMPARE ON UPPER AND LOWER 8 BITS OF NIC 6.
15 FORMAT SUCCESSIVELY REPLACE CARDS
16 FORMAT R/T CARD(A01/A02/A03/A04),A16,A15,A19,AND A21.
17 FORMAT 
* 
/        ERROR NUMBER 69033 HEX 
* 
20 FORMAT MISCOMPARE ON UPPER 8 BITS OF NIC 6.
21 FORMAT SUCCESSIVELY REPLACE CARDS
22 FORMAT A15, A19, AND A21.
23 FORMAT 
* 
/        ERROR NUMBER 69034 HEX 
* 
24 FORMAT MISCOMPARE ON LOWER 8 BITS OF ECHOED NOC 6. 
25 FORMAT SUCCESSIVELY REPLACE CARDS
26 FORMAT A19 AND A15.
27 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC13A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.151) GOTO 45 
   IF (EC.LT.61) GOTO 45
   IF (EC.GT.64) EXIT TO 13B
* 
/        ERROR NUMBER 69031 HEX 
* 
40 IF (EC.NE.61) GOTO 41
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98L
* 
/        ERROR NUMBER 69032 HEX 
* 
41 IF (EC.NE.62) GOTO 42
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98L
* 
/        ERROR NUMBER 69033 HEX 
* 
42 IF (EC.NE.63) GOTO 43
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 21 TO LINE 14
   MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98L
* 
/        ERROR NUMBER 69034 HEX 
* 
43 IF (EC.NE.64) GOTO 45
   MSG 24 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 25 TO LINE 14
   MSG 26 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98L
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC13B,6000(05,07,16),LOCK
*   5.2.10.2 FMC13B - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC98L - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC13.
* 
*         BUFFERS USED- 
*         SAME AS FMC13.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC13 - BUFFER MEM ADRS REGISTER TEST 
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC13 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 69035 HEX 
* 
10 FORMAT MISCOMPARE ON BOTH UPPER AND LOWER 8 BITS OF
11 FORMAT ECHOED NOC 6. 
12 FORMAT SUCCESSIVELY REPLACE CARDS
13 FORMAT R/T CARD(A01/A02/A03/A04),A16,A08,A19,AND A15.
* 
/        ERROR NUMBER 69036 HEX 
* 
14 FORMAT MISCOMPARE ON UPPER 8 BITS OF ECHOED NOC 6. 
15 FORMAT SUCCESSIVELY REPLACE CARDS
16 FORMAT A19 AND A15.
17 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC13B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.151) GOTO 45 
   IF (EC.LT.65) GOTO 45
   IF (EC.GT.66) GOTO 45
* 
/        ERROR NUMBER 69035 HEX 
* 
40 IF (EC.NE.65) GOTO 41
   MSG 10 TO LINE 12
   MSG 11 TO LINE 13
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98L
* 
/        ERROR NUMBER 69036 HEX 
* 
41 IF (EC.NE.66) GOTO 45
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98L
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC15,6000(05,07,16),LOCK 
** 5.2.11 FMC15 - DATA PATH TEST
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC15 EXERCISES AND ISOLATES FAILURES IN THE BUFFER CONTROL    FMC015 
*         BOARD, DATA PATH BOARDS, DATA PATH CONTROL BOARD, AND THE      FMC015 
*         BUFFER-TO-DATA PATH BOARD.                                     FMC015 
*                                                                        FMC
*         METHOD-                                                        FMC
*         DO FOR ALL DATA PATTERNS                                       FMC
*           FILL BUFFER                                                  FMC
*           DO A BLOCK TRANSFER BUFFER WRITE                             FMC
*           CHECK CHANNEL STATUS
*           DO A BLOCK TRANSFER BUFFER READ                              FMC
*           CHECK CHANNEL STATUS
*           COMPARE DATA                                                 FMC
*           DO A BUFFER READ                                             FMC
*           CHECK CHANNEL STATUS
*           COMPARE DATA
*           DO A BUFFER MEMORY WRITE
*           CHECK CHANNEL STATUS
*           DO A BLOCK TRANSFER BUFFER READ 
*           CHECK CHANNEL STATUS
*           COMPARE DATA
*           DO A BUFFER MEMORY READ 
*           CHECK CHANNEL STATUS
*           COMPARE DATA                                                 FMC
*         ENDO                                                           FMC
*         INTERPRET DATA FAILURES                                        FMC
/ 
* 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS                              FMC
*                                                                        FMC
*         EXIT-NO SPECIAL EXIT CONDITIONS                                FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-                                         FMC
*         FMC15A - REPORT EXPECTED ERRORS                                FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         B0 - TEST NUMBER                                               FMC
*         B1 - LOOP COUNT                                                FMC
*         B2 - DATA PATTERN INDEX                                        FMC
*         B3 - ERROR COUNT                                               FMC
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED (BMW/BTBMR) 
*         B5 - DATA ERROR LINE NUMBER 
*         B6 - LAST FUNCTION
*         B7 - EXPECTED NIC0 STATUS 
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         B10- DIFFERENCE BETWEEN ACTUAL AND EXPECTED (BMW/BMR) 
*         B11- DIFFERENCE BETWEEN ACTUAL AND EXPECTED (BTBMW/BTBMR) 
*         B12- DIFFERENCE BETWEEN ACTUAL AND EXPECTED (BTBMW/BMR) 
*         B13- INCLUSIVE OR OF ALL DIFFERENCES (SEE SUBMODULES) 
*         B14- XFER ERROR STATUS
*         B15- FLAG WORD                                                 FMC
*         ES, EC, EM, EA - STANDARD USAGE                                FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         OB(0) - OB(501)  ONE SECTOR OF OUTPUT BUFFER                   FMC
*         IB(0) - IB(501)  ONE SECTOR OF INPUT BUFFER                    FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT FMC15 - DATA PATH TEST
2  FORMAT FMC15 - LC=*DECD, EC=*DECD
4  FORMAT FMC15 ERROR(S) = *DECD
5  FORMAT DATA ERROR   W*OCT  E*OCT  A*OCT  D*OCT                        FMC
*                                                                        FMC
*         FLAG EQUATES                                                   FMC
*                                                                        FMC
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC
*                                                                        FMC
*         FUNCTION CODE EQUATES                                          FMC
*                                                                        FMC
   EQUATE BTBMR TO 32,BTBMW TO 33,NPAT TO 6 
   EQUATE OPCOM TO 10, BMR TO 43, BMW TO 44, IPCS TO 52 
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
20 MSG 1 TO DISPLAY, PRINT
*                                                                        FMC
/        INITIALIZE.
*                                                                        FMC
21 B0=151                    *TEST NUMBER 69 HEX                         FMC
   B1=0                      *LOOP COUNT                                 FMC
   B2=0                      *DATA PATTERN INDEX                         FMC
   B3=0                      *ERROR COUNT                                FMC
   B9 = 15D                  *MODULE NUMBER 15D 
*                                                                        FMC
24 IF(B2.EQ.0)DUP 0000B TO OB FOR 502B   0000 PATTERN 
   IF(B2.EQ.1)DUP 7777B TO OB FOR 502B   7777 PATTERN 
   IF(B2.EQ.2)DUP 2525B TO OB FOR 502B   2525 PATTERN 
   IF(B2.EQ.3)DUP 5252B TO OB FOR 502B   5252 PATTERN 
   IF(B2.EQ.4)DUP 1111B TO OB FOR 502B   1111 PATTERN 
   IF(B2.EQ.5)DUP 2222B TO OB FOR 502B   2222 PATTERN 
   IF(B2.EQ.6)DUP 4444B TO OB FOR 502B   4444 PATTERN 
*                                                                        FMC
*        RESERVE, CONNECT, ETC.                                          FMC
*                                                                        FMC
*                                                                        FMC
/        PERFORM DATA PATH TEST 
*                                                                        FMC
40 B1=B1+1                                                               FMC
   WC = 502 
   RES, ABT 70                                                           FMC
   FUNC BTBMW, ABT 70                                                    FMC
   ACN, ABT 70                                                           FMC
   OUTB, ABT 70                                                          FMC
   B7 = 10                   *EXPECTED NIC0 STATUS
   GOSUB 65                  *CHECK STATUS
   B5 = 6                    *PUT DATA ERRORS ON LINE 6 + 7 
   B14 = 0                   *INTIALIZE ERROR STATUS
   GOSUB 60                  *EXECUTE BOTH READS
   B11 = B4                  *SAVE CURRENT ERRORS 
   B12 = B10
   B14 = B14.LS.2            *SAVE XFER ERROR STATUS
   WC = 502 
   FUNC BMW, ABT 70          *FUNCTION BUFFER MEMORY WRITE
   ACN, ABT 70                                                           FMC
   OUTB, ABT 70                                                          FMC
   B7 = 210                  *EXPECTED NIC0 STATUS
   GOSUB 65                  *CHECK STATUS
   B5 = 10                   *PUT DATA ERRORS ON LINE 10+11 
   GOSUB 60                  *EXECUTE BOTH READS
   IF (B14.NE.0) ERROR 3/0,GOTO 70
*                                                                        FMC
/        FINALIZE.
*                                                                        FMC
   IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP               FMC
   GOTO 76                       *TERMINATE                              FMC001 
* 
/         EXECUTE BOTH READS
* 
60 FUNC BTBMR, ABT 70        *FUNCTION BLOCK XFER READ
   ACN, ABT 70               *ACTIVATE CHANNEL
   INB, ABT 70               *INPUT BUFFER
   B7 = 10                   *EXPECTED NIC0 STATUS
   GOSUB 65                  *CHECK STATUS
   COMPARE OB TO IB FOR WC, ABT 61
   GOTO 62
* 
61 B14 = B14.OR.2            *SET BLOCK XFER ERR STATUS 
   B4 = OB(WC).XOR.IB(WC)    *CALCULATE DIFFERENCE
   MSG 5 (WC,OB(WC),IB(WC),B4) TO LINE B5  *DATA ERROR
* 
62 WC = 502 
   B5 = B5 + 1               *INCREMENT DATA ERROR LINE NO. 
   FUNC BMR, ABT 70          *FUNCTION BUFFER MEM. READ 
   ACN, ABT 70               *ACTIVATE CHANNEL
   INB, ABT 70               *INPUT BUFFER
   B7 = 10                   *EXPECTED NIC0 STATUS
   GOSUB 65                  *CHECK STATUS
   COMPARE OB TO IB FOR WC, ABT 63
   RETURN 
* 
63 B14 = B14.OR.1            *SET BUFFER XFER ERR STATUS
   B10 = OB(WC).XOR.IB(WC)   *CALCULATE DIFFERENCE
   MSG 5 (WC,OB(WC),IB(WC),B10) TO LINE B5  *DATA ERROR 
   RETURN 
* 
/         CHECK STATUS
* 
65 B6 = LF                   *SAVE LAST FUNCTOION 
   FUNC IPCS, ABT 70
   STATUS 32D WORDS TO SB(1), ABT 70
   IF (SB(2).AND.370.NE.B7) GOTO 66 
   IF (SB(3).AND.4.NE.0) GOTO 66
   IF (SB(4).AND.344.EQ.0) RETURN 
66 IF (B6.EQ.BTBMW) ERROR 3/7 
   IF (B6.EQ.BTBMR) ERROR 3/10
   IF (B6.EQ.BMW) ERROR 3/35
   IF (B6.EQ.BMR) ERROR 3/36
* 
/        PROCESS UNEXPECTED ERRORS. 
*                                                                        FMC
70 B3 = B3 + 1               *INCREMENT ERROR COUNT 
   ENDSUB 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
*                                                                        FMC
/        CALL APPROPRIATE DISPLAY SUBMODULE.
*                                                                        FMC
74 IF(EC.LT.4000B) CALL 15A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 010  *UNEXPECTED ERROR DISPLAY
*                                                                        FMC
75 IF (ES.AND.RC.NE.0) GOTO 40                                           FMC
   RES, ABT 77                                                           FMC
*                                                                        FMC
/        TERMINATE
*                                                                        FMC
76 FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
77 IF (ES.AND.RM.NE.0) GOTO 21                                           FMC
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE                    FMC
   EXIT                                                                  FMC
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC15A,6000(05,07,16),LOCK
*   5.2.11.1 FMC15A - REPORT EXPECTED ERRORS
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-
*         FMC010 - REPORT UNEXPECTED ERRORS 
*         FMC15B - PROCESS HIGHER ERROR NUMBERS.
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC15.                                                 FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC15.                                                 FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC15 - DATA PATH TEST
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC15 - LINE *OCT - ERROR NUMBER *H*HE                         FMC
*                                                                        FMC
/        ERROR NUMBER 69001 HEX                                          FMC
*                                                                        FMC
10 FORMAT ALL TRANSFERS TO AND FROM MEMORY FAILED.
11 FORMAT REPLACE THE APPROPRIATE RECEIVER/TRANSMITTER                   FMC
12 FORMAT CARDS (A01 FOR ACCESS A, A02 FOR B, A03 FOR C,                 FMC
13 FORMAT AND A04 FOR D) OR A08.
*                                                                        FMC
/        ERROR NUMBER 69002 HEX                                          FMC
*                                                                        FMC
14 FORMAT BLOCK TRANSFER BUFFER MEMORY WRITE FAILED.
15 FORMAT 
16 FORMAT SUCCESSIVELY REPLACE CARDS A08 AND A16. 
17 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 69003 HEX                                          FMC
*                                                                        FMC
20 FORMAT BLOCK TRANSFER BUFFER MEMORY READ FAILED. 
21 FORMAT 
22 FORMAT SUCCESSIVELY REPLACE CARDS A16 AND ACCESS CARD
23 FORMAT (A01 FOR A, A02 FOR B, A03 FOR C, AND A04 FOR D). 
*                                                                        FMC
/        ERROR NUMBER 69004 HEX                                          FMC
*                                                                        FMC
24 FORMAT DATA PATH FAILURE, B14 = *OCT 
25 FORMAT SUCCESSIVELY REPLACE CARDS A15, A08, B21, A16,
26 FORMAT (A01/A02/A03/A04), A23, A24, A25, A26, A27, 
27 FORMAT B19, AND B20. 
*                                                                        FMC
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC15A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT                 FMC
   EQUATE FLAG1S TO 0002
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
   IF (B0.NE.151) GOTO 45                                                FMC
   IF (EC.EQ.0) GOTO 45                                                  FMC
   IF (EC.GT.4) EXIT TO 15B                                              FMC
*                                                                        FMC
/        ERROR NUMBER 69001 HEX                                          FMC
*                                                                        FMC
40 IF (EC.NE.1) GOTO 41                                                  FMC
   MSG 10 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 69002 HEX                                          FMC
*                                                                        FMC
41 IF (EC.NE.2) GOTO 42                                                  FMC
   MSG 14 TO LINE 12                                                     FMC
   MSG 15 TO LINE 13                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 16 TO LINE 15                                                     FMC
   MSG 17 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 69003 HEX                                          FMC
*                                                                        FMC
42 IF (EC.NE.3) GOTO 43                                                  FMC
   MSG 20 TO LINE 12                                                     FMC
   MSG 21 TO LINE 13                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 22 TO LINE 15                                                     FMC
   MSG 23 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 69004 HEX                                          FMC
*                                                                        FMC
43 IF (EC.NE.4) GOTO 45                                                  FMC
   MSG 24 (B14) TO LINE 12
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 25 TO LINE 14                                                     FMC
   MSG 26 TO LINE 15                                                     FMC
   MSG 27 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
/                                                                        FMC
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC15B,6000(05,07,16),LOCK
*   5.2.11.2 FMC15B - REPORT EXPECTED ERRORS
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-
*         FMC15C - PROCESS HIGHER ERROR NUMBERS.
*         FMC98L - DISPLAY CHANNEL STATUS.
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC15.                                                 FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC15.                                                 FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
0  FORMAT SUCCESSIVELY REPLACE CARDS
1  FORMAT A15 AND A20.
2  FORMAT R/T CARD (A01/A02/A03/A04),A08,A20,AND A*D. 
3  FORMAT B21, A15, AND A20.
4  FORMAT R/T (A01/A02/A03/A04),A08,A15,A20,AND A21.
5  FORMAT B03, B16, B21, B12, B13, AND A20. 
6  FORMAT B20,B19,B21,A20,A23,A24,A25,A26,AND A27.
7  FORMAT B21,B02,B15,B19,B22,B13,A20,AND B11.
*                                                                        FMC
/        ERROR NUMBER 69005 HEX                                          FMC
*                                                                        FMC
10 FORMAT BUFFER MEMORY READ FAILED.
11 FORMAT SUCCESSIVELY REPLACE CARDS B*D, 
12 FORMAT A*D, (A01/A02/A03/A04), B21, AND A27. 
13 FORMAT 
*                                                                        FMC
/        ERROR NUMBER 69006 HEX                                          FMC
*                                                                        FMC
14 FORMAT BUFFER MEMORY WRITE FAILED. 
15 FORMAT SUCCESSIVELY REPLACE CARDS A15, A08,
16 FORMAT A23, A24, A25, A26, AND A27.
17 FORMAT 
*                                                                        FMC
/        ERROR NUMBER 69007 HEX                                          FMC
*                                                                        FMC
20 FORMAT CHANNEL STATUS NON-ZERO AFTER BLOCK TRANSFER
21 FORMAT BUFFER WRITE.                                                  FMC008 
*                                                                        FMC
/        ERROR NUMBER 69008 HEX                                          FMC
*                                                                        FMC
24 FORMAT CHANNEL STATUS NON-ZERO AFTER BLOCK TRANSFER
25 FORMAT BUFFER READ.                                                   FMC008 
*                                                                        FMC
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC15B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT                 FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 IF (B0.NE.151) GOTO 45 
   IF (EC.LT.5) GOTO 45 
   IF (EC.GT.10) EXIT TO 15C                                             FMC008 
*                                                                        FMC
/        ERROR NUMBER 69005 HEX                                          FMC
*                                                                        FMC
40 IF (EC.NE.5) GOTO 41                                                  FMC
   MSG 10 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   B13 = B4.OR.B10
   B13 = B13.OR.B11 
   B13 = B13.OR.B12 
   IF(B13.AND.377B.NE.0)MSG 11(19D)TO LINE 14   *LOWR 8-BITS
   IF(B13.AND.7400B.NE.0)MSG 11(20D)TO LINE 14  *UPPR 8-BITS
   IF(B13.AND.17B.NE.0)MSG 12(26D)TO LINE 15    *BT0,1,2,3
   IF(B13.AND.360B.NE.0)MSG 12(25D)TO LINE 15   *BT4,5,6,7
   IF(B13.AND.7400B.NE.0)MSG 12(24D)TO LINE 15  *BT8,9,10,11
   MSG 13 TO LINE 16
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 69006 HEX                                          FMC
*                                                                        FMC
41 IF (EC.NE.6) GOTO 42                                                  FMC
   MSG 14 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15                                                     FMC
   MSG 17 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 69007 HEX                                          FMC
*                                                                        FMC
42 IF (EC.NE.7) GOTO 43                                                  FMC
   MSG 20 TO LINE 12                                                     FMC
   MSG 21 TO LINE 13                                                     FMC008 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   GOTO 50
*                                                                        FMC
/        ERROR NUMBER 69008 HEX                                          FMC
*                                                                        FMC
43 IF (EC.NE.10) GOTO 45                                                 FMC
   MSG 24 TO LINE 12                                                     FMC
   MSG 25 TO LINE 13                                                     FMC008 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   GOTO 50
* 
/         CHANNEL STATUS ISOLATION ROUTINE. 
* 
50 MSG 0 TO LINE 15 
   IF (SB(2).AND.370.EQ.B7) GOTO 51 
   IF(SB(2).AND.200.NE.0)MSG 3 TO LINE 16     *NIC 0/7
   IF(SB(2).AND.100.NE.0)MSG 3 TO LINE 16     *NIC 0/6
   IF(SB(2).AND.40.NE.0)MSG 4 TO LINE 16      *NIC 0/5
   IF(SB(2).AND.20.NE.0)MSG 2(21D)TO LINE 16  *NIC 0/4
   IF(SB(2).AND.10.EQ.0)MSG 2(16D)TO LINE 16  *NIC 0/3
   GOTO 53
51 IF (SB(3).AND.4.EQ.0) GOTO 52              *NIC 1/10 
   MSG 4 TO LINE 16 
   GOTO 53
52 IF (SB(4).AND.344.EQ.0) GOTO 53
   IF(SB(4).AND.200.NE.0)MSG 1 TO LINE 16     *NIC 1/7
   IF(SB(4).AND.100.NE.0)MSG 5 TO LINE 16     *NIC 1/6
   IF(SB(4).AND.4.NE.0)MSG 7 TO LINE 16       *NIC 1/2
   IF(SB(4).AND.40.NE.0)MSG 6 TO LINE 16      *NIC 1/5
53 EXIT TO 98L
/                                                                        FMC
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC15C,6000(05,07,16),LOCK
*   5.2.11.3 FMC15C - REPORT EXPECTED ERRORS
*                                                                        FMC008 
*         PURPOSE-                                                       FMC008 
*                                                                        FMC008 
*         METHOD-                                                        FMC008 
*                                                                        FMC008 
*         ENTRY-                                                         FMC008 
*                                                                        FMC008 
*         EXIT-                                                          FMC008 
*                                                                        FMC008 
*         SUBMODULES REFERENCED-
*         FMC98L - DISPLAY CHANNEL STATUS.
*                                                                        FMC008 
*         REGISTERS USED-                                                FMC008 
*         SAME AS FMC15.                                                 FMC008 
*                                                                        FMC008 
*         BUFFERS USED-                                                  FMC008 
*         SAME AS FMC15.                                                 FMC008 
*                                                                        FMC008 
*                                                                        FMC008 
*                                                                        FMC008 
/        COMMON MESSAGES                                                 FMC008 
*                                                                        FMC008 
0  FORMAT SUCCESSIVELY REPLACE CARDS
1  FORMAT A15 AND A20.
2  FORMAT R/T CARD (A01/A02/A03/A04),A08,A20,AND A*D. 
3  FORMAT B21, A15, AND A20.
4  FORMAT R/T (A01/A02/A03/A04),A08,A15,A20,AND A21.
5  FORMAT B03, B16, B21, B12, B13, AND A20. 
6  FORMAT B20,B19,B21,A20,A23,A24,A25,A26,AND A27.
7  FORMAT B21,B02,B15,B19,B22,B13,A20,AND B11.
15 FORMAT B21,A15,A20, AND R/T CARD (A01/A02/A03/A04/). 
*                                                                        FMC008 
/        ERROR NUMBER 6901D HEX                                          FMC008 
*                                                                        FMC008 
10 FORMAT CHANNEL STATUS NON-ZERO AFTER BUFFER WRITE. 
13 FORMAT                                                                FMC008 
*                                                                        FMC008 
/        ERROR NUMBER 6901E HEX                                          FMC008 
*                                                                        FMC008 
14 FORMAT CHANNEL STATUS NON-ZERO AFTER BUFFER READ.
* 
/        ERROR NUMBER 6901F HEX 
* 
20 FORMAT BLOCK TRANSFER BUFFER MEMORY READ/WRITE FAILED. 
21 FORMAT SUCCESSIVELY REPLACE CARDS A16 AND A*D. 
22 FORMAT 
23 FORMAT 
*                                                                        FMC008 
/        SOFTWARE ERROR MESSAGES.                                        FMC008 
*                                                                        FMC008 
30 FORMAT FMC15C - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT                 FMC008 
*                                                                        FMC008 
/                                                                        FMC008 
*                                                                        FMC008 
*                                                                        FMC008 
/                                                                        FMC008 
*                                                                        FMC008 
31 IF (B0.NE.151) GOTO 45 
   IF (EC.LT.35) GOTO 45                                                 FMC008 
   IF (EC.GT.37B) GOTO 45 
*                                                                        FMC008 
/        ERROR NUMBER 6901D HEX                                          FMC008 
*                                                                        FMC008 
40 IF (EC.NE.35) GOTO 41                                                 FMC008 
   MSG 10 TO LINE 12                                                     FMC008 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   GOTO 50
*                                                                        FMC008 
/        ERROR NUMBER 6901E HEX                                          FMC008 
*                                                                        FMC008 
41 IF (EC.NE.36) GOTO 42                                                 FMC008 
   MSG 14 TO LINE 12                                                     FMC008 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   GOTO 50
* 
/        ERROR NUMBER 6901F HEX 
* 
42 IF (EC.GT.37) GOTO 45
   MSG 20 TO LINE 12
   IF (P4.AND.4000B.EQ.0) GOTO 77 
   B13 = B4.OR.B10
   B13 = B13.OR.B11 
   B13 = B13.OR.B12 
   IF(B13.AND.17B.NE.0)MSG 21(26D)TO LINE 14    *BITS 0-3 
   IF(B13.AND.360B.NE.0)MSG 21(25D)TO LINE 14   *BITS 4-7 
   IF(B13.AND.7400B.NE.0)MSG 21(24D)TO LINE 14  *BITS 8-11
   MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   GOTO 77
* 
/         CHANNEL STATUS ISOLATION ROUTINE. 
* 
50 MSG 0 TO LINE 14 
   IF (SB(2).AND.370.EQ.B7) GOTO 51 
   B6 = 0 
   IF (EC.EQ.35) B6 = 200 
   IF(SB(2).AND.200.NE.B6)MSG 3 TO LINE 15    *NIC 0/7
   IF(B6.EQ.200) GOTO 54     *NOT ERROR 6901E 
   IF(SB(2).AND.200.NE.B6)MSG 15 TO LINE 15   *NIC 0/7
54 IF(SB(2).AND.100.NE.0)MSG 3 TO LINE 15     *NIC 0/6
   IF(SB(2).AND.40.NE.0)MSG 4 TO LINE 15      *NIC 0/5
   IF(SB(2).AND.20.NE.0)MSG 2(21D)TO LINE 15  *NIC 0/4
   IF(SB(2).AND.10.EQ.0)MSG 2(16D)TO LINE 15  *NIC 0/3
   GOTO 53
51 IF (SB(3).AND.4.EQ.0) GOTO 52              *NIC 1/10 
   MSG 4 TO LINE 15 
   GOTO 53
52 IF (SB(4).AND.344.EQ.0) GOTO 53
   IF(SB(4).AND.200.NE.0)MSG 1 TO LINE 15     *NIC 1/7
   IF(SB(4).AND.100.NE.0)MSG 5 TO LINE 15     *NIC 1/6
   IF(SB(4).AND.4.NE.0)MSG 7 TO LINE 15       *NIC 1/2
   IF(SB(4).AND.40.NE.0)MSG 6 TO LINE 15      *NIC 1/5
53 MSG 13 TO LINE 16
   EXIT TO 98L
/                                                                        FMC008 
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC008 
*                                                                        FMC008 
/                                                                        FMC008 
*                                                                        FMC008 
77 PICTURE                                                               FMC008 
   HALT                                                                  FMC008 
   BLANK                                                                 FMC008 
   EXIT                                                                  FMC008 
   END 31                                                                FMC008 
COMPILE                                                                  FMC008 
   MODULE FMC18,6000(05,07,16),LOCK 
** 5.2.12 FMC18 - CONTROL WORD REGISTER TEST                             FMC
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC18 VERIFIES THE ABILITY OF THE CONTROL WORD REGISTER TO     FMC
*         RECEIVE, RETAIN, AND RETURN ASSORTED DATA PATTERNS.            FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*         DO FOR ALL DATA PATTERNS                                       FMC
*           MASTER CLEAR THE CONTROL LOGIC                               FMC
*           EXECUTE CONTROLWORD SEQUENCE WITH THE BIT COUNTER = 0 AND    FMC015 
*            THE CONTROLWORD = DATA PATTERN 
*           VERIFY THAT NOC 5 = DATA PATTERN
*           VERIFY THAT NIC 5 = DATA PATTERN                             FMC
*         ENDO                                                           FMC
*         SEND PROCESSOR CLOCK BIT TO NOC 5                              FMC
*         VERIFY THAT LOST CONTROL WORD BIT SETS                         FMC
/                                                                        FMC
*         ENTRY-NO SPECIAL ENTRY CONCITIONS                              FMC
*                                                                        FMC
*         EXIT-NO SPECIAL EXIT CONDITIONS                                FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-                                         FMC
*         FMC010 - REPORT UNEXPECTED ERRORS 
*         FMC18A - REPORT EXPECTED ERRORS                                FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         B0 - TEST NUMBER                                               FMC
*         B1 - LOOP COUNT                                                FMC
*         B2 - DATA PATTERN INDEX                                        FMC
*         B3 - ERROR COUNT                                               FMC
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES             FMC
*         B5 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES             FMC
*         B6 - HEAD INDEX 
*         B7 - TEMPORARY STORAGE
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         B15- FLAG WORD                                                 FMC
*         ES, EC, EM, EA - STANDARD USAGE                                FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         OB(0) - OB(4)  CONTROLWORD SEQUENCE BUFFER                     FMC
*         OB(6)...       DATA PATTERNS                                   FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT FMC18 - CONTROL WORD REGISTER TEST                             FMC
2  FORMAT FMC18 - LC=*DECD, EC=*DECD
4  FORMAT FMC18 ERROR(S) = *DECD
5  FORMAT UPPER 8 BITS - E*OC A*OC D*OC                                  FMC
6  FORMAT LOWER 8 BITS - E*OC A*OC D*OC                                  FMC
*                                                                        FMC
*         FLAG EQUATES                                                   FMC
*                                                                        FMC
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC
*                                                                        FMC
*         FUNCTION CODE EQUATES                                          FMC
*                                                                        FMC
   EQUATE OPCOM TO 0010      *CLEAR COUPLER CONNECT 
   EQUATE OPNC TO 0050                                                   FMC
   EQUATE ECWS TO 0051                                                   FMC
   EQUATE IPCS TO 0052                                                   FMC
   EQUATE ENOC TO 0053                                                   FMC
   EQUATE IPFP TO 0054                                                   FMC
*                                                                        FMC
*         MISCELLANEOUS EQUATES                                          FMC
*                                                                        FMC
   EQUATE NPAT TO 10         *NUMBER OF DATA PATTERNS                    FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
   DATA (OB(00),CON) 1,0,0,0,0,0
   DATA (OB(06),CON) 000,000                                             FMC
   DATA (OB(10),CON) 377,377                                             FMC
   DATA (OB(12),CON) 252,252                                             FMC
   DATA (OB(14),CON) 125,125                                             FMC
   DATA (OB(24),CON) 4,0,3   *LOST CW BIT COUNT 
   DATA (OB(27),CON) 5,100,0  *LOST CW CONTROLWORD
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
20 MSG 1 TO DISPLAY, PRINT
*                                                                        FMC
*        INITIALIZE.                                                     FMC
*                                                                        FMC
21 B0=152                    *TEST NUMBER 6A HEX                         FMC
   B1=0                      *LOOP COUNT                                 FMC
   B2=0                      *DATA PATTERN INDEX                         FMC
   B3=0                      *ERROR COUNT                                FMC
   B9 = 18D                  *MODULE NUMBER 18D 
*                                                                        FMC
/        PERFORM CONTROL WORD REGISTER TEST 
*                                                                        FMC
40 B1=B1+1                                                               FMC
   RES, ABT 70                                                           FMC
   OB(3)=OB(B2+6)            *UPPER 8 BITS OF CONTROL WORD               FMC
   OB(4)=OB(B2+7)            *LOWER 8 BITS OF CONTROL WORD               FMC
*         MASTER CLEAR CONTROL LOGIC                                     FMC
   OB(504)=1                                                             FMC
   FUNC IPFP, ABT 70                                                     FMC
   OUT 1 WORDS FROM OB(504), ABT 70                                      FMC
   BA = 0                    *SET BEGINNING ADDRESS 
   WC = 49D                  *INITIALIZE WORD COUNT 
   FUNC ECWS, ABT 70         *EXECUTE CONTROL WORD SEQUENCE 
   OUT, ABT 70                                                           FMC
46 FUNC ENOC, ABT 70         *ECHO NOC(S) 
   STATUS 32D WORDS TO SB(1), ABT 70
   B4=SB(13).XOR.OB(3).AND.377
   B5=SB(14).XOR.OB(4).AND.377
   IF (B4.NE.0) GOTO 50                                                  FMC
   IF (B5.NE.0) ERROR 3/4, GOTO 67                                       FMC
   GOTO 52                                                               FMC
50 IF (B5.NE.0) ERROR 3/5, GOTO 67                                       FMC
   ERROR 3/6, GOTO 67                                                    FMC
52 FUNC IPCS, ABT 70         *STATUS INPUT CHANNELS 
   STATUS 32D WORDS TO SB(1), ABT 70
   B4=SB(13).XOR.OB(3).AND.377
   B5=SB(14).XOR.OB(4).AND.377
   IF (B4.NE.0) GOTO 56 
   IF (B5.NE.0) ERROR 3/1, GOTO 67   *LOWER BAD 
   GOTO 57
56 IF (B5.NE.0) ERROR 3/2, GOTO 67   *BOTH BAD
   ERROR 3/3, GOTO 67                *UPPER BAD 
*                                                                        FMC
/        FINALIZE.
*                                                                        FMC
57 GOTO 40 WHILE (B2+2.LT.NPAT)  *END OF DATA PATTERN LOOP
   B2 = 0                    *REINITIALIZE PATTERN INDEX
*         VERIFY LOST CONTROL WORD                                       FMC
   FUNC OPNC, ABT 70                                                     FMC
   OUT 3 WORDS FROM OB(24), ABT 70
   FUNC OPNC, ABT 70         *SELECT PROCESSOR CLOCK
   OUT 3 WORDS FROM OB(27), ABT 70
   FUNC IPCS, ABT 70                                                     FMC
   STATUS 32D WORDS TO SB(1), ABT 70
   IF (SB(3).AND.1.EQ.0) ERROR 3/7, GOTO 66 
   FUNC IPFP, ABT 70                                                     FMC
   OUT 1 WORDS FROM OB(504), ABT 70                                      FMC
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 76                       *TERMINATE                              FMC001 
*                                                                        FMC
/        PROCESS EXPECTED ERRORS. 
*                                                                        FMC
67 MSG 5 (OB(3),SB(13),B4) TO LINE 7
   MSG 6 (OB(4),SB(14),B5) TO LINE 10 
66 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71                                                               FMC
*                                                                        FMC
/        PROCESS UNEXPECTED ERRORS. 
*                                                                        FMC
70 B15=B15.AND.FLAG1C  *CLEAR FLAG 1                                     FMC
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
*                                                                        FMC
/        CALL APPROPRIATE DISPLAY SUBMODULE.
*                                                                        FMC
74 IF(EC.LT.4000B) CALL 18A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 010  *UNEXPECTED ERROR DISPLAY
*                                                                        FMC
75 IF (ES.AND.RC.NE.0) GOTO 40                                           FMC
   RES, ABT 77                                                           FMC
*                                                                        FMC
/        TERMINATE.                                                      FMC
*                                                                        FMC
76 FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
77 IF (ES.AND.RM.NE.0) GOTO 21                                           FMC
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE                    FMC
   EXIT                                                                  FMC
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC18A,6000(05,07,16),LOCK
*   5.2.12.1 FMC18A - REPORT EXPECTED ERRORS
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-
*         FMC18B - PROCESS HIGHER ERROR NUMBERS.
*         FMC98L - DISPLAY CHANNEL STATUS.
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC18.                                                 FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC18.                                                 FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC18 - CONTROL WORD REGISTER TEST                             FMC
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC18 - LINE *OCT - ERROR NUMBER *H*HE                         FMC
*                                                                        FMC
/        ERROR NUMBER 6A001 HEX                                          FMC
*                                                                        FMC
10 FORMAT MISCOMPARE ON LOWER 8 BITS OF NIC 5.
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B19, B21, B22, A19, AND A21.
13 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 6A002 HEX                                          FMC
*                                                                        FMC
14 FORMAT MISCOMPARE ON UPPER AND LOWER 8 BITS OF NIC 5.
15 FORMAT SUCCESSIVELY REPLACE CARDS
16 FORMAT B21, B22, A19, A21, B19, AND B20. 
17 FORMAT R/T CARD(A01/A02/A03/A04), A08, A16,
*                                                                        FMC
/        ERROR NUMBER 6A003 HEX                                          FMC
*                                                                        FMC
20 FORMAT MISCOMPARE ON UPPER 8 BITS OF NIC 5.
21 FORMAT SUCCESSIVELY REPLACE CARDS
22 FORMAT B20, B21, B22, A19, AND A21.
23 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 6A004 HEX                                          FMC
*                                                                        FMC
24 FORMAT MISCOMPARE ON LOWER 8 BITS OF ECHOED NOC 5. 
25 FORMAT SUCCESSIVELY REPLACE CARDS
26 FORMAT A19, A21, B19, AND A27. 
27 FORMAT                                                                FMC
*                                                                        FMC
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC18A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT                 FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
   IF (B0.NE.152) GOTO 45                                                FMC
   IF (EC.LT.1) GOTO 45 
   IF (EC.GT.4) EXIT TO 18B                                              FMC
*                                                                        FMC
/        ERROR NUMBER 6A001 HEX                                          FMC
*                                                                        FMC
40 IF (EC.NE.1) GOTO 41                                                  FMC
   MSG 10 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 11 TO LINE 14                                                     FMC
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   EXIT TO 98L
*                                                                        FMC
/        ERROR NUMBER 6A002 HEX                                          FMC
*                                                                        FMC
41 IF (EC.NE.2) GOTO 42                                                  FMC
   MSG 14 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 15 TO LINE 14                                                     FMC
   IF(SB(13)+SB(14).NE.0) GOTO 51 
   MSG 16 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16
   EXIT TO 98L
51 IF(B4.XOR.B5.NE.0) MSG 16 TO LINE 15 
   IF(B4.XOR.B5.EQ.0) MSG 17 TO LINE 15 
   IF(B4.XOR.B5.NE.0) MSG 13 TO LINE 16 
   IF(B4.XOR.B5.EQ.0) MSG 16 TO LINE 16 
   EXIT TO 98L
*                                                                        FMC
/        ERROR NUMBER 6A003 HEX                                          FMC
*                                                                        FMC
42 IF (EC.NE.3) GOTO 43                                                  FMC
   MSG 20 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 21 TO LINE 14                                                     FMC
   MSG 22 TO LINE 15                                                     FMC
   MSG 23 TO LINE 16                                                     FMC
   EXIT TO 98L
*                                                                        FMC
/        ERROR NUMBER 6A004 HEX                                          FMC
*                                                                        FMC
43 IF (EC.NE.4) GOTO 45                                                  FMC
   MSG 24 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 25 TO LINE 14                                                     FMC
54 MSG 26 TO LINE 15
55 MSG 13 TO LINE 16
   EXIT TO 98L
/                                                                        FMC
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC18B,6000(05,07,16),LOCK
*   5.2.12.2 FMC18B - REPORT EXPECTED ERRORS
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-
*         FMC98L - DISPLAY CHANNEL STATUS.
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC18.                                                 FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC18.                                                 FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC18 - CONTROL WORD REGISTER TEST                             FMC
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC18 - LINE *OCT - ERROR NUMBER *H*HE                         FMC
5  FORMAT 
*                                                                        FMC
/        ERROR NUMBER 6A005 HEX                                          FMC
*                                                                        FMC
10 FORMAT MISCOMPARE ON BOTH UPPER AND LOWER 8 BITS OF                   FMC
11 FORMAT ECHOED NOC 5.                                                  FMC
12 FORMAT SUCCESSIVELY REPLACE CARDS
13 FORMAT A19, A21, B20, B19, AND A27.
*                                                                        FMC
/        ERROR NUMBER 6A006 HEX                                          FMC
*                                                                        FMC
14 FORMAT MISCOMPARE ON UPPER 8 BITS OF ECHOED NOC 5. 
15 FORMAT SUCCESSIVELY REPLACE CARDS
16 FORMAT A19, A21, B20, AND A27. 
17 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 6A007 HEX                                          FMC
*                                                                        FMC
20 FORMAT UNABLE TO FORCE LOST CONTROL WORD.
21 FORMAT SUCCESSIVELY REPLACE CARDS
22 FORMAT B22, B21, B19, B20, A19, A20, AND A21.
23 FORMAT                                                                FMC
*                                                                        FMC
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC18B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
   IF (B0.NE.152) GOTO 45                                                FMC
   IF (EC.LT.5) GOTO 45 
   IF (EC.GT.10) GOTO 45
*                                                                        FMC
/        ERROR NUMBER 6A005 HEX                                          FMC
*                                                                        FMC
40 IF (EC.NE.5) GOTO 41                                                  FMC
   MSG 10 TO LINE 12                                                     FMC
   MSG 11 TO LINE 13                                                     FMC
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   EXIT TO 98L
*                                                                        FMC
/        ERROR NUMBER 6A006 HEX                                          FMC
*                                                                        FMC
41 IF (EC.NE.6) GOTO 42                                                  FMC
   MSG 14 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 15 TO LINE 14                                                     FMC
52 MSG 16 TO LINE 15
53 MSG 5 TO LINE 16 
   EXIT TO 98L
*                                                                        FMC
/        ERROR NUMBER 6A007 HEX                                          FMC
*                                                                        FMC
42 IF (EC.NE.7) GOTO 45 
   MSG 20 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 21 TO LINE 14                                                     FMC
   MSG 22 TO LINE 15                                                     FMC
   MSG 23 TO LINE 16                                                     FMC
   EXIT TO 98L
/                                                                        FMC
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC19,6000(05,07,16),LOCK 
** 5.2.13 FMC19 - BIT COUNTER REGISTER TEST                              FMC
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC19 VERIFIES THE ABILITY OF THE BIT COUNTER REGISTER TO      FMC
*         RECEIVE, RETAIN, AND RETURN ASSORTED DATA PATTERNS.            FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*         DO FOR ALL DATA PATTERNS                                       FMC
*           EXECUTE CONTROLWORD SEQUENCE WITH THE CONTROLWORD = 0 AND 
*            THE BIT COUNTER = DATA PATTERN                              FMC
*           VERIFY THAT NOC 4 = DATA PATTERN
*           VERIFY THAT NIC 4 = DATA PATTERN                             FMC
*         ENDO                                                           FMC
/                                                                        FMC
*         ENTRY-NO SPECIAL ENTRY CONDITIONS                              FMC
*                                                                        FMC
*         EXIT-NO SPECIAL EXIT CONDITIONS                                FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-                                         FMC
*         FMC010 - REPORT UNEXPECTED ERRORS 
*         FMC19A - REPORT EXPECTED ERRORS                                FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         B0 - TEST NUMBER                                               FMC
*         B1 - LOOP COUNT                                                FMC
*         B2 - DATA PATTERN INDEX                                        FMC
*         B3 - ERROR COUNT                                               FMC
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES             FMC
*         B5 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES             FMC
*         B7 - TEMPORARY STORAGE
*         B6 - HEAD INDEX 
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         B15- FLAG WORD                                                 FMC
*         ES, EC, EM, EA - STANDARD USAGE                                FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         OB(0) - OB(4)  CONTROLWORD SEQUENCE BUFFER                     FMC
*         OB(6)...       DATA PATTERNS                                   FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT FMC19 - BIT COUNTER REGISTER TEST                              FMC
2  FORMAT FMC19 - LC=*DECD, EC=*DECD
4  FORMAT FMC19 ERROR(S) = *DECD
5  FORMAT UPPER 8 BITS - E*OC A*OC D*OC                                  FMC
6  FORMAT LOWER 8 BITS - E*OC A*OC D*OC                                  FMC
*                                                                        FMC
/         FLAG EQUATES                                                   FMC
*                                                                        FMC
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC
*                                                                        FMC
/         FUNCTION CODE EQUATES                                          FMC
*                                                                        FMC
   EQUATE OPCOM TO 0010      *CLEAR COUPLER CONNECT 
   EQUATE OPNC TO 0050
   EQUATE ECWS TO 0051
   EQUATE IPCS TO 0052                                                   FMC
   EQUATE ENOC TO 0053                                                   FMC
*                                                                        FMC
/         MISCELLANEOUS EQUATES                                          FMC
*                                                                        FMC
   EQUATE NPAT TO 10         *NUMBER OF DATA PATTERNS                    FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
   DATA (OB(06),CON) 000,000                                             FMC
   DATA (OB(10),CON) 377,377                                             FMC
   DATA (OB(12),CON) 252,252                                             FMC
   DATA (OB(14),CON) 125,125                                             FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
20 MSG 1 TO DISPLAY, PRINT
*                                                                        FMC
/        INITIALIZE.                                                     FMC
*                                                                        FMC
21 B0=152                    *TEST NUMBER 6A HEX                         FMC
   B1=0                      *LOOP COUNT                                 FMC
   B2=0                      *DATA PATTERN INDEX                         FMC
   B3=0                      *ERROR COUNT                                FMC
   B9 = 19D                  *MODULE NUMBER 19D 
   OB(0)=1                   *NUMBER OF CONTROL WORDS                    FMC
   OB(3)=0                   *LOWER 8 BITS OF CONTROL WORD               FMC
   OB(4)=0                   *UPPER 8 BITS OF CONTROL WORD               FMC
*                                                                        FMC
/        PERFORM BIT COUNTER REGISTER TEST                               FMC
*                                                                        FMC
40 B1=B1+1                                                               FMC
   OB(1)=OB(B2+6)            *UPPER 8 BITS OF BIT COUNTER                FMC
   OB(2)=OB(B2+7)            *LOWER 8 BITS OF BIT COUNTER                FMC
   RES, ABT 70                                                           FMC
   BA = 0                    *SET BEGINNING ADDRESS 
   WC = 49D                  *INITIALIZE WORD COUNT 
   FUNC ECWS, ABT 70         *EXECUTE CONTROL WORD SEQUENCE              FMC
   OUT, ABT 70                                                           FMC
46 FUNC ENOC, ABT 70         *ECHO NOC(S) 
   STATUS 32D WORDS TO SB(1), ABT 70
   B4=SB(11).XOR.OB(1).AND.377
   B5=SB(12).XOR.OB(2).AND.377
   IF (B4.NE.0) GOTO 50                                                  FMC
   IF (B5.NE.0) ERROR 3/20, GOTO 67 
   GOTO 52                                                               FMC
50 IF (B5.NE.0) ERROR 3/21, GOTO 67 
   ERROR 3/22, GOTO 67
52 FUNC IPCS, ABT 70         *STATUS INPUT CHANNELS 
   STATUS 32D WORDS TO SB(1), ABT 70
   B4=SB(11).XOR.OB(1).AND.377
   B5=SB(12).XOR.OB(2).AND.377
   IF (B4.NE.0) GOTO 56 
   IF (B5.NE.0) ERROR 3/15, GOTO 67  *LOWER BAD 
   GOTO 60
56 IF (B5.NE.0) ERROR 3/16, GOTO 67  *BOTH BAD
   ERROR 3/17, GOTO 67               *UPPER BAD 
*                                                                        FMC
/        FINALIZE.                                                       FMC
*                                                                        FMC
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 40 WHILE (B2+2.LT.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 76                       *TERMINATE                              FMC001 
*                                                                        FMC
/        PROCESS EXPECTED ERRORS.                                        FMC
*                                                                        FMC
67 MSG 5 (OB(1),SB(11),B4) TO LINE 7
   MSG 6 (OB(2),SB(12),B5) TO LINE 10 
   B15=B15.OR.FLAG1S  *SET FLAG 1                                        FMC
   GOTO 71                                                               FMC
*                                                                        FMC
/        PROCESS UNEXPECTED ERRORS.                                      FMC
*                                                                        FMC
70 B15=B15.AND.FLAG1C  *CLEAR FLAG 1                                     FMC
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
*                                                                        FMC
/        CALL APPROPRIATE DISPLAY SUBMODULE.                             FMC
*                                                                        FMC
74 IF(EC.LT.4000B) CALL 19A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 010  *UNEXPECTED ERROR DISPLAY
*                                                                        FMC
75 IF (ES.AND.RC.NE.0) GOTO 40                                           FMC
   RES, ABT 77                                                           FMC
*                                                                        FMC
/        TERMINATE.                                                      FMC
*                                                                        FMC
76 FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
77 IF (ES.AND.RM.NE.0) GOTO 21                                           FMC
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE                    FMC
   EXIT 
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC19A,6000(05,07,16),LOCK
*   5.2.13.1 FMC19A - REPORT EXPECTED ERRORS
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-
*         FMC19B - PROCESS HIGHER ERROR NUMBERS.
*         FMC98L - DISPLAY CHANNEL STATUS.
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC19.                                                 FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC19.                                                 FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC19 - BIT COUNTER REGISTER TEST                              FMC
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC19 - LINE *OCT - ERROR NUMBER *H*HE                         FMC
*                                                                        FMC
/        ERROR NUMBER 6A00D HEX 
*                                                                        FMC
10 FORMAT MISCOMPARE ON LOWER 8 BITS OF NIC 4.
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B19, B21, B22, A19, AND A21.
13 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 6A00E HEX 
*                                                                        FMC
14 FORMAT MISCOMPARE ON UPPER AND LOWER 8 BITS OF NIC 4.
15 FORMAT SUCCESSIVELY REPLACE CARDS
16 FORMAT B21, B22, A19, A21, B19, AND B20. 
17 FORMAT R/T CARD(A01/A02/A03/A04), A08, A16,
*                                                                        FMC
/        ERROR NUMBER 6A00F HEX 
*                                                                        FMC
20 FORMAT MISCOMPARE ON UPPER 8 BITS OF NIC 4.
21 FORMAT SUCCESSIVELY REPLACE CARDS
22 FORMAT B20, B21, B22, A19, AND A21.
23 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 6A010 HEX 
*                                                                        FMC
24 FORMAT MISCOMPARE ON LOWER 8 BITS OF ECHOED NOC 4. 
25 FORMAT SUCCESSIVELY REPLACE CARDS
26 FORMAT A19, A21, B19, AND A27. 
27 FORMAT                                                                FMC
*                                                                        FMC
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC19A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT                 FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
   IF (B0.NE.152) GOTO 45                                                FMC
   IF (EC.LT.15) GOTO 45
   IF (EC.GT.20) EXIT TO 19B
*                                                                        FMC
/        ERROR NUMBER 6A00D HEX 
*                                                                        FMC
40 IF (EC.NE.15) GOTO 41
   MSG 10 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 11 TO LINE 14                                                     FMC
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   EXIT TO 98L
*                                                                        FMC
/        ERROR NUMBER 6A00E HEX 
*                                                                        FMC
41 IF (EC.NE.16) GOTO 42
   MSG 14 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 15 TO LINE 14                                                     FMC
   IF(SB(11)+SB(12).NE.0) GOTO 51 
   MSG 16 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16
   EXIT TO 98L
51 IF(B4.XOR.B5.NE.0) MSG 16 TO LINE 15 
   IF(B4.XOR.B5.EQ.0) MSG 17 TO LINE 15 
   IF(B4.XOR.B5.NE.0) MSG 13 TO LINE 16 
   IF(B4.XOR.B5.EQ.0) MSG 16 TO LINE 16 
   EXIT TO 98L
*                                                                        FMC
/        ERROR NUMBER 6A00F HEX 
*                                                                        FMC
42 IF (EC.NE.17) GOTO 43
   MSG 20 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 21 TO LINE 14                                                     FMC
   MSG 22 TO LINE 15                                                     FMC
   MSG 23 TO LINE 16                                                     FMC
   EXIT TO 98L
*                                                                        FMC
/        ERROR NUMBER 6A010 HEX 
*                                                                        FMC
43 IF (EC.NE.20) GOTO 45
   MSG 24 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 25 TO LINE 14                                                     FMC
54 MSG 26 TO LINE 15
55 MSG 13 TO LINE 16
   EXIT TO 98L
/                                                                        FMC
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC19B,6000(05,07,16),LOCK
*   5.2.13.2 FMC19B - REPORT EXPECTED ERRORS
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-
*         FMC98L - DISPLAY CHANNEL STATUS.
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC19.                                                 FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC19.                                                 FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC19 - BIT COUNTER REGISTER TEST                              FMC
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC19 - LINE *OCT - ERROR NUMBER *H*HE                         FMC
5  FORMAT 
*                                                                        FMC
/        ERROR NUMBER 6A011 HEX 
*                                                                        FMC
10 FORMAT MISCOMPARE ON BOTH UPPER AND LOWER 8 BITS OF                   FMC
11 FORMAT ECHOED NOC 4.                                                  FMC
12 FORMAT SUCCESSIVELY REPLACE CARDS
13 FORMAT A19, A21, B20, B19, AND A27.
*                                                                        FMC
/        ERROR NUMBER 6A012 HEX 
*                                                                        FMC
14 FORMAT MISCOMPARE ON UPPER 8 BITS OF ECHOED NOC 4. 
15 FORMAT SUCCESSIVELY REPLACE CARDS
16 FORMAT A19, A21, B20, AND A27. 
17 FORMAT                                                                FMC
*                                                                        FMC
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC19B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
   IF (B0.NE.152) GOTO 45                                                FMC
   IF (EC.LT.21) GOTO 45
   IF (EC.GT.24) GOTO 45
*                                                                        FMC
/        ERROR NUMBER 6A011 HEX 
*                                                                        FMC
40 IF (EC.NE.21) GOTO 41
   MSG 10 TO LINE 12                                                     FMC
   MSG 11 TO LINE 13
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   EXIT TO 98L
*                                                                        FMC
/        ERROR NUMBER 6A012 HEX 
*                                                                        FMC
41 IF (EC.NE.22) GOTO 45
   MSG 14 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 15 TO LINE 14                                                     FMC
52 MSG 16 TO LINE 15
53 MSG 5 TO LINE 16 
   EXIT TO 98L
/                                                                        FMC
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC20,6000(05,07,16),LOCK 
** 5.2.14 FMC20 - MAINTENANCE LOOP TEST 
* 
*         PURPOSE-
*         FMC20 EXERCISES AND ISOLATES FAILURES IN THE BUFFER CONTROL 
*         BOARD, DATA PATH BOARDS, DATA PATH CONTROL BOARD, AND THE 
*         BUFFER-TO-DATA PATH BOARD.
* 
*         METHOD- 
*         DO FOR ALL DATA PATTERNS
*           WRITE 16-BIT PATTERN INTO BUFFER. 
*           PERFORM A MAINTENANCE LOOP TO DATA BUFFER.
*           READ 16-BIT DATA FROM BUFFER. 
*           CHECK CHANNEL STATUS FOR LOST DATA. 
*           COMPARE DATA. 
*           PERFORM A MAINTENANCE LOOP TO NIC 2.
*           CHECK CHANNEL STATUS FOR LOST DATA. 
*           CHECK CHANNEL STATUS FOR NIC 2 MISCOMPARE.
*         ENDO
*         INTERPRET DATA FAILURES 
* 
/ 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS 
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS 
* 
*         SUBMODULES REFERENCED-
*         FMC010 - REPORT UNEXPECTED ERRORS 
*         FMC20A - REPORT EXPECTED ERRORS 
*         FMC982 - LOOP DATA THROUGH MAINTENANCE LOOP 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B6 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B7 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B8 - HEAD INDEX 
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         B10- TEMPORARY STORAGE
*         B11- TEMPORARY STORAGE
*         B13- TEMPORARY STORAGE (SEE SUBMODULE 982)
*         B14- ERROR FLAG 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         OB(0) - OB(024)  DATA PATTERNS
*         IB(0) - IB(31D)  32D WORDS OF COUPLER BUFFER
* 
* 
*         REMARKS-
* 
*         KNOWN LIMITATIONS-
* 
1  FORMAT FMC20 - MAINTENANCE LOOP TEST 
2  FORMAT FMC20 - LC=*DECD, EC=*DECD
4  FORMAT FMC20 ERROR(S) = *DECD
6  FORMAT DATA ERROR STS*H*H  E*H*H  A*H*H  D*H*H 
* 
*         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
*         FUNCTION CODE EQUATES 
* 
   EQUATE OPCOM TO 10,IPCS TO 52,MDS TO 62
   EQUATE IDD TO 63, LOST TO 2
* 
*         MISCELLANEOUS EQUATES 
* 
   EQUATE NPAT TO 10         *NUMBER OF DATA PATTERNS 
* 
*         OUTPUT BUFFER (DATA PATTERNS) 
* 
   DATA(OB(00),CON) 3,026,000,000,000 
   DATA(OB(05),CON) 000,000,377,377,125,125,252,252 
   DATA(OB(15),CON) 000,000,377,377,125,125,252,252 
* 
* 
* 
20 MSG 1 TO DISPLAY, PRINT
* 
*         INITIALIZE. 
* 
21 B0=152                    *TEST NUMBER 6A HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B9 = 20D                  *MODULE NUMBER 20D 
24 OB(3) = OB(B2+5)          *SET DATA PATTERN
   OB(4) = OB(B2+6) 
* 
/        PERFORM MAINTENANCE LOOP TEST
* 
40 B1=B1+1
   RES, ABT 70
* 
   OB = 1 
   GOSUB 50                  *WRITE 16-BIT PATTERN
   IF(EC.NE.0) GOTO 70
   OB(2) = 0
   B12 = 1
   CALL 982                  *LOOP DATA THRU MAINT, LOOP
   IF(EC.NE.0) GOTO 70
   B14 = 0                   *INITIALIZE ERROR FLAG 
   RES, ABT 70
   OB = 2                    *SET DISPLAY ADRS
   GOSUB 50 
   IF(EC.NE.0) GOTO 70
   FUNC IDD, ABT 70          *INPUT BUFFER DATA 
   ACN, ABT 70
   IN 64D WORDS TO IB, ABT 70 
   GOSUB 52                  *READ CHANNEL STATUS 
   IF (EC.NE.0) GOTO 70 
   IF(SB(4).AND.LOST.NE.0) ERROR 3/41, GOTO 67
   B6 = OB(B2+5).XOR.IB(40)  *COMPARE PATTERN AND LOOP
   B7 = OB(B2+6).XOR.IB(41) 
   IF (B6.OR.B7.NE.0) B14=B14+2 
* 
/         PERFORM NIC 2 TEST. 
* 
44 B12 = 0                   *CLEAR 4-HEADS MODE
   CALL 982                  *LOOP DATA THRU MAINT. LOOP
   IF (EC.NE.0) GOTO 70 
   RES, ABT 70
* 
   GOSUB 52                  *READ CHANNEL STATUS 
   IF(EC.NE.0) GOTO 70
   IF(SB(4).AND.LOST.EQ.0) ERROR 3/40, GOTO 67
   B4 = OB(B2+5).XOR.SB(5)   *COMPARE PATTERN AND NIC 2 
   B5 = OB(B2+6).XOR.SB(6)
   IF(B4.OR.B5.EQ.0) GOTO 45
   B14 = B14 + 1             *SET NIC 2 ERR FLAG
   B8 = OB(B2+5)
   MSG 6(SB(3),SB(4),B8,OB(B2+6),SB(5),SB(6),B4,B5)TO LINE 7
* 
45 IF (B14.NE.0) ERROR 3/0, GOTO 67  *ANALYZE ERRORS
* 
/        FINALIZE.
* 
   IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 24 WHILE (B2+2.LT.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 76                       *TERMINATE 
* 
/         MANIPULATE PROCESSOR SUBROUTINE 
* 
50 FUNC MDS, ABT 54          *MANIPULATE PROC 
   ACN, ABT 54
   OUT 5 WORDS FROM OB, ABT 54
   GOTO 54
* 
/         GET CHANNEL STATUS SUBROUTINE.
* 
52 FUNC IPCS, ABT 54         *CHANNEL STATUS
   STATUS 32D WORDS TO SB(1), ABT 54
54 RETURN 
* 
/        PROCESS EXPECTED ERRORS. 
* 
67 B15 = EA                  *SAVE ERROR ADDRESS
   GOTO 71
* 
/        PROCESS UNEXPECTED ERRORS. 
* 
70 B15=0
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
   ENDSUB 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/        CALL APPROPRIATE DISPLAY SUBMODULE.
* 
74 IF(B15.NE.0) CALL 20A     *EXPECTED ERROR DISPLAY
   IF(B15.EQ.0) CALL 010     *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
   RES, ABT 77
* 
/         TERMINATE.
* 
76 FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC20A,6000(05,07,16),LOCK
*   5.2.14.1 FMC20A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC20B - PROCESS HIGHER ERROR NUMBERS.
* 
*         REGISTERS USED- 
*         SAME AS FMC20.
* 
*         BUFFERS USED- 
*         SAME AS FMC20.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC20 - MAINTENANCE LOOP TEST 
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC20 - LINE *OCT - ERROR NUMBER *H*HE
5  FORMAT DATA ERROR   W*OCT  E*H*H  A*H*H  D*H*H 
* 
/        ERROR NUMBER 6A019 HEX 
* 
10 FORMAT TRANSFERS TO AND FROM MEMORY FAILED WITH
11 FORMAT MAINTENANCE LOOP SET, UPPER 8 BITS. 
12 FORMAT SUCCESSIVELY REPLACE CARDS B20, A15, B22, B21,
13 FORMAT A24 AND A23.
* 
/        ERROR NUMBER 6A01A HEX 
* 
14 FORMAT TRANSFERS TO AND FROM MEMORY FAILED WITH
15 FORMAT MAINTENANCE LOOP SET, LOWER 8 BITS. 
16 FORMAT SUCCESSIVELY REPLACE CARDS B19, A15, B22, B21,
17 FORMAT A26 AND A25.
* 
/        ERROR NUMBER 6A01B HEX 
* 
20 FORMAT TRANSFERS TO AND FROM MEMORY FAILED WITH
21 FORMAT MAINTENANCE LOOP SET, UPPER AND LOWER 8 BITS. 
22 FORMAT SUCCESSIVELY REPLACE CARDS A15, B22, B21, B19,
23 FORMAT B20, A19, A26, A25, A24, AND A23. 
24 FORMAT SUCCESSIVELY REPLACE R/T CARD(A01/A02/A03/A04), 
25 FORMAT A08, A15, AND A16.
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC20A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   OB(25) = B2               *MOVE DATA TO OB 
   OB(26) = OB(B2+5)
   OB(27) = OB(B2+6)
   OB(30) = IB(40)
   OB(31) = IB(41)
   OB(32) = B6
   OB(33) = B7
   IF(B14.AND.2.EQ.0) GOTO 32 
   MSG 5, 7 WORDS FROM OB(25) TO LINE 10
   B11 = B11 + 22D
* 
/        ANALYZE DATA ERRORS
* 
32 IF (B14.EQ.0) GOTO 37
   IF(B14.EQ.1) GOTO 33 
   IF (B7.AND.377.EQ.0)ERROR 3/31, GOTO 37  *UPPER 8 BAD
   IF (B6.AND 377.EQ.0)ERROR 3/32, GOTO 37  *LOWER 8 BAD
   ERROR 3/33, GOTO 37       *UPPER AND LOWER ARE BAD 
* 
33 IF (B5.AND.377.EQ.0)ERROR 3/35, GOTO 37  *UPPER 8 BAD
   IF (B4.AND 377.EQ.0)ERROR 3/36, GOTO 37  *LOWER 8 BAD
   ERROR 3/37                *UPPER AND LOWER ARE BAD 
* 
/ 
* 
37 MSG 4 (B15,B0,EC) TO LINE 5
   IF (B0.NE.152) GOTO 45 
   IF (EC.LT.31) GOTO 45
   IF (EC.GT.34) EXIT TO 20B
* 
/        ERROR NUMBER 6A019 HEX 
* 
40 IF (EC.NE.31) GOTO 41
   MSG 10 TO LINE 12
   MSG 11 TO LINE 13
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   GOTO 77
* 
/        ERROR NUMBER 6A01A HEX 
* 
41 IF (EC.NE.32) GOTO 42
   MSG 14 TO LINE 12
   MSG 15 TO LINE 13
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   GOTO 77
* 
/        ERROR NUMBER 6A01B HEX 
* 
42 IF (EC.NE.33) GOTO 45
   MSG 20 TO LINE 12
   MSG 21 TO LINE 13
   IF (P4.AND.4000.EQ.0) GOTO 77
   IF(B6.XOR.B7.EQ.0) GOTO 43 
   MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   GOTO 77
43 MSG 24 TO LINE 15
   MSG 25 TO LINE 16
   GOTO 77
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC20B,6000(05,07,16),LOCK
*   5.2.14.2 FMC20B - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC98L - DISPLAY CHANNEL STATUS.
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC20.
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC20.
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC20 - MAINTENANCE LOOP TEST 
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC20 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6A01D HEX 
* 
10 FORMAT NORMAL INPUT CHANNEL TWO FAILED 
11 FORMAT WITH MAINTENANCE LOOP SET, UPPER 8 BITS.
12 FORMAT SUCCESSIVELY REPLACE CARDS B20 AND A20. 
13 FORMAT 
* 
/        ERROR NUMBER 6A01E HEX 
* 
14 FORMAT NORMAL INPUT CHANNEL TWO FAILED 
15 FORMAT WITH MAINTENANCE LOOP SET, LOWER 8 BITS.
16 FORMAT SUCCESSIVELY REPLACE CARDS B19 AND A20. 
17 FORMAT 
* 
/        ERROR NUMBER 6A01F HEX 
* 
20 FORMAT NORMAL INPUT CHANNEL TWO FAILED 
21 FORMAT WITH MAINTENANCE LOOP SET, UPPER AND LOWER 8 BITS.
22 FORMAT SUCCESSIVELY REPLACE CARDS
23 FORMAT A20, B19, AND B20.
* 
/         ERROR NUMBER 6A020 HEX
* 
5  FORMAT LOST DATA STUCK-AT-ZERO.
24 FORMAT SUCCESSIVELY REPLACE CARDS
25 FORMAT B22, A21, A20, B21, B19, B20, A19, AND A15. 
* 
/         ERROR NUMBER 6A021 HEX
* 
6  FORMAT LOST DATA STUCK-AT-ONE. 
7  FORMAT B22, A21, A20, B21, B19, B20, A19, AND A15. 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC20B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
* 
/ 
* 
   IF (B0.NE.152) GOTO 50 
   IF (EC.LT.35) GOTO 50
   IF (EC.GT.41) GOTO 50
* 
/        ERROR NUMBER 6A01D HEX 
* 
40 IF (EC.NE.35) GOTO 41
   MSG 10 TO LINE 12
   MSG 11 TO LINE 13
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   GOTO 77
* 
/        ERROR NUMBER 6A01E HEX 
* 
41 IF (EC.NE.36) GOTO 42
   MSG 14 TO LINE 12
   MSG 15 TO LINE 13
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   GOTO 77
* 
/        ERROR NUMBER 6A01F HEX 
* 
42 IF (EC.NE.37) GOTO 45
   MSG 20 TO LINE 12
   MSG 21 TO LINE 13
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   GOTO 77
* 
/         ERROR NUMBER 6A020 HEX
* 
45 IF(EC.NE.40) GOTO 46 
   MSG 5 TO LINE 12 
   IF(P4.AND.4000.EQ.0) EXIT TO 98L 
   MSG 24 TO LINE 14
   MSG 25 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98L
* 
/         ERROR NUMBER 6A021 HEX
* 
46 IF(EC.NE.41) GOTO 50 
   MSG 6 TO LINE 12 
   IF(P4.AND.4000.EQ.0) EXIT TO 98L 
   MSG 22 TO LINE 14
   MSG 7 TO LINE 15 
   MSG 13 TO LINE 16
   EXIT TO 98L
/ 
50 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC21,6000(05,07,16),LOCK 
** 5.2.15 FMC21 - LOOP 885 DECODE TEST                                   FMC009 
*                                                                        FMC009 
*         PURPOSE-                                                       FMC009 
*         FMC21 VERIFIES THAT DATA PATTERNS CAN BE LOOPED THROUGH EACH
*         885 DEVICE INTERFACE ON THE 885 INTERFACE BOARDS USING
*         THE LOOP 885 DECODE FEATURE.
*                                                                        FMC009 
*         METHOD-                                                        FMC009 
*         DO FOR ALL DATA PATTERNS                                       FMC009 
*           FILL BUFFER                                                  FMC009 
*           DO FOR EACH WORD IN BUFFER                                   FMC009 
*             DO FOR ALL 885 DEVICE INTERFACES. 
*               SET THE LOOP 885 DECODE BIT 
*               OUTPUT WORD ON NOC 8
*               VERIFY THAT NIC 8 CONTAINS THE CORRECT WORD 
*               CLEAR LOOP 885 DECODE BIT.
*               CHECK STATUS VALID AND BUS IN PARITY. 
*               ISOLATE DATA ERRORS BASED ON BAD BIT POSITION 
*             ENDO
*           ENDO                                                         FMC009 
*         ENDO                                                           FMC009 
/                                                                        FMC009 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS                              FMC009 
*                                                                        FMC009 
*         EXIT-NO SPECIAL EXIT CONDITIONS                                FMC009 
*                                                                        FMC009 
*         SUBMODULES REFERENCED-                                         FMC009 
*         FMC010 - REPORT UNEXPECTED ERRORS 
*         FMC21A - REPORT EXPECTED ERRORS                                FMC009 
*                                                                        FMC009 
*         REGISTERS USED-                                                FMC009 
*         B0 - TEST NUMBER                                               FMC009 
*         B1 - LOOP COUNT                                                FMC009 
*         B2 - DATA PATTERN INDEX                                        FMC009 
*         B3 - ERROR COUNT                                               FMC009 
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES             FMC009 
*         B5 - BUFFER INDEX                                              FMC009 
*         B6 - TEMPORARY STORAGE                                         FMC009 
*         B7 - 885 DRIVE INTERFACE NUMBER                                FMC1536
*         B8 - LAST 885 DRIVE INTERFACE NUMBER PLUS ONE                  FMC1536
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         B10- LENGTH OF BUFFER LOOP
*         B11- CURRENT DATA PATTERN 
*         B15- FLAG WORD                                                 FMC009 
*         ES, EC, EM, EA - STANDARD USAGE                                FMC009 
*                                                                        FMC009 
*         BUFFERS USED-                                                  FMC009 
*         OB(0) - OB(501)  HOLDS GENERATED DATA PATTERNS                 FMC009 
*         OB(100) - OB(105) PARAMETERS TO SET NOC 8 AND 1 
*                                                                        FMC009 
*                                                                        FMC009 
1  FORMAT FMC21 - LOOP 885 DECODE TEST                                   FMC009 
2  FORMAT FMC21 - LC=*DECD, EC=*DECD
4  FORMAT FMC21 ERROR(S) = *DECD
5  FORMAT DATA ERROR    E*OCT  A*OCT  D*OCT                              FMC009 
*                                                                        FMC009 
/         FLAG EQUATES                                                   FMC009 
*                                                                        FMC009 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC009 
*                                                                        FMC009 
/         FUNCTION CODE EQUATES                                          FMC009 
*                                                                        FMC009 
   EQUATE OPCOM TO 0010 
   EQUATE OPNC TO 0050                                                   FMC009 
   EQUATE IPCS TO 0052                                                   FMC009 
*                                                                        FMC009 
/         MISCELLANEOUS EQUATES                                          FMC009 
*                                                                        FMC009 
   EQUATE BIPE TO 1          *BUS IN PARITY ERROR                        FMC009 
   EQUATE VALID TO 2         *STATUS VALID (NIC8/9) 
   EQUATE NPAT TO 06         *NUMBER OF DATA PATTERNS 
   EQUATE LOOPDEC TO 100     *LOOP DECODE BIT                            FMC009 
   EQUATE OPT885 TO 40       *OPTIONAL 885 INTERFACES                    FMC1536
*                                                                        FMC009 
/         DATA FOR NOC 8 AND NOC 1. 
* 
   DATA (OB(100),CON) 8,377,0,1,0,0 
* 
/                                                                        FMC009 
*                                                                        FMC009 
20 MSG 1 TO DISPLAY, PRINT
*                                                                        FMC009 
/         INITIALIZE. 
*                                                                        FMC009 
21 B0=155                    *TEST NUMBER 6D HEX                         FMC009 
   B1=0                      *LOOP COUNT                                 FMC009 
   B2=0                      *DATA PATTERN INDEX                         FMC009 
   B3=0                      *ERROR COUNT                                FMC009 
   B8=50                     *DETERMINE LAST INTERFACE NO.               FMC1536
   IF(P8.AND.OPT885.NE.0)B8=60                                           FMC1536
   B9 = 21D                  *MODULE NUMBER 21D 
*                                                                        FMC009 
24 IF(B2.EQ.0)DUP 0000B TO OB FOR 100B   0000 PATTERN 
   IF(B2.EQ.1)DUP 7777B TO OB FOR 100B   7777 PATTERN 
   IF(B2.EQ.2)DUP 2525B TO OB FOR 100B   2525 PATTERN 
   IF(B2.EQ.3)DUP 5252B TO OB FOR 100B   5252 PATTERN 
   IF(B2.EQ.4)DUP 1111B TO OB FOR 100B   1111 PATTERN 
   IF(B2.EQ.5)DUP 2222B TO OB FOR 100B   2222 PATTERN 
   IF(B2.EQ.6)DUP 4444B TO OB FOR 100B   4444 PATTERN 
   B5=0                      *BUFFER INDEX                               FMC009 
   IF (B2.LT.4) B10 = 1      *STATIC PATTERNS 
   IF (B2.LT.10B) B10 = 12D  *SLIDING PATTERNS
   IF (B2.GE.10B) B10 = 100  *RANDOM PATTERNS 
25 B7 = 40B                  *FIRST 885 INTERFACE NUMBER
*                                                                        FMC009 
/        PERFORM LOOP 885 DECODE TEST.                                   FMC009 
*                                                                        FMC009 
40 B1=B1+1                                                               FMC009 
44 RES, ABT 70               *RESERVE CHANNEL 
*                                                                        FMC009 
/         SET LOOP 885 DECODE BIT IN NOC 1. 
*                                                                        FMC009 
   OB(104) = LOOPDEC         *SET LOOPDEC BIT FOR NOC 1 
   OB(105)=B7                *885 INTERFACE NUMBER
   FUNC OPNC, ABT 70         *OUT CH=1,B6,B7,ABT 70 
   OUT 3 WORDS FROM OB(103), ABT 70                                      FMC009 
*                                                                        FMC009 
/         LOOP DATA.
*                                                                        FMC009 
   B11=OB(B5).AND.377        *SET DATA PATTERN
   OB(102) = B11
   FUNC OPNC, ABT 70         *OUT CH=8,377,B11,ABT 70 
   OUT 3 WORDS FROM OB(100), ABT 70                                      FMC009 
   FUNC IPCS, ABT 70         *STATUS CHANNEL,ABT 70 
   STATUS 32D WORDS TO SB(1), ABT 70
*                                                                        FMC009 
/         CLEAR LOOP 885 DECODE BIT IN NOC 1. 
*                                                                        FMC009 
   OB(104)=0
   FUNC OPNC, ABT 70         *OUT CH=1,0,B7,ABT 70
   OUT 3 WORDS FROM OB(103), ABT 70                                      FMC009 
*                                                                        FMC009 
/         COMPARE DATA. 
*                                                                        FMC009 
   IF (SB(21).AND.VALID.EQ.0) ERROR 3/22 GOTO 67
   IF (SB(22).NE.B11) GOTO 64 
   IF (SB(21).AND.BIPE.NE.0) ERROR 3/21 GOTO 67  *PARITY
*                                                                        FMC009 
/        FINALIZE.                                                       FMC009 
*                                                                        FMC009 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 44 WHILE (B7+1.NE.B8)    *END OF INTERFACE LOOP 
   GOTO 25 WHILE (B5+1.LT.B10)   *END OF BUFFER LOOP
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP               FMC009 
   GOTO 76                       *TERMINATE                              FMC009 
*                                                                        FMC009 
/        ANALYZE DATA ERRORS                                             FMC009 
*                                                                        FMC009 
64 B4=SB(22).XOR.B11
   MSG 5 (B11,SB(22),B4) TO LINE 7
* 
*         DATA ERROR ISOLATION ANALYSIS TABLE 
*                                                                        FMC009 
*         2 3 4  B6  B6 2 3 4                                            FMC009 
*         -------------------                                            FMC009 
*         - - -   0  0  - - -                                            FMC009 
*         - - X   4  2  X - -                                            FMC009 
*         - X -   3  3  - X -                                            FMC009 
*         - X X   7  4  - - X                                            FMC009 
*         X - -   2  5  X X -                                            FMC009 
*         X - X   6  6  X - X                                            FMC009 
*         X X -   5  7  - X X                                            FMC009 
*         X X X   9  9  X X X                                            FMC009 
*                                                                        FMC009 
   B6=0                                                                  FMC009 
   IF (B4.AND.7.NE.0) B6=2                                               FMC009 
   IF (B4.AND.70.NE.0) B6=B6+3                                           FMC009 
   IF (B4.AND.300.NE.0) B6=B6+4                                          FMC009 
   IF (B6.GT.4) ERROR 3/1, GOTO 67                                       FMC009 
   IF (B6.EQ.2) ERROR 3/2, GOTO 67                                       FMC009 
   IF (B6.EQ.3) ERROR 3/3, GOTO 67                                       FMC009 
   ERROR 3/4, GOTO 67                                                    FMC009 
*                                                                        FMC009 
/        PROCESS EXPECTED ERRORS.                                        FMC009 
*                                                                        FMC009 
67 B15=B15.OR.FLAG1S  *SET FLAG 1                                        FMC009 
   GOTO 71                                                               FMC009 
*                                                                        FMC009 
/        PROCESS UNEXPECTED ERRORS.                                      FMC009 
*                                                                        FMC009 
70 B15=B15.AND.FLAG1C  *CLEAR FLAG 1                                     FMC009 
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
*                                                                        FMC009 
/        CALL APPROPRIATE DISPLAY SUBMODULE.                             FMC009 
*                                                                        FMC009 
74 IF(EC.LT.4000B) CALL 21A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 010  *UNEXPECTED ERROR DISPLAY
*                                                                        FMC009 
75 IF (ES.AND.RC.NE.0) GOTO 40                                           FMC009 
   RES, ABT 77                                                           FMC009 
*                                                                        FMC009 
/        TERMINATE.                                                      FMC009 
*                                                                        FMC009 
76 FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
77 IF (ES.AND.RM.NE.0) GOTO 21                                           FMC009 
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE                    FMC009 
   EXIT                                                                  FMC009 
   END 20                                                                FMC009 
COMPILE                                                                  FMC009 
   MODULE FMC21A,6000(05,07,16),LOCK
*         FMC21A - REPORT EXPECTED ERRORS                                FMC009 
*                                                                        FMC009 
*         PURPOSE-                                                       FMC009 
*                                                                        FMC009 
*         METHOD-                                                        FMC009 
*                                                                        FMC009 
*         ENTRY-                                                         FMC009 
*                                                                        FMC009 
*         EXIT-                                                          FMC009 
*                                                                        FMC009 
*         SUBMODULES REFERENCED-                                         FMC009 
*         FMC21B - PROCESS HIGHER ERROR NUMBERS.
*         FMC98L - DISPLAY CHANNEL STATUS.
*                                                                        FMC009 
*         REGISTERS USED-                                                FMC009 
*         SAME AS FMC21.                                                 FMC009 
*                                                                        FMC009 
*         BUFFERS USED-                                                  FMC009 
*         SAME AS FMC21.                                                 FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
/        COMMON MESSAGES                                                 FMC009 
*                                                                        FMC009 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC21 - LOOP 885 DECODE TEST                                   FMC009 
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC009 
4  FORMAT FMC21 - LINE *OCT - ERROR NUMBER *H*HE                         FMC009 
*                                                                        FMC009 
/        ERROR NUMBER 6D001 HEX                                          FMC009 
*                                                                        FMC009 
10 FORMAT DATA MISCOMPARE ON LOOP 885 DECODE                             FMC009 
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B04, B13, B01, B02, B03, AND A18. 
13 FORMAT B17,B04,B13,B14,B15,B16,B01,B02,B03,AND A18.
*                                                                        FMC009 
/        ERROR NUMBER 6D002 HEX                                          FMC009 
*                                                                        FMC009 
14 FORMAT DATA MISCOMPARE ON LOOP 885 DECODE (BITS 0, 1, 2).             FMC009 
15 FORMAT B01, B04, B13, AND A18. 
16 FORMAT B14, B01, B04, B17, B13, AND A18. 
17 FORMAT                                                                FMC009 
*                                                                        FMC009 
/        ERROR NUMBER 6D003 HEX                                          FMC009 
*                                                                        FMC009 
20 FORMAT DATA MISCOMPARE ON LOOP 885 DECODE (BITS 3, 4, 5).             FMC009 
21 FORMAT B02, B04, B13, AND A18. 
22 FORMAT B15, B02, B04, B17, B13, AND A18. 
23 FORMAT                                                                FMC009 
*                                                                        FMC009 
/        ERROR NUMBER 6D004 HEX                                          FMC009 
*                                                                        FMC009 
24 FORMAT DATA MISCOMPARE ON LOOP 885 DECODE (BITS 6, 7)                 FMC009 
25 FORMAT B03, B04, B13, AND A18. 
26 FORMAT B16, B03, B04, B17, B13, AND A18. 
27 FORMAT                                                                FMC009 
*                                                                        FMC009 
/        SOFTWARE ERROR MESSAGES.                                        FMC009 
*                                                                        FMC009 
30 FORMAT FMC21A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT                 FMC009 
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
31 MSG 1 TO LINE 1                                                       FMC009 
   MSG 2 TO LINE 2                                                       FMC009 
   MSG 3 TO LINE 3                                                       FMC009 
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC009 
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
   IF (B0.NE.155) GOTO 45                                                FMC009 
   IF (EC.EQ.0) GOTO 45                                                  FMC009 
   IF (EC.GT.4) EXIT TO 21B                                              FMC009 
*                                                                        FMC009 
/        ERROR NUMBER 6D001 HEX                                          FMC009 
*                                                                        FMC009 
40 IF (EC.NE.1) GOTO 41                                                  FMC009 
   MSG 10 TO LINE 12                                                     FMC009 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 11 TO LINE 14                                                     FMC009 
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 12 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98L
50 MSG 13 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98L
*                                                                        FMC009 
/        ERROR NUMBER 6D002 HEX                                          FMC009 
*                                                                        FMC009 
41 IF (EC.NE.2) GOTO 42                                                  FMC009 
   MSG 14 TO LINE 12                                                     FMC009 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 51
   MSG 15 TO LINE 15
   MSG 17 TO LINE 16                                                     FMC009 
   EXIT TO 98L
51 MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98L
*                                                                        FMC009 
/        ERROR NUMBER 6D003 HEX                                          FMC009 
*                                                                        FMC009 
42 IF (EC.NE.3) GOTO 43                                                  FMC009 
   MSG 20 TO LINE 12                                                     FMC009 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 52
   MSG 21 TO LINE 15
   MSG 23 TO LINE 16                                                     FMC009 
   EXIT TO 98L
52 MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98L
*                                                                        FMC009 
/        ERROR NUMBER 6D004 HEX                                          FMC009 
*                                                                        FMC009 
43 IF (EC.NE.4) GOTO 45                                                  FMC009 
   MSG 24 TO LINE 12                                                     FMC009 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 53
   MSG 25 TO LINE 15
   MSG 27 TO LINE 16                                                     FMC009 
   EXIT TO 98L
53 MSG 26 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98L
/                                                                        FMC009 
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC009 
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
77 PICTURE                                                               FMC009 
   HALT                                                                  FMC009 
   BLANK                                                                 FMC009 
   EXIT                                                                  FMC009 
   END 31                                                                FMC009 
COMPILE                                                                  FMC009 
   MODULE FMC21B,6000(05,07,16),LOCK
*   5.2.15.2 FMC21B - REPORT EXPECTED ERRORS
*                                                                        FMC009 
*         PURPOSE-                                                       FMC009 
*                                                                        FMC009 
*         METHOD-                                                        FMC009 
*                                                                        FMC009 
*         ENTRY-                                                         FMC009 
*                                                                        FMC009 
*         EXIT-                                                          FMC009 
*                                                                        FMC009 
*         SUBMODULES REFERENCED-
*         FMC98L - DISPLAY CHANNEL STATUS.
*                                                                        FMC009 
*         REGISTERS USED-                                                FMC009 
*         SAME AS FMC21.                                                 FMC009 
*                                                                        FMC009 
*         BUFFERS USED-                                                  FMC009 
*         SAME AS FMC21.                                                 FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
/        COMMON MESSAGES                                                 FMC009 
*                                                                        FMC009 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC21 - LOOP 885 DECODE TEST                                   FMC009 
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC009 
4  FORMAT FMC21 - LINE *OCT - ERROR NUMBER *H*HE                         FMC009 
*                                                                        FMC009 
/        ERROR NUMBER 6D011 HEX 
*                                                                        FMC009 
10 FORMAT DATA PARITY ERROR ON LOOP 885 DECODE.                          FMC009 
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B03, B04, B13, AND A18. 
13 FORMAT B16, B03, B04, B13, AND A18.
*                                                                        FMC009 
/         ERROR NUMBER 6D012 HEX
* 
14 FORMAT NO STATUS VALID ON LOOP 885 DECODE. 
15 FORMAT SUCCESSIVELY REPLACE CARD B04.
16 FORMAT 
17 FORMAT 
20 FORMAT CHECK P8-885 OPTION INTERFACES PARAMETER. 
* 
/        SOFTWARE ERROR MESSAGES.                                        FMC009 
*                                                                        FMC009 
30 FORMAT FMC21B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT                 FMC009 
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
31 MSG 1 TO LINE 1                                                       FMC009 
   MSG 2 TO LINE 2                                                       FMC009 
   MSG 3 TO LINE 3                                                       FMC009 
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC009 
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
   IF (B0.NE.155) GOTO 45                                                FMC009 
   IF (EC.LT.21) GOTO 45
   IF (EC.GT.22) GOTO 45
*                                                                        FMC009 
/        ERROR NUMBER 6D011 HEX 
*                                                                        FMC009 
40 IF (EC.NE.21) GOTO 41
   MSG 10 TO LINE 12                                                     FMC009 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 11 TO LINE 14                                                     FMC009 
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 12 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98L
50 MSG 13 TO LINE 15
   MSG 20 TO LINE 16
   EXIT TO 98L
* 
/         ERROR NUMBER 6D012 HEX
* 
41 IF (EC.NE.22) GOTO 45
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98L
/                                                                        FMC009 
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC009 
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
77 PICTURE                                                               FMC009 
   HALT                                                                  FMC009 
   BLANK                                                                 FMC009 
   EXIT                                                                  FMC009 
   END 31                                                                FMC009 
COMPILE                                                                  FMC009 
   MODULE FMC22,6000(05,07,16),LOCK 
** 5.2.16 FMC22 - LOOP 885 BUS TEST                                      FMC009 
*                                                                        FMC009 
*         PURPOSE-                                                       FMC009 
*         FMC22 VERIFIES THAT DATA PATTERNS CAN BE LOOPED THROUGH THE    FMC009 
*         885 INTERFACE BOARDS USING THE LOOP 885 BUS FEATURE.           FMC009 
*         THIS MODULE ALSO CHECKS BUS IN/OUT PARITY.
*                                                                        FMC009 
*         METHOD-                                                        FMC009 
*         DO FOR PATTERNS 0 THROUGH 7.
*           FILL BUFFER                                                  FMC009 
*           DO FOR EACH WORD IN BUFFER                                   FMC009 
*             DO FOR ALL PARITY STATES. 
*               DO FOR ALL 885 DEVICE INTERFACES. 
*                 SET THE LOOP 885 BUS BIT AND BUS PARITY.
*                 OUTPUT WORD ON NOC 8
*                 VERIFY THAT NIC 8 CONTAINS THE CORRECT WORD 
*                 CLEAR LOOP 885 BUS BIT. 
*                 CHECK STATUS VALID AND BUS IN PARITY. 
*                 ISOLATE DATA ERRORS BASED ON BAD BIT POSITION 
*               ENDO
*             ENDO
*           ENDO                                                         FMC009 
*         ENDO                                                           FMC009 
/                                                                        FMC009 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS                              FMC009 
*                                                                        FMC009 
*         EXIT-NO SPECIAL EXIT CONDITIONS                                FMC009 
*                                                                        FMC009 
*         SUBMODULES REFERENCED-                                         FMC009 
*         FMC010 - REPORT UNEXPECTED ERRORS 
*         FMC22A - REPORT EXPECTED ERRORS                                FMC009 
*                                                                        FMC009 
*         REGISTERS USED-                                                FMC009 
*         B0 - TEST NUMBER                                               FMC009 
*         B1 - LOOP COUNT                                                FMC009 
*         B2 - DATA PATTERN INDEX                                        FMC009 
*         B3 - ERROR COUNT                                               FMC009 
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES             FMC009 
*         B5 - BUFFER INDEX                                              FMC009 
*         B6 - TEMPORARY STORAGE
*         B7 - 885 DRIVE INTERFACE NUMBER                                FMC1536
*         B8 - LAST 885 DRIVE INTERFACE NUMBER PLUS ONE                  FMC1536
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         B10- LENGTH OF BUFFER LOOP
*         B11- FORCE PARITY INDEX 
*         B12- CURRENT DATA PATTERN 
*         B15- FLAG WORD                                                 FMC009 
*         ES, EC, EM, EA - STANDARD USAGE                                FMC009 
*                                                                        FMC009 
*         BUFFERS USED-                                                  FMC009 
*         OB(0) - OB(501)  CONTAINS WORDS TO BE LOOPED                   FMC009 
*         OB(100) - OB(105) PARAMETERS TO SET NOC 8 AND 1 
*                                                                        FMC009 
*                                                                        FMC009 
1  FORMAT FMC22 - LOOP 885 BUS TEST                                      FMC009 
2  FORMAT FMC22 - LC=*DECD, EC=*DECD
4  FORMAT FMC22 ERROR(S) = *DECD
5  FORMAT DATA ERROR    E*OCT  A*OCT  D*OCT                              FMC009 
*                                                                        FMC009 
/         FLAG EQUATES                                                   FMC009 
*                                                                        FMC009 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC009 
*                                                                        FMC009 
/         FUNCTION CODE EQUATES                                          FMC009 
*                                                                        FMC009 
   EQUATE OPCOM TO 0010 
   EQUATE OPNC TO 0050                                                   FMC009 
   EQUATE IPCS TO 0052                                                   FMC009 
*                                                                        FMC009 
/         MISCELLANEOUS EQUATES                                          FMC009 
*                                                                        FMC009 
   EQUATE BIPE TO 1          *BUS IN PARITY ERROR                        FMC009 
   EQUATE VALID TO 2         *STATUS VALID (NIC 8/9)
   EQUATE NPAT TO 6          *NUMBER OF DATA PATTERNS 
   EQUATE FBIP TO 4          *FORCE BUSIN PARITY
   EQUATE FBOP TO 10         *FORCE BUSOUT PARITY 
   EQUATE LOOPBUS TO 200     *LOOP BUS BIT                               FMC009 
   EQUATE OPT885 TO 40       *OPTIONAL 885 INTERFACES                    FMC1536
*                                                                        FMC009 
/         DATA FOR NOC 8 AND NOC 1. 
* 
   DATA (OB(100),CON) 8,0,377,1,0,0 
* 
/                                                                        FMC009 
*                                                                        FMC009 
20 MSG 1 TO DISPLAY, PRINT
*                                                                        FMC009 
/         INITIALIZE. 
*                                                                        FMC009 
21 B0=155                    *TEST NUMBER 6D HEX                         FMC009 
   B1=0                      *LOOP COUNT                                 FMC009 
   B2=0                      *DATA PATTERN INDEX                         FMC009 
   B3=0                      *ERROR COUNT                                FMC009 
   B8=50                     *DETERMINE LAST INTERFACE NO.               FMC1536
   IF(P8.AND.OPT885.NE.0)B8=60                                           FMC1536
   B9 = 22D                  *MODULE NUMBER 22D 
*                                                                        FMC009 
24 IF(B2.EQ.0)DUP 0000B TO OB FOR 100B   0000 PATTERN 
   IF(B2.EQ.1)DUP 7777B TO OB FOR 100B   7777 PATTERN 
   IF(B2.EQ.2)DUP 2525B TO OB FOR 100B   2525 PATTERN 
   IF(B2.EQ.3)DUP 5252B TO OB FOR 100B   5252 PATTERN 
   IF(B2.EQ.4)DUP 1111B TO OB FOR 100B   1111 PATTERN 
   IF(B2.EQ.5)DUP 2222B TO OB FOR 100B   2222 PATTERN 
   IF(B2.EQ.6)DUP 4444B TO OB FOR 100B   4444 PATTERN 
   B5=0                      *BUFFER INDEX                               FMC009 
   IF (B2.LT.4) B10=1        *STATIC PATTERNS 
   IF (B2.GE.4) B10=12D      *SLIDING PATTERNS
25 B11 = 0                   *INITIALIZE PARITY INDEX 
*                                                                        FMC009 
/         PERFORM LOOP 885 BUS TEST.
*                                                                        FMC009 
40 B1=B1+1                                                               FMC009 
   B7 = 40                   *FIRST 885 INTERFACE NUMBER
44 RES, ABT 70               *RESERVE CHANNEL 
*                                                                        FMC009 
/         DETERMINE PARITY TO FORCE.
*                                                                        FMC009 
   IF(B11.EQ.0) B6=LOOPBUS   *NONE FORCED 
   IF(B11.EQ.1) B6=LOOPBUS+FBIP  *BUSIN PARITY
   IF(B11.EQ.2) B6=LOOPBUS+FBOP  *BUSOUT PARITY 
* 
/         SET LOOP 885 BUS BIT AND BUS PARITY.
* 
   OB(104)=B6                *SET LOOPBUS + PARITY
   OB(105)=B7                *885 INTERFACE NUMBER                       FMC1536
   FUNC OPNC, ABT 70         *OUT CH=1,B6,B7,ABT 70 
   OUT 3 WORDS FROM OB(103), ABT 70                                      FMC009 
*                                                                        FMC009 
/         LOOP DATA.
*                                                                        FMC009 
   B12=OB(B5).AND.377 
   OB(101) = B12
   FUNC OPNC, ABT 70         *OUT CH=8,B12,377B,ABT 70
   OUT 3 WORDS FROM OB(100), ABT 70                                      FMC009 
   FUNC IPCS, ABT 70         *STATUS CHANNEL,ABT 70 
   STATUS 32D WORDS TO SB(1), ABT 70
*                                                                        FMC009 
/         CLEAR LOOP 885 BUS BIT IN NOC 1.
*                                                                        FMC009 
   OB(104)=0
   FUNC OPNC, ABT 70         *OUT CH=1,0,B7,ABT 70
   OUT 3 WORDS FROM OB(103), ABT 70                                      FMC009 
*                                                                        FMC009 
/         COMPARE DATA. 
*                                                                        FMC009 
   IF(SB(21).AND.VALID.EQ.0) ERROR 3/26 GOTO 67 
   IF (SB(22).NE.B12) GOTO 64 
   IF(B11.EQ.0) GOTO 50 
   IF(SB(21).AND.BIPE.EQ.0) ERROR 3/27 GOTO 67  *PARITY 
   GOTO 60
50 IF(SB(21).AND.BIPE.NE.0) ERROR 3/25 GOTO 67  *PARITY 
*                                                                        FMC009 
/        FINALIZE.                                                       FMC009 
*                                                                        FMC009 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 44 WHILE (B7+1.NE.B8)    *END OF INTERFACE LOOP 
   GOTO 40 WHILE (B11+1.LE.2)    *END OF PARITY LOOP
   GOTO 25 WHILE (B5+1.LT.B10)   *END OF BUFFER LOOP
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP               FMC009 
   GOTO 76                       *TERMINATE                              FMC009 
*                                                                        FMC009 
/        ANALYZE DATA ERRORS                                             FMC009 
*                                                                        FMC009 
64 B4=SB(22).XOR.B12
   MSG 5 (B12,SB(22),B4) TO LINE 7
* 
*         DATA ERROR ISOLATION ANALYSIS TABLE 
*                                                                        FMC009 
*         2 3 4  B6  B6 2 3 4                                            FMC009 
*         -------------------                                            FMC009 
*         - - -   0  0  - - -                                            FMC009 
*         - - X   4  2  X - -                                            FMC009 
*         - X -   3  3  - X -                                            FMC009 
*         - X X   7  4  - - X                                            FMC009 
*         X - -   2  5  X X -                                            FMC009 
*         X - X   6  6  X - X                                            FMC009 
*         X X -   5  7  - X X                                            FMC009 
*         X X X   9  9  X X X                                            FMC009 
*                                                                        FMC009 
   B6=0                                                                  FMC009 
   IF (B4.AND.7.NE.0) B6=2                                               FMC009 
   IF (B4.AND.70.NE.0) B6=B6+3                                           FMC009 
   IF (B4.AND.300.NE.0) B6=B6+4                                          FMC009 
   IF (B6.GT.4) ERROR 3/5, GOTO 67                                       FMC009 
   IF (B6.EQ.2) ERROR 3/6, GOTO 67                                       FMC009 
   IF (B6.EQ.3) ERROR 3/7, GOTO 67                                       FMC009 
   ERROR 3/10, GOTO 67                                                   FMC009 
*                                                                        FMC009 
/        PROCESS EXPECTED ERRORS.                                        FMC009 
*                                                                        FMC009 
67 B15=B15.OR.FLAG1S  *SET FLAG 1                                        FMC009 
   GOTO 71                                                               FMC009 
*                                                                        FMC009 
/        PROCESS UNEXPECTED ERRORS.                                      FMC009 
*                                                                        FMC009 
70 B15=B15.AND.FLAG1C  *CLEAR FLAG 1                                     FMC009 
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
*                                                                        FMC009 
/        CALL APPROPRIATE DISPLAY SUBMODULE.                             FMC009 
*                                                                        FMC009 
74 IF(EC.LT.4000B) CALL 22A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 010  *UNEXPECTED ERROR DISPLAY
*                                                                        FMC009 
75 IF (ES.AND.RC.NE.0) GOTO 40                                           FMC009 
   RES, ABT 77                                                           FMC009 
*                                                                        FMC009 
/        TERMINATE.                                                      FMC009 
*                                                                        FMC009 
76 FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
77 IF (ES.AND.RM.NE.0) GOTO 21                                           FMC009 
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE                    FMC009 
   EXIT                                                                  FMC009 
   END 20                                                                FMC009 
COMPILE                                                                  FMC009 
   MODULE FMC22A,6000(05,07,16),LOCK
*   5.2.16.1 FMC22A - REPORT EXPECTED ERRORS
*                                                                        FMC009 
*         PURPOSE-                                                       FMC009 
*                                                                        FMC009 
*         METHOD-                                                        FMC009 
*                                                                        FMC009 
*         ENTRY-                                                         FMC009 
*                                                                        FMC009 
*         EXIT-                                                          FMC009 
*                                                                        FMC009 
*         SUBMODULES REFERENCED-                                         FMC009 
*         FMC22B - PROCESS HIGHER ERROR NUMBERS.
*         FMC98L - DISPLAY CHANNEL STATUS.
*                                                                        FMC009 
*         REGISTERS USED-                                                FMC009 
*         SAME AS FMC22.                                                 FMC009 
*                                                                        FMC009 
*         BUFFERS USED-                                                  FMC009 
*         SAME AS FMC22.                                                 FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
/        COMMON MESSAGES                                                 FMC009 
*                                                                        FMC009 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC22 - LOOP 885 BUS TEST                                      FMC009 
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC009 
4  FORMAT FMC22 - LINE *OCT - ERROR NUMBER *H*HE                         FMC009 
*                                                                        FMC009 
/        ERROR NUMBER 6D005 HEX                                          FMC009 
*                                                                        FMC009 
10 FORMAT DATA MISCOMPARE ON LOOP 885 BUS                                FMC009 
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B04, B13, B01, B02, B03, AND A18. 
13 FORMAT B17,B04,B13,B14,B15,B16,B01,B02,B03,AND A18.
*                                                                        FMC009 
/        ERROR NUMBER 6D006 HEX                                          FMC009 
*                                                                        FMC009 
14 FORMAT DATA MISCOMPARE ON LOOP 885 BUS (BITS 0, 1, 2).                FMC009 
15 FORMAT B01, B04, B13, AND A18. 
16 FORMAT B14, B01, B04, B17, B13, AND A18. 
17 FORMAT                                                                FMC009 
*                                                                        FMC009 
/        ERROR NUMBER 6D007 HEX                                          FMC009 
*                                                                        FMC009 
20 FORMAT DATA MISCOMPARE ON LOOP 885 BUS (BITS 3, 4, 5).                FMC009 
21 FORMAT B02, B04, B13, AND A18. 
22 FORMAT B15, B02, B04, B17, B13, AND A18. 
23 FORMAT                                                                FMC009 
*                                                                        FMC009 
/        ERROR NUMBER 6D008 HEX                                          FMC009 
*                                                                        FMC009 
24 FORMAT DATA MISCOMPARE ON LOOP 885 BUS (BITS 6, 7)                    FMC009 
25 FORMAT B03, B04, B13, AND A18. 
26 FORMAT B16, B03, B04, B17, B13, AND A18. 
27 FORMAT                                                                FMC009 
*                                                                        FMC009 
/        SOFTWARE ERROR MESSAGES.                                        FMC009 
*                                                                        FMC009 
30 FORMAT FMC22A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT                 FMC009 
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
31 MSG 1 TO LINE 1                                                       FMC009 
   MSG 2 TO LINE 2                                                       FMC009 
   MSG 3 TO LINE 3                                                       FMC009 
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC009 
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
   IF (B0.NE.155) GOTO 45                                                FMC009 
   IF (EC.LT.5) GOTO 45 
   IF (EC.GT.10) EXIT TO 22B                                             FMC009 
*                                                                        FMC009 
/        ERROR NUMBER 6D005 HEX                                          FMC009 
*                                                                        FMC009 
40 IF (EC.NE.5) GOTO 41                                                  FMC009 
   MSG 10 TO LINE 12                                                     FMC009 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 11 TO LINE 14                                                     FMC009 
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 12 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98L
50 MSG 13 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98L
*                                                                        FMC009 
/        ERROR NUMBER 6D006 HEX                                          FMC009 
*                                                                        FMC009 
41 IF (EC.NE.6) GOTO 42                                                  FMC009 
   MSG 14 TO LINE 12                                                     FMC009 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 51
   MSG 15 TO LINE 15
   MSG 17 TO LINE 16                                                     FMC009 
   EXIT TO 98L
51 MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98L
*                                                                        FMC009 
/        ERROR NUMBER 6D007 HEX                                          FMC009 
*                                                                        FMC009 
42 IF (EC.NE.7) GOTO 43                                                  FMC009 
   MSG 20 TO LINE 12                                                     FMC009 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 52
   MSG 21 TO LINE 15
   MSG 23 TO LINE 16                                                     FMC009 
   EXIT TO 98L
52 MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98L
*                                                                        FMC009 
/        ERROR NUMBER 6D008 HEX                                          FMC009 
*                                                                        FMC009 
43 IF (EC.NE.10) GOTO 45                                                 FMC009 
   MSG 24 TO LINE 12                                                     FMC009 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 53
   MSG 25 TO LINE 15
   MSG 27 TO LINE 16                                                     FMC009 
   EXIT TO 98L
53 MSG 26 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98L
/                                                                        FMC009 
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC009 
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
77 PICTURE                                                               FMC009 
   HALT                                                                  FMC009 
   BLANK                                                                 FMC009 
   EXIT                                                                  FMC009 
   END 31                                                                FMC009 
COMPILE                                                                  FMC009 
   MODULE FMC22B,6000(05,07,16),LOCK
*         FMC22B - REPORT EXPECTED ERRORS                                FMC009 
*                                                                        FMC009 
*         PURPOSE-                                                       FMC009 
*                                                                        FMC009 
*         METHOD-                                                        FMC009 
*                                                                        FMC009 
*         ENTRY-                                                         FMC009 
*                                                                        FMC009 
*         EXIT-                                                          FMC009 
*                                                                        FMC009 
*         SUBMODULES REFERENCED-
*         FMC98L - DISPLAY CHANNEL STATUS.
*                                                                        FMC009 
*         REGISTERS USED-                                                FMC009 
*         SAME AS FMC22.                                                 FMC009 
*                                                                        FMC009 
*         BUFFERS USED-                                                  FMC009 
*         SAME AS FMC22.                                                 FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
/        COMMON MESSAGES                                                 FMC009 
*                                                                        FMC009 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC22 - LOOP 885 BUS TEST                                      FMC009 
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC009 
4  FORMAT FMC22 - LINE *OCT - ERROR NUMBER *H*HE                         FMC009 
*                                                                        FMC009 
/        ERROR NUMBER 6D015 HEX 
*                                                                        FMC009 
10 FORMAT DATA PARITY ERROR ON LOOP 885 BUS                              FMC009 
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B03, B04, B13, AND A18. 
13 FORMAT B16, B03, B04, B13, AND A18.
*                                                                        FMC009 
/         ERROR NUMBER 6D016 HEX
* 
14 FORMAT NO STATUS VALID ON LOOP 885 BUS.
15 FORMAT SUCCESSIVELY REPLACE CARD B04.
16 FORMAT 
17 FORMAT 
* 
/         ERROR NUMBER 6D017 HEX
* 
20 FORMAT NO STATUS PARITY ERROR ON LOOP 885 BUS. 
21 FORMAT SUCCESSIVELY REPLACE CARDS
22 FORMAT B04, B03, A18, AND A20. 
23 FORMAT 
24 FORMAT CHECK P8-885 OPTION INTERFACES PARAMETER. 
* 
/        SOFTWARE ERROR MESSAGES.                                        FMC009 
*                                                                        FMC009 
30 FORMAT FMC22B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT                 FMC009 
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
31 MSG 1 TO LINE 1                                                       FMC009 
   MSG 2 TO LINE 2                                                       FMC009 
   MSG 3 TO LINE 3                                                       FMC009 
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC009 
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
   IF (B0.NE.155) GOTO 45                                                FMC009 
   IF (EC.LT.25) GOTO 45
   IF (EC.GT.27) GOTO 45
*                                                                        FMC009 
/        ERROR NUMBER 6D015 HEX 
*                                                                        FMC009 
40 IF (EC.NE.25) GOTO 41
   MSG 10 TO LINE 12                                                     FMC009 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 11 TO LINE 14                                                     FMC009 
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 12 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98L
50 MSG 13 TO LINE 15
   MSG 24 TO LINE 16
   EXIT TO 98L
* 
/         ERROR NUMBER 6D016 HEX
* 
41 IF(EC.NE.26) GOTO 42 
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98L
* 
/         ERROR NUMBER 6D017 HEX
* 
42 IF (EC.NE.27) GOTO 45
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 21 TO LINE 14
   MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98L
/                                                                        FMC009 
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC009 
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
77 PICTURE                                                               FMC009 
   HALT                                                                  FMC009 
   BLANK                                                                 FMC009 
   EXIT                                                                  FMC009 
   END 31                                                                FMC009 
COMPILE                                                                  FMC009 
   MODULE FMC23,6000(05,07,16),LOCK 
** 5.2.17 FMC23 - LOOP 885 WRITE/READ/TAG GATE TEST                      FMC009 
*                                                                        FMC009 
*         PURPOSE-                                                       FMC009 
*         FMC23 VERIFIES THE ABILITY TO LOOP GATING SIGNALS              FMC009 
*         THROUGH THE 885 INTERFACE BOARDS.                              FMC009 
*                                                                        FMC009 
*         METHOD-                                                        FMC009 
*         DO FOR ALL 885 DEVICE INTERFACES
*           MASTER CLEAR CONTROLLER 
*           SELECT DEVICE INTERFACE ON NOC 1. 
*           SET SKIP SECTOR MARK. 
*           SEND READ GATE
*           CHECK READ GATE STATUS
*           SEND WRITE GATE AND W/R ECC 
*           CHECK WRITE GATE STATUS 
*           SEND READ GATE AND FAST START 
*           CHECK TAG GATE STATUS 
*           MASTER CLEAR CONTROLLER 
*           CHECK STATUS VALID
*         ENDO
/                                                                        FMC009 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS                              FMC009 
*                                                                        FMC009 
*         EXIT-NO SPECIAL EXIT CONDITIONS                                FMC009 
*                                                                        FMC009 
*         SUBMODULES REFERENCED-                                         FMC009 
*         FMC010 - REPORT UNEXPECTED ERRORS 
*         FMC23A - REPORT EXPECTED ERRORS                                FMC009 
*                                                                        FMC009 
*         REGISTERS USED-                                                FMC009 
*         B0 - TEST NUMBER                                               FMC009 
*         B1 - LOOP COUNT                                                FMC009 
*         B3 - ERROR COUNT                                               FMC009 
*         B4 - NOC 4 DATA 
*         B5 - NOC 5 DATA 
*         B7 - 885 DRIVE INTERFACE NUMBER                                FMC1536
*         B8 - LAST 885 DRIVE INTERFACE NUMBER PLUS ONE                  FMC1536
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         B15- FLAG WORD                                                 FMC009 
*         ES, EC, EM, EA - STANDARD USAGE                                FMC009 
*                                                                        FMC009 
*         BUFFERS USED-                                                  FMC009 
*         OB(0) - OB(2)  PARAMETERS TO SET NOC 4                         FMC009 
*         OB(3) - OB(5)  PARAMETERS TO SET NOC 5                         FMC009 
*         OB(10) - OB(12) PARAMETERS TO SET NOC 1                        FMC1536
*         OB(13) - OB(15) PARAMETERS TO SET NOC 2 
*                                                                        FMC009 
*                                                                        FMC009 
1  FORMAT FMC23 - LOOP 885 WRT/READ/TAG GATE TEST                        FMC009 
2  FORMAT FMC23 - LC=*DECD, EC=*DECD
4  FORMAT FMC23 ERROR(S) = *DECD
*                                                                        FMC009 
/         FLAG EQUATES                                                   FMC009 
*                                                                        FMC009 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC009 
*                                                                        FMC009 
/         FUNCTION CODE EQUATES                                          FMC009 
*                                                                        FMC009 
   EQUATE OPCOM TO 0010 
   EQUATE OPNC TO 0050                                                   FMC009 
   EQUATE ECWS TO 0051
   EQUATE IPCS TO 0052                                                   FMC009 
   EQUATE IPFP TO 0054
*                                                                        FMC009 
/         MISCELLANEOUS EQUATES                                          FMC009 
*                                                                        FMC009 
   EQUATE OPT885 TO 40       *OPTIONAL 885 INTERFACES                    FMC1536
*                                                                        FMC009 
/         NORMAL CHANNEL EQUATES                                         FMC009 
*                                                                        FMC009 
   EQUATE VALID TO 2         *STATUS VALID (NIC 8/9)
   EQUATE RDG5 TO 4          *READ GATE (NOC 5/2) 
   EQUATE WRG5 TO 10         *WRITE GATE (NOC 5/3)
   EQUATE FST5 TO 20         *FAST START (NOC 5/4)
   EQUATE ECC5 TO 4          *W/R ECC (NOC 5/10)
   EQUATE PCLK TO 100        *PROCESSOR CLOCK (NOC 5/14)
   EQUATE WRG9 TO 4          *WRITE GATE (NIC 9/2)
   EQUATE RDG9 TO 2          *READ GATE (NIC 9/1) 
   EQUATE TAG9 TO 1          *TAG GATE (NIC 9/0)
*                                                                        FMC009 
/         PARAMETER BUFFERS FOR OUTPUTTING ON NOC-S 4 AND 5.             FMC009 
*                                                                        FMC009 
   DATA (OB(0),CON) 1,377,377,0,0,0,0,0 
*                                                                        FMC1536
/         PARAMETER BUFFER FOR XMITING ON NOC-S 1,2,4,AND 5.
*                                                                        FMC1536
   DATA (OB(10),CON) 1,0,40  *NOC 1 INTERFACE SELECT
   DATA (OB(13),CON) 2,0,100  *NOC 2 SKIP SECTOR MARK 
   DATA (OB(16),CON) 4,0,0   *NOC 4 BIT COUNT 
   DATA (OB(21),CON) 5,0,0   *NOC 5 CONTROL WORD
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
20 MSG 1 TO DISPLAY, PRINT
*                                                                        FMC009 
/        INITIALIZE.                                                     FMC009 
*                                                                        FMC009 
21 B0=155                    *TEST NUMBER 6D HEX                         FMC009 
   B1=0                      *LOOP COUNT                                 FMC009 
   B3=0                      *ERROR COUNT                                FMC009 
   B7=40                     *FIRST 885 INTERFACE NUMBER                 FMC1536
   B8=50                     *DETERMINE LAST INTERFACE NO.               FMC1536
   IF(P8.AND.OPT885.NE.0)B8=60                                           FMC1536
   B9 = 23D                  *MODULE NUMBER 23D 
*                                                                        FMC009 
/        PERFORM LOOP 885 WRITE/READ/TAG GATE TEST.                      FMC009 
*                                                                        FMC009 
40 B1=B1+1                                                               FMC009 
44 RES, ABT 70               *RESERVE CHANNEL 
   FUNC IPFP, ABT 70         *FLAG PULSE CH=1,ABT 70
   OUT 1 WORDS FROM OB(10), ABT 70  *MASTER CLEAR 
   GOSUB 65                  *STATUS CHANNEL, ABT 70
   OB(12)=B7                 *885 INTERFACE NUMBER
   FUNC OPNC, ABT 70         *OUT CH=1,0,B7,ABT 70
   OUT 3 WORDS FROM OB(10), ABT 70                                       FMC1536
   FUNC OPNC,ABT 70          *OUT CH=2,0,100B,ABT 70
   OUT 3 WORDS FROM OB(13),ABT 70                                        FMC1537
*                                                                        FMC1537
/         PERFORM LOOP 885 READ GATE TEST 
*                                                                        FMC009 
   OB(4)=RDG5                *SEND READ GATE
   OB(3)=PCLK                *SET PROC CLOCK
   GOSUB 62                  *EXECUTE SEQUENCE + STATUS 
   IF (SB(24).AND.RDG9.EQ.0) ERROR 3/11 GOTO 67 
*                                                                        FMC009 
   GOSUB 63                  *TERMINATE CONTROL WORD SEQ. 
   IF (SB(24).AND.RDG9.NE.0) ERROR 3/14 GOTO 67 
*                                                                        FMC009 
/         PERFORM LOOP 885 WRITE GATE TEST
*                                                                        FMC009 
   OB(4)=WRG5                *SEND WRITE GATE 
   OB(3)=ECC5+PCLK           *SEND W/R ECC + PROC CLOCK 
   GOSUB 62                  *EXECUTE SEQUENCE + STATUS 
   IF (SB(24).AND.WRG9.EQ.0) ERROR 3/12 GOTO 67 
*                                                                        FMC009 
   GOSUB 63                  *TERMINATE CONTROL WORD SEQ. 
   IF (SB(24).AND.WRG9.NE.0) ERROR 3/15 GOTO 67 
* 
/         PERFORM LOOP 885 TAG GATE TEST
* 
   OB(4)=RDG5+FST5           *SEND READ GATE AND FAST START 
   OB(3)=PCLK                *SET PROCESSOR CLOCK 
   GOSUB 62                  *EXECUTE SEQUENCE + STATUS 
   IF (SB(24).AND.TAG9.EQ.0) ERROR 3/13 GOTO 67 
* 
   GOSUB 63                  *TERMINATE CONTROL WORD SEQ. 
   IF (SB(24).AND.TAG9.NE.0) ERROR 3/16 GOTO 67 
* 
/         CHECK FOR STATUS VALID STUCK-AT-ONE 
* 
   FUNC IPFP,ABT 70          *FLAG PULSE CH=1,ABT 70
   OUT 1 WORDS FROM OB(10), ABT 70
   GOSUB 65                  *STATUS CHANNEL, ABT 70
   IF (SB(21).AND.VALID.NE.0) ERROR 3/17 GOTO 67
*                                                                        FMC009 
/        FINALIZE.                                                       FMC009 
*                                                                        FMC009 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 44 WHILE (B7+1.NE.B8)    *END OF INTERFACE LOOP 
   GOTO 76                       *TERMINATE                              FMC009 
*                                                                        FMC009 
/         OUTPUT ON CHANNELS 4, 5 AND READ CHANNEL STATUSES.
*                                                                        FMC009 
62 FUNC ECWS, ABT 64         *CONTROL A,B,C,D,EX,ABT 70 
   OUT 49D WORDS FROM OB(0), ABT 64 
65 FUNC IPCS, ABT 64         *STATUS CHANNEL, ABT 70
   STATUS 32D WORDS TO SB(1), ABT 64
   RETURN                                                                FMC009 
63 FUNC OPNC, ABT 64         *OUT CH=4,0,0,ABT 64 
   OUT 3 WORDS FROM OB(16), ABT 64
   FUNC IPFP, ABT 64         *FLAG PULSE CH=5,ABT 64
   OUT 1 WORDS FROM OB(21), ABT 64
   FUNC OPNC, ABT 64         *OUT CH=5,0,0,ABT 64 
   OUT 3 WORDS FROM OB(21), ABT 64
   GOTO 65
64 ENDSUB GOTO 70                                                        FMC009 
*                                                                        FMC009 
/        PROCESS EXPECTED ERRORS.                                        FMC009 
*                                                                        FMC009 
67 B15=B15.OR.FLAG1S  *SET FLAG 1                                        FMC009 
   GOTO 71                                                               FMC009 
*                                                                        FMC009 
/        PROCESS UNEXPECTED ERRORS.                                      FMC009 
*                                                                        FMC009 
70 B15=B15.AND.FLAG1C  *CLEAR FLAG 1                                     FMC009 
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
   ENDSUB 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
*                                                                        FMC009 
/        CALL APPROPRIATE DISPLAY SUBMODULE.                             FMC009 
*                                                                        FMC009 
74 IF(EC.LT.4000B) CALL 23A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 010  *UNEXPECTED ERROR DISPLAY
*                                                                        FMC009 
75 IF (ES.AND.RC.NE.0) GOTO 40                                           FMC009 
   RES, ABT 77                                                           FMC009 
*                                                                        FMC009 
/        TERMINATE.                                                      FMC009 
*                                                                        FMC009 
76 FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
77 IF (ES.AND.RM.NE.0) GOTO 21                                           FMC009 
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE                    FMC009 
   EXIT                                                                  FMC009 
   END 20                                                                FMC009 
COMPILE                                                                  FMC009 
   MODULE FMC23A,6000(05,07,16),LOCK
*   5.2.17.1 FMC23A - REPORT EXPECTED ERRORS
*                                                                        FMC009 
*         PURPOSE-                                                       FMC009 
*                                                                        FMC009 
*         METHOD-                                                        FMC009 
*                                                                        FMC009 
*         ENTRY-                                                         FMC009 
*                                                                        FMC009 
*         EXIT-                                                          FMC009 
*                                                                        FMC009 
*         SUBMODULES REFERENCED-                                         FMC009 
*         FMC23B - PROCESS HIGHER ERROR NUMBERS.
*         FMC98L - DISPLAY CHANNEL STATUS.
*                                                                        FMC009 
*         REGISTERS USED-                                                FMC009 
*         SAME AS FMC23.                                                 FMC009 
*                                                                        FMC009 
*         BUFFERS USED-                                                  FMC009 
*         SAME AS FMC23.                                                 FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
/        COMMON MESSAGES                                                 FMC009 
*                                                                        FMC009 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC23 - LOOP 885 WRT/READ/TAG GATE TEST                        FMC009 
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC009 
4  FORMAT FMC23 - LINE *OCT - ERROR NUMBER *H*HE                         FMC009 
6  FORMAT SUCCESSIVELY REPLACE CARDS
*                                                                        FMC009 
/        ERROR NUMBER 6D009 HEX                                          FMC009 
*                                                                        FMC009 
10 FORMAT LOOP READ GATE A CONSTANT ZERO.                                FMC009 
/         SUCCESSIVELY REPLACE CARDS
11 FORMAT B02, B04, B21, B13, 
12 FORMAT B15,B02,B17,B04,B21,B13,
13 FORMAT B19, B22, A19, AND A21. 
*                                                                        FMC009 
/        ERROR NUMBER 6D00A HEX                                          FMC009 
*                                                                        FMC009 
14 FORMAT LOOP WRITE GATE A CONSTANT ZERO.                               FMC009 
/         SUCCESSIVELY REPLACE CARDS
15 FORMAT B01, B04, B21, B13, 
16 FORMAT B14,B01,B17,B04,B21,B13,
17 FORMAT CHECK P8-885 OPTION INTERFACES PARAMETER. 
*                                                                        FMC009 
/        ERROR NUMBER 6D00B HEX                                          FMC009 
*                                                                        FMC009 
20 FORMAT LOOP TAG GATE A CONSTANT ZERO.                                 FMC009 
/         SUCCESSIVELY REPLACE CARDS
21 FORMAT B03, B04, B13, AND B19. 
22 FORMAT B16, B03, B17, B04, B13, AND B19. 
23 FORMAT                                                                FMC009 
*                                                                        FMC009 
/        ERROR NUMBER 6D00C HEX                                          FMC009 
*                                                                        FMC009 
24 FORMAT LOOP READ GATE A CONSTANT ONE.                                 FMC009 
/         SUCCESSIVELY REPLACE CARDS
25 FORMAT B02, B04, B21, B13, 
26 FORMAT B15,B02,B17,B04,B21,B13,
27 FORMAT                                                                FMC009 
*                                                                        FMC009 
/        SOFTWARE ERROR MESSAGES.                                        FMC009 
*                                                                        FMC009 
30 FORMAT FMC23A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT                 FMC009 
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
31 MSG 1 TO LINE 1                                                       FMC009 
   MSG 2 TO LINE 2                                                       FMC009 
   MSG 3 TO LINE 3                                                       FMC009 
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC009 
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
   IF (B0.NE.155) GOTO 45                                                FMC009 
   IF (EC.LT.11) GOTO 45
   IF (EC.GT.14) EXIT TO 23B                                             FMC009 
*                                                                        FMC009 
/        ERROR NUMBER 6D009 HEX                                          FMC009 
*                                                                        FMC009 
40 IF (EC.NE.11) GOTO 41                                                 FMC009 
   MSG 10 TO LINE 12                                                     FMC009 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 6 TO LINE 13 
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 11 TO LINE 14
   MSG 13 TO LINE 15
   EXIT TO 98L
50 MSG 12 TO LINE 14
   MSG 13 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98L
*                                                                        FMC009 
/        ERROR NUMBER 6D00A HEX                                          FMC009 
*                                                                        FMC009 
41 IF (EC.NE.12) GOTO 42                                                 FMC009 
   MSG 14 TO LINE 12                                                     FMC009 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 51
   MSG 15 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98L
51 MSG 16 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98L
*                                                                        FMC009 
/        ERROR NUMBER 6D00B HEX                                          FMC009 
*                                                                        FMC009 
42 IF (EC.NE.13) GOTO 43                                                 FMC009 
   MSG 20 TO LINE 12                                                     FMC009 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 52
   MSG 21 TO LINE 15
   MSG 23 TO LINE 16                                                     FMC009 
   EXIT TO 98L
52 MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98L
*                                                                        FMC009 
/        ERROR NUMBER 6D00C HEX                                          FMC009 
*                                                                        FMC009 
43 IF (EC.NE.14) GOTO 45                                                 FMC009 
   MSG 24 TO LINE 12                                                     FMC009 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 53
   MSG 25 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98L
53 MSG 26 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98L
/                                                                        FMC009 
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC009 
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
77 PICTURE                                                               FMC009 
   HALT                                                                  FMC009 
   BLANK                                                                 FMC009 
   EXIT                                                                  FMC009 
   END 31                                                                FMC009 
COMPILE                                                                  FMC009 
   MODULE FMC23B,6000(05,07,16),LOCK
*   5.2.17.2 FMC23B - REPORT EXPECTED ERRORS
*                                                                        FMC009 
*         PURPOSE-                                                       FMC009 
*                                                                        FMC009 
*         METHOD-                                                        FMC009 
*                                                                        FMC009 
*         ENTRY-                                                         FMC009 
*                                                                        FMC009 
*         EXIT-                                                          FMC009 
*                                                                        FMC009 
*         SUBMODULES REFERENCED-
*         FMC98L - DISPLAY CHANNEL STATUS.
*                                                                        FMC009 
*         REGISTERS USED-                                                FMC009 
*         SAME AS FMC23.                                                 FMC009 
*                                                                        FMC009 
*         BUFFERS USED-                                                  FMC009 
*         SAME AS FMC23.                                                 FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
/        COMMON MESSAGES                                                 FMC009 
*                                                                        FMC009 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC23 - LOOP 885 WRT/READ/TAG GATE TEST                        FMC009 
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC009 
4  FORMAT FMC23 - LINE *OCT - ERROR NUMBER *H*HE                         FMC009 
6  FORMAT SUCCESSIVELY REPLACE CARDS
*                                                                        FMC009 
/        ERROR NUMBER 6D00D HEX                                          FMC009 
*                                                                        FMC009 
10 FORMAT LOOP WRITE GATE A CONSTANT ONE.                                FMC009 
/         SUCCESSIVELY REPLACE CARDS
11 FORMAT B01, B04, B21, B13, 
12 FORMAT B14,B01,B17,B04,B21,B13,
13 FORMAT B19, B22, A19, AND A21. 
*                                                                        FMC009 
/        ERROR NUMBER 6D00E HEX                                          FMC009 
*                                                                        FMC009 
14 FORMAT LOOP TAG GATE A CONSTANT ONE.                                  FMC009 
/         SUCCESSIVELY REPLACE CARDS
15 FORMAT B03, B04, B13, AND B19. 
16 FORMAT B16, B03, B17, B04, B13, AND B19. 
17 FORMAT                                                                FMC009 
*                                                                        FMC009 
/         ERROR NUMBER 6D00F HEX
* 
20 FORMAT STATUS VALID SET AFTER MASTER CLEAR.
21 FORMAT SUCCESSIVELY REPLACE CARD B04.
22 FORMAT 
23 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES.                                        FMC009 
*                                                                        FMC009 
30 FORMAT FMC23B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
31 MSG 1 TO LINE 1                                                       FMC009 
   MSG 2 TO LINE 2                                                       FMC009 
   MSG 3 TO LINE 3                                                       FMC009 
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC009 
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
   IF (B0.NE.155) GOTO 45                                                FMC009 
   IF (EC.LT.15) GOTO 45
   IF (EC.GT.17) GOTO 45
*                                                                        FMC009 
/        ERROR NUMBER 6D00D HEX                                          FMC009 
*                                                                        FMC009 
40 IF (EC.NE.15) GOTO 41
   MSG 10 TO LINE 12                                                     FMC009 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 11 TO LINE 15
   MSG 13 TO LINE 16                                                     FMC009 
   EXIT TO 98L
50 MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98L
*                                                                        FMC009 
/        ERROR NUMBER 6D00E HEX                                          FMC009 
*                                                                        FMC009 
41 IF (EC.NE.16) GOTO 42
   MSG 14 TO LINE 12                                                     FMC009 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 51
   MSG 15 TO LINE 15
   MSG 17 TO LINE 16                                                     FMC009 
   EXIT TO 98L
51 MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98L
* 
/         ERROR NUMBER 6D00F HEX
* 
42 IF (EC.NE.17) GOTO 45
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 21 TO LINE 14
   MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98L
/                                                                        FMC009 
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC009 
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
77 PICTURE                                                               FMC009 
   HALT                                                                  FMC009 
   BLANK                                                                 FMC009 
   EXIT                                                                  FMC009 
   END 31                                                                FMC009 
COMPILE                                                                  FMC009 
   MODULE FMC24,6000(05,07,16),LOCK 
** 5.2.18  FMC24 - SYNC BYTE SEARCH TEST
* 
*         PURPOSE-
*         FMC24 VERIFIES THE OPERATION OF THE SYNC BYTE DETECTOR
*         ON THE LOW ORDER DATA PATH BOARD.  SYNC BYTE MISCOMPARE,
*         SYNC BYTE SEARCH, AND LOST CONTROL WORD STATUS ARE TESTED.
* 
*         METHOD- 
*         DO FOR SYNC BYTE = 00 TO 37B
*           TRANSFER SYNC PATTERN TO BUFFER MEMORY
*           SELECT DEVICE INTERFACE ON NOC 1
*           SET SYNC BYTE PATTER ON NOC 2 
*           SET BUFFER ADDRESS ON NOC 6 
*           SET UP/DOWN COUNT ON NOC 7
*           CLEAR LOAD BIT ON NOC 6 
*           LOOP SYNC PATTERN THRU DEVICE INTERFACE 
*           STATUS NIC(S) 
*           CHECK SYNC BYTE MISCOMPARE STATUS 
*           CHECK SYNC BYTE SEARCH STATUS 
*           CHECK LOST CONTROL WORD STATUS
*         ENDO
/ 
*         ENTRY-
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS 
* 
*         SUBMODULES REFERENCED-
*         FMC010 - REPORT UNEXPECTED ERRORS 
*         FMC24A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - TEMPORARY STORAGE
*         B5 - CURRENT SYNC BYTE PATTERN
*         B6 - HEAD INDEX 
*         B7 - UNIT NUMBER
*         B8 - TEMPORARY STORAGE
*         B9 - MODULE NUMBER (IN DECIMAL) 
*         B10- TEMPORARY STORAGE
*         B11- TEMPORARY STORAGE
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         NONE
* 
*         REMARKS-
* 
*                                                                        FMC009 
*                                                                        FMC009 
1  FORMAT FMC24 - SYNC BYTE SEARCH TEST 
2  FORMAT FMC24 - LC=*DECD, EC=*DECD
4  FORMAT FMC24 ERROR(S) = *DECD
*                                                                        FMC009 
*         FLAG EQUATES
*                                                                        FMC009 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC009 
*                                                                        FMC009 
*         MISCELLANEOUS EQUATES 
*                                                                        FMC009 
   EQUATE NPAT TO 40         *NUMBER OF DATA PATTERNS 
* 
/         FUNCTION EQUATES
* 
   EQUATE OPNC TO 50, BTBMW TO 33, ECWS TO 51 
   EQUATE IPCS TO 52, OPCOM TO 10 
* 
/         DATA BUFFERS
* 
   DATA(OB(00),CON) 0,0,0 
   DATA(OB(03),CON) 2,1,0,100,56
   DATA(OB(10),CON) 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 
   DATA(OB(30),CON) 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 
   DATA(OB(50),CON) 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 
   DATA(OB(70),CON) 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 
   DATA(OB(110),CON) 1,000,040  *NOC 1, FMD UNIT
   DATA(OB(113),CON) 2,000,100  *NOC 2, SKIP MARK 
   DATA(OB(116),CON) 3,000,000  *NOC 3, HEAD SELECT 
   DATA(OB(121),CON) 6,000,000  *NOC 6, CLEAR LOAD BIT
   DATA(OB(124),CON) 6,266,000  *NOC 6, BUFFER ADDRESS
   DATA(OB(127),CON) 7,140,001  *NOC 7, UP/DOWN COUNTER 
*                                                                        FMC009 
/ 
*                                                                        FMC009 
20 MSG 1 TO DISPLAY, PRINT
*                                                                        FMC009 
*         INITIALIZE. 
*                                                                        FMC009 
22 B0 = 153                  *TEST NUMBER 6B HEX
   B1=0                      *LOOP COUNT                                 FMC009 
   B2=0                      *DATA PATTERN INDEX                         FMC009 
   B3=0                      *ERROR COUNT                                FMC009 
   B7 = SB(72)               *SET UNIT NUMBER 
   IF(B7.LT.40B) B7 = B7 + 40  *IF 844, ADJUST
   B9 = 24D                  *MODULE NUMBER 24D 
*                                                                        FMC009 
/         PERFORM SYNC BYTE SEARCH TEST.
*                                                                        FMC009 
30 B1 = B1 + 1               *INCREMENT LOOP COUNTER
   RES, ABT 70               *RESERVE CHANNEL 
   B5 = B2 + 100             *SET SYNC BYTE PATTERN 
*                                                                        FMC009 
   OB(14) = B2               *PATTERN TO BUFFER 
   FUNC BTBMW, ABT 70        *TRANSFER PATTERN TO BUFFER
   OUT 466 WORDS FROM OB(14), ABT 70
   BA = 110                  *OB(110) 
   OB(112) = B7              *SELECT FMD INTERFACE
   GOSUB 61                  *OUT CH=1,0,B7 
   IF(EC.NE.0) GOTO 70       *ABT 70
   BA = 113                  *OB(113) 
   OB(115) = B5              *SET SYNC BYTE PATTERN 
   GOSUB 61                  *OUT CH=2,0,B5 
   IF(EC.NE.0) GOTO 70       *ABT 70
   BA = 124                  *SET BUFFER ADDRESS
   GOSUB 61                  *OUT CH=6,266,0
   IF(EC.NE.0) GOTO 70       *ABT 70
   BA = 127                  *SET UP/DOWN COUNT 
   GOSUB 61                  *OUT CH=7,140,1
   IF(EC.NE.0) GOTO 70       *ABT 70
   BA = 121                  *CLEAR LOAD BIT
   GOSUB 61                  *OUT CH=6,0,0
   IF(EC.NE.0) GOTO 70       *ABT 70
   FUNC ECWS, ABT 70         *SEARCH SEQUENCE 
   OUT 49D WORDS FROM OB(3), ABT 70 
/         CHECK SYNC BYTE MISCOMPARE/SEARCH AND LOST CW.
   GOSUB 60                  *STATUS CHANNEL, ABT 70
   IF(B2.GE.20) GOTO 52 
   IF(SB(4).AND.1.EQ.0) ERROR 3/2, GOTO 67
   IF(B2.NE.0) GOTO 50
   IF(SB(4).AND.10.NE.0) ERROR 21/3, GOTO 65
   GOTO 51
50 IF(SB(4).AND.10.EQ.0) ERROR 20/3, GOTO 67
51 IF(SB(3).AND.1.NE.0) ERROR 24/4, GOTO 67 
   GOTO 53
52 IF(SB(4).AND.1.NE.0) ERROR 3/1, GOTO 67
   IF(SB(4).AND.10.EQ.0) ERROR 20/3, GOTO 67
   IF(SB(3).AND.1.EQ.0) ERROR 25/4, GOTO 67 
*                                                                        FMC009 
*         FINALIZE. 
*                                                                        FMC009 
53 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   REL, ABT 70                   *RELEASE SUBSYSTEM TO OS 
   GOTO 30 WHILE (B2+1.LT.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 76                       *TERMINATE                              FMC009 
* 
/         INPUT PROCESSOR CHANNEL STATUS
* 
60 FUNC IPCS, ABT 70         *STATUS CHANNEL, ABT 70
   STATUS 32D WORDS TO SB(1), ABT 70
   RETURN 
* 
/         OUTPUT PROCESSOR NORMAL CHANNEL SUBROUTINE
* 
61 WC = 3 
   FUNC OPNC, ABT 62         *OUTPUT ON NOC(S)
   OUT, ABT 62
62 RETURN 
* 
*         PROCESS EXPECTED ERRORS.
* 
65 IF(B2.NE.0) GOTO 67       *NOT FIRST PASS
   IF(B11.NE.0) GOTO 67      *SECOND ERROR
   B11 = 1                   *SET FIRST ERROR FLAG
   OB(125) = 272             *MODIFY BUFFER ADDRESS FOR A08 
   GOTO 22                   *RESTART 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
*         PROCESS UNEXPECTED ERRORS.
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
   ENDSUB 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 30                   *GO TO REPEAT CONDITION
*                                                                        FMC009 
*         CALL APPROPRIATE DISPLAY SUBMODULE. 
*                                                                        FMC009 
74 IF(EC.LT.4000B) CALL 24A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 010  *UNEXPECTED ERROR DISPLAY
*                                                                        FMC009 
75 IF (ES.AND.RC.NE.0) GOTO 30
*                                                                        FMC009 
*        TERMINATE. 
*                                                                        FMC009 
76 RES, ABT 77               *RESERVE CHANNEL 
   FUNC OPCOM, ABT 77        *OPERATION COMPLETE
77 IF (ES.AND.RM.NE.0) GOTO 22
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE                    FMC009 
   EXIT                                                                  FMC009 
   END 20                                                                FMC009 
COMPILE                                                                  FMC009 
   MODULE FMC24A,6000(05,07,16),LOCK
*   5.2.18.1 FMC24A - REPORT EXPECTED ERRORS
*                                                                        FMC009 
*         PURPOSE-                                                       FMC009 
*                                                                        FMC009 
*         METHOD-                                                        FMC009 
*                                                                        FMC009 
*         ENTRY-                                                         FMC009 
*                                                                        FMC009 
*         EXIT-                                                          FMC009 
*                                                                        FMC009 
*         SUBMODULES REFERENCED-                                         FMC009 
*         FMC98L - DISPLAY CHANNEL STATUS 
*                                                                        FMC009 
*         REGISTERS USED-                                                FMC009 
*         SAME AS FMC24.
*                                                                        FMC009 
*         BUFFERS USED-                                                  FMC009 
*         SAME AS FMC24.
*                                                                        FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
/        COMMON MESSAGES                                                 FMC009 
*                                                                        FMC009 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC24 - SYNC BYTE SEARCH TEST 
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC24 - LINE *OCT - ERROR NUMBER *H*HE
5  FORMAT 
6  FORMAT SUCCESSIVELY REPLACE CARDS
*                                                                        FMC009 
/        ERROR NUMBER 6B001 HEX                                          FMC009 
*                                                                        FMC009 
10 FORMAT SYNC BYTE MISCOMPARE ERROR
/         SUCCESSIVELY REPLACE CARDS
11 FORMAT B22, B19, B21, B01, B20,
12 FORMAT B22, B19, B21, B14, B01, B20, 
13 FORMAT A20, A19, AND A21.
*                                                                        FMC009 
/        ERROR NUMBER 6B002 HEX                                          FMC009 
*                                                                        FMC009 
14 FORMAT NO SYNC BYTE MISCOMPARE WHEN FORCED 
/         SUCCESSIVELY REPLACE CARDS
16 FORMAT B22, B19, B21, B01, B20,
17 FORMAT B22, B19, B21, B14, B01, B20, 
*                                                                        FMC009 
/        ERROR NUMBER 6B003 HEX                                          FMC009 
*                                                                        FMC009 
20 FORMAT SYNC BYTE SEARCH STUCK-AT-ZERO
21 FORMAT SYNC BYTE SEARCH STUCK-AT-ONE 
/         SUCCESSIVELY REPLACE CARDS
23 FORMAT B19, B22, B21, B01, B20,
*                                                                        FMC009 
/        ERROR NUMBER 6B004 HEX                                          FMC009 
*                                                                        FMC009 
24 FORMAT LOST CONTROL WORD STUCK-AT-ONE
25 FORMAT LOST CONTROL WORD STUCK-AT-ZERO 
/         SUCCESSIVELY REPLACE CARDS
26 FORMAT B22, B20, B19,
*                                                                        FMC009 
/        SOFTWARE ERROR MESSAGES.                                        FMC009 
*                                                                        FMC009 
30 FORMAT FMC24A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
31 MSG 1 TO LINE 1                                                       FMC009 
   MSG 2 TO LINE 2                                                       FMC009 
   MSG 3 TO LINE 3                                                       FMC009 
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC009 
*                                                                        FMC009 
* 
*                                                                        FMC009 
   IF (B0.NE.153) GOTO 45                                                FMC009 
   IF (EC.LT.1) GOTO 45 
   IF (EC.GT.4) GOTO 45 
*                                                                        FMC009 
/        ERROR NUMBER 6B001 HEX                                          FMC009 
*                                                                        FMC009 
40 IF (EC.NE.1) GOTO 41                                                  FMC009 
   MSG 10 TO LINE 12                                                     FMC009 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 6 TO LINE 14 
   IF(B7.LT.50) MSG 11 TO LINE 15 
   IF(B7.GE.50) MSG 12 TO LINE 15 
   MSG 13 TO LINE 16                                                     FMC009 
   EXIT TO 98L
*                                                                        FMC009 
/        ERROR NUMBER 6B002 HEX                                          FMC009 
*                                                                        FMC009 
41 IF (EC.NE.2) GOTO 42                                                  FMC009 
   MSG 14 TO LINE 12                                                     FMC009 
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 6 TO LINE 14 
   IF(B7.LT.50) MSG 16 TO LINE 15 
   IF(B7.GE.50) MSG 17 TO LINE 15 
   MSG 13 TO LINE 16
   EXIT TO 98L
*                                                                        FMC009 
/        ERROR NUMBER 6B003 HEX                                          FMC009 
*                                                                        FMC009 
42 IF (EC.NE.3) GOTO 43                                                  FMC009 
   MSG EM TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 6 TO LINE 14 
   IF(B7.LT.50) MSG 16 TO LINE 15 
   IF(B7.GE.50) MSG 17 TO LINE 15 
   MSG 13 TO LINE 16
   EXIT TO 98L
*                                                                        FMC009 
/        ERROR NUMBER 6B004 HEX                                          FMC009 
*                                                                        FMC009 
43 IF (EC.NE.4) GOTO 45                                                  FMC009 
   MSG EM TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 6 TO LINE 14 
   MSG 26 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98L
/                                                                        FMC009 
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC009 
*                                                                        FMC009 
/                                                                        FMC009 
*                                                                        FMC009 
77 PICTURE                                                               FMC009 
   HALT                                                                  FMC009 
   BLANK                                                                 FMC009 
   EXIT                                                                  FMC009 
   END 31                                                                FMC009 
COMPILE                                                                  FMC009 
   MODULE FMC25,6000(05,07,16),LOCK 
** 5.2.19 FMC25 - ECC REGISTER TEST 
*                                                                        FMC009 
*         PURPOSE-                                                       FMC009 
*         FMC25 VERIFIES THE ABILITY OF THE ECC REGISTER TO RECEIVE,
*         RETAIN, AND RETURN ASSORTED DATA PATTERNS.                     FMC009 
* 
*         METHOD- 
*         DO FOR ALL PATTERNS 
*           CLEAR ECC REGISTER BY SENDING FLAG PULSE 3
*           LOAD DATA PATTERN INTO NOC-S 12, 13, AND 14 
*           LOAD ECC REGISTER BY SENDING FLAG PULSE 11
*           READ ECC REGISTER 
*           COMPARE CONTENTS WITH DATA PATTERN
*         ENDO
/                                                                        FMC009 
*         ENTRY-                                                         FMC009 
*                                                                        FMC009 
*         EXIT-                                                          FMC009 
*                                                                        FMC009 
*         SUBMODULES REFERENCED-                                         FMC009 
*         FMC25A - REPORT EXPECTED ERRORS 
*         FMC250 - REPORT UNEXPECTED ERRORS 
*         FMC983 - GENERATE 48-BIT DATA PATTERNS
*                                                                        FMC009 
*         REGISTERS USED-                                                FMC009 
*         B0 - TEST NUMBER                                               FMC009 
*         B1 - LOOP COUNT                                                FMC009 
*         B2 - DATA PATTERN INDEX                                        FMC009 
*         B3 - ERROR COUNT                                               FMC009 
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES             FMC009 
*         B5 - TEMPORARY STORAGE
*         B6 - TEMPORARY STORAGE
*         B7 - HEAD INDEX 
*         B14- TEMPORARY STORAGE
*         B15- FLAG WORD                                                 FMC009 
*         ES, EC, EM, EA - STANDARD USAGE                                FMC009 
*                                                                        FMC009 
*         BUFFERS USED-                                                  FMC009 
*         OB(3) - OB(10) = 8-BIT DATA RECIEVED
*         OB(11) - OB(14) = PACKED DATA RECIEVED
*         OB(100) - OB(217) = 48-BIT DATA PATTERNS
*                                                                        FMC009 
1  FORMAT FMC25 - ECC REGISTER TEST 
2  FORMAT FMC25 - LC=*DECD, EC=*DECD
4  FORMAT FMC25 ERROR(S) = *DECD
5  FORMAT EXPECTED  *OCT *OCT *OCT *OCT                                  FMC009 
6  FORMAT ACTUAL    *OCT *OCT *OCT *OCT                                  FMC009 
*                                                                        FMC009 
*         FLAG EQUATES                                                   FMC009 
*                                                                        FMC009 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC009 
*                                                                        FMC009 
*         FUNCTION CODE EQUATES                                          FMC009 
*                                                                        FMC009 
   EQUATE OPCOM TO 0010 
   EQUATE OPNC TO 0050                                                   FMC009 
   EQUATE IPFP TO 0054                                                   FMC009 
   EQUATE IPCS TO 0052                                                   FMC009 
*                                                                        FMC009 
*         MISCELLANEOUS EQUATES                                          FMC009 
*                                                                        FMC009 
   EQUATE NPOL TO 72D        *NUMBER OF POLY. PATTERNS                   FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
20 MSG 1 TO DISPLAY, PRINT
*                                                                        FMC009 
*        INITIALIZE.                                                     FMC009 
*                                                                        FMC009 
21 B0=154                    *TEST NUMBER 6C HEX                         FMC009 
   B1=0                      *LOOP COUNT                                 FMC009 
   B2=0                      *DATA PATTERN INDEX                         FMC009 
   B3=0                      *ERROR COUNT                                FMC009 
   B13=25D                   *MODULE NUMBER 25D 
   CALL 983                  *GENERATE 48 BIT DATA PATTERN               FMC009 
*                                                                        FMC009 
*        PERFORM ECC REGISTER TEST.                                      FMC009 
*                                                                        FMC009 
40 B1=B1+1                                                               FMC009 
   RES, ABT 70               *RESERVE CHANNEL 
*                                                                        FMC009 
/         CLEAR REGISTER
*                                                                        FMC009 
   OB(0)=3                   *CHANNEL NUMBER                             FMC009 
   FUNC IPFP, ABT 70         *FLAG PULSE CH=3,ABT 70
   OUT 1 WORDS FROM OB(0), ABT 70                                        FMC009 
*                                                                        FMC009 
/         PACK DATA 
*                                                                        FMC009 
   OB(0)=12D                 *CHANNEL NUMBER                             FMC009 
   OB(1)=OB(B2+100).RS.4     *BITS 00 TO 07                              FMC009 
   B14=OB(B2+100).AND.17.LS.4                                            FMC009 
   OB(2)=OB(B2+101).RS.8+B14    *BITS 08 TO 15                           FMC009 
   FUNC OPNC, ABT 70         *OUT CH=12D,B5,B6,ABT 70 
   OUT 3 WORDS FROM OB(0), ABT 70                                        FMC009 
*                                                                        FMC009 
   OB(0)=13D                 *CHANNEL NUMBER                             FMC009 
   OB(1)=OB(B2+101).AND.377  *BITS 16 TO 23                              FMC009 
   OB(2)=OB(B2+102).RS.4     *BITS 24 TO 31                              FMC009 
   FUNC OPNC, ABT 70         *OUT CH=13D,B5,B6,ABT 70 
   OUT 3 WORDS FROM OB(0), ABT 70                                        FMC009 
*                                                                        FMC009 
   OB(0)=14D                 *CHANNEL NUMBER                             FMC009 
   B14=OB(B2+102).AND.17.LS.4                                            FMC009 
   OB(1)=OB(B2+103).RS.8+B14  *BITS 32 TO 39                             FMC009 
   OB(2)=OB(B2+103).AND.377  *BITS 40 TO 47                              FMC009 
   FUNC OPNC, ABT 70         *OUT CH=14D,B5,B6,ABT 70 
   OUT 3 WORDS FROM OB(0), ABT 70                                        FMC009 
*                                                                        FMC009 
/         LOAD REGISTER 
*                                                                        FMC009 
   OB(0)=11D                                                             FMC009 
   FUNC IPFP, ABT 70         *FLAG PULSE CH=11D,ABT 70
   OUT 1 WORDS FROM OB(0), ABT 70                                        FMC009 
*                                                                        FMC009 
/         READ REGISTER 
*                                                                        FMC009 
   OB(0)=3                                                               FMC009 
   OB(1)=0                                                               FMC009 
   OB(2)=0                   *SELECT BITS 00 TO 15                       FMC009 
   FUNC OPNC, ABT 70         *OUT CH=3,0,B8,ABT 70
   OUT 3 WORDS FROM OB(0), ABT 70                                        FMC009 
   FUNC IPCS, ABT 70         *STATUS CHANNEL,ABT 70 
   STATUS 32D WORDS TO SB(1), ABT 70
   OB(3)=SB(7)
   OB(4)=SB(8)
*                                                                        FMC009 
   OB(2)=OB(2) + 1           *SELECT BITS 16 TO 31
   FUNC OPNC, ABT 70         *OUT CH=3,0,B8,ABT 70
   OUT 3 WORDS FROM OB(0), ABT 70                                        FMC009 
   FUNC IPCS, ABT 70         *STATUS CHANNEL,ABT 70 
   STATUS 32D WORDS TO SB(1), ABT 70
   OB(5)=SB(7)
   OB(6)=SB(8)
*                                                                        FMC009 
   OB(2)=OB(2) + 1           *SELECT BITS 32 TO 47
   FUNC OPNC, ABT 70         *OUT CH=3,0,B8,ABT 70
   OUT 3 WORDS FROM OB(0), ABT 70                                        FMC009 
   FUNC IPCS, ABT 70         *STATUS CHANNEL,ABT 70 
   STATUS 32D WORDS TO SB(1), ABT 70
   OB(7)=SB(7)
   OB(10)=SB(8) 
*                                                                        FMC009 
/         UNPACK DATA RECEIVED FROM ECC REGISTER
*                                                                        FMC009 
   B14=OB(3).LS.4                                                        FMC009 
   OB(11)=OB(4).RS.4+B14                                                 FMC009 
   B14=OB(4).AND.17.LS.8                                                 FMC009 
   OB(12)=OB(5)+B14                                                      FMC009 
   B14=OB(6).LS.4                                                        FMC009 
   OB(13)=OB(7).RS.4+B14                                                 FMC009 
   B14=OB(7).AND.17.LS.8                                                 FMC009 
   OB(14)=OB(10)+B14                                                     FMC009 
*                                                                        FMC009 
/         COMPARE DATA
*                                                                        FMC009 
   WC = 4                    *INITIALIZE WORD COUNT 
   COMPARE OB(11) TO OB(B2+100) FOR WC, ABT 65                           FMC009 
*                                                                        FMC009 
*         FINALIZE. 
*                                                                        FMC009 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 40 WHILE (B2+4.LE.NPOL)  *END OF DATA PATTERN LOOP
   GOTO 76                       *TERMINATE                              FMC009 
*                                                                        FMC009 
*         DISPLAY DATA ERRORS 
*                                                                        FMC009 
65 ERROR 3/1                                                             FMC009 
   MSG 5 4 WORDS FROM OB(B2+100) TO LINE 7                               FMC009 
   MSG 6 4 WORDS FROM OB(11) TO LINE 10                                  FMC009 
*  GOTO 67                                                               FMC009 
*                                                                        FMC009 
*         PROCESS EXPECTED ERRORS.
*                                                                        FMC009 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71                                                               FMC009 
*                                                                        FMC009 
*         PROCESS UNEXPECTED ERRORS.
*                                                                        FMC009 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
*                                                                        FMC009 
*         CALL APPROPRIATE DISPLAY SUBMODULE. 
*                                                                        FMC009 
74 IF(EC.LT.4000B) CALL 25A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 250  *UNEXPECTED ERROR DISPLAY
*                                                                        FMC009 
75 IF (ES.AND.RC.NE.0) GOTO 40                                           FMC009 
   RES, ABT 77                                                           FMC009 
*                                                                        FMC009 
*        TERMINATE. 
*                                                                        FMC009 
76 FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
77 IF (ES.AND.RM.NE.0) GOTO 21                                           FMC009 
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE                    FMC009 
   EXIT                                                                  FMC009 
   END 20                                                                FMC009 
COMPILE                                                                  FMC009 
   MODULE FMC25A,6000(05,07,16),LOCK
*   5.2.19.1 FMC25A - REPORT EXPECTED ERRORS
*                                                                        FMC009 
*         PURPOSE-                                                       FMC009 
*                                                                        FMC009 
*         METHOD-                                                        FMC009 
*                                                                        FMC009 
*         ENTRY-                                                         FMC009 
*                                                                        FMC009 
*         EXIT-                                                          FMC009 
*                                                                        FMC009 
*         SUBMODULES REFERENCED-NONE.                                    FMC009 
*                                                                        FMC009 
*         REGISTERS USED-                                                FMC009 
*         SAME AS FMC25.
*                                                                        FMC009 
*         BUFFERS USED-                                                  FMC009 
*         SAME AS FMC25.
*                                                                        FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
/         COMMON MESSAGES 
*                                                                        FMC009 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC25 - ECC REGISTER TEST 
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC009 
4  FORMAT FMC*D - LINE *OCT - ERROR NUMBER *H*HE
5  FORMAT FMC26 - ECC REGISTER CLEAR TEST 
*                                                                        FMC009 
/         ERROR NUMBER 6C001/6C005 HEX
*                                                                        FMC009 
10 FORMAT BAD DATA PATTERN READ BACK FROM ECC REGISTER                   FMC009 
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT A12, A17, A20, A21, AND B22.
13 FORMAT                                                                FMC009 
*                                                                        FMC009 
/         SOFTWARE ERROR MESSAGES.
*                                                                        FMC009 
30 FORMAT FMC*DA - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
*                                                                        FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
31 MSG 1 TO LINE 1                                                       FMC009 
   IF (B13.EQ.25D) MSG 2 TO LINE 2
   IF (B13.EQ.26D) MSG 5 TO LINE 2
   MSG 3 TO LINE 3                                                       FMC009 
   MSG 4(B13,EA,B0,EC) TO LINE 5
*                                                                        FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
   IF (B0.NE.154) GOTO 45                                                FMC009 
   IF (EC.EQ.0) GOTO 45                                                  FMC009 
   IF (EC.GT.10) GOTO 45
*                                                                        FMC009 
/         ERROR NUMBER 6C001/6C005 HEX
*                                                                        FMC009 
40 IF (EC.EQ.1) GOTO 41 
   IF (EC.NE.5) GOTO 45 
41 MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC009 
   MSG 11 TO LINE 14                                                     FMC009 
   MSG 12 TO LINE 15                                                     FMC009 
   MSG 13 TO LINE 16                                                     FMC009 
   GOTO 77                                                               FMC009 
*                                                                        FMC009 
45 MSG 30(B13,EA,B0,EC,EM) TO LINE 12 
*                                                                        FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
77 PICTURE                                                               FMC009 
   HALT                                                                  FMC009 
   BLANK                                                                 FMC009 
   EXIT                                                                  FMC009 
   END 31                                                                FMC009 
COMPILE                                                                  FMC009 
   MODULE FMC250,6000(05,07,16),LOCK
*   5.2.19.2 FMC250 - REPORT UNEXPECTED ERRORS
*                                                                        FMC009 
*         PURPOSE-                                                       FMC009 
*         FMC250 DISPLAYS INFORMATION EXPANDING ON ALL
*         ERRORS OTHER THAN THOSE WHICH CAN BE INTERPRETED               FMC009 
*         FOR ISOLATION.                                                 FMC009 
*                                                                        FMC009 
*         METHOD-                                                        FMC009 
*                                                                        FMC009 
*         ENTRY-                                                         FMC009 
*                                                                        FMC009 
*         EXIT-                                                          FMC009 
*                                                                        FMC009 
*         SUBMODULES REFERENCED-NONE.                                    FMC009 
*                                                                        FMC009 
*         REGISTERS USED-                                                FMC009 
*         SAME AS FMC25.
*                                                                        FMC009 
*         BUFFERS USED-                                                  FMC009 
*         SAME AS FMC25.
*                                                                        FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
4  FORMAT FMC*D - LINE *OCT - ERROR NUMBER *H*HE
5  FORMAT THIS FAILURE CAN NOT BE ISOLATED BY THE 
6  FORMAT DIAGNOSTIC SOFTWARE.  USE STANDARD
7  FORMAT TROUBLESHOOTING TECHNIQUES. 
10 FORMAT UNEXPECTED ERROR - LF=*OCTB 
31 FORMAT FMC25 - ECC REGISTER TEST 
32 FORMAT FMC26 - ECC REGISTER CLEAR TEST 
33 FORMAT FMC27 - ECC FUNCTIONAL TEST 
34 FORMAT FMC28 - AUTOLOAD FORM DISK TEST 
35 FORMAT FMC29 - WRITE VERIFY TEST 
/             HEADER
40 MSG 1 TO LINE 1                *DIAGNOSTIC TITLE 
   MSG B13 TO LINE 2              *MODULE TITLE 
   MSG 4 (B13,EA,B0,EC) TO LINE 5   *LINE, ERROR NUMBER 
/             ERROR MESSAGE 
   MSG 10 (LF) TO LINE 12         *UNEXPECTED, LAST FUNCTION
/             CE INFORMATION
   MSG 5 TO LINE 14 
   MSG 6 TO LINE 15 
   MSG 7 TO LINE 16 
/             PRODUCT OVERLAY MESSAGE 
   IF(EC.AND.4000.NE.0) MSG EM TO LINE 10 
/             DISPLAY MESSAGE 
   PICTURE
   HALT 
   BLANK
   EXIT 
   END 40 
COMPILE 
   MODULE FMC26,6000(05,07,16),LOCK 
** 5.2.20 FMC26 - ECC REGISTER CLEAR TEST 
*                                                                        FMC009 
*         PURPOSE-                                                       FMC009 
*         FMC26 VERIFIES THE ABILITY OF THE PROCESSOR TO CLEAR THE
*         CONTENTS OF THE ECC REGISTER.                                  FMC009 
*                                                                        FMC009 
*         METHOD-                                                        FMC009 
*         DO FOR ALL PATTERNS                                            FMC009 
*           LOAD DATA PATTERN INTO NOC-S 12, 13, AND 14                  FMC009 
*           LOAD ECC REGISTER BY SENDING FLAG PULSE 11                   FMC009 
*           CLEAR ECC REGISTER BY SENDING FLAG PULSE 3                   FMC009 
*           READ ECC REGISTER                                            FMC009 
*           VERIFY THAT CONTENTS ARE ZERO                                FMC009 
*         ENDO                                                           FMC009 
/                                                                        FMC009 
*         ENTRY-                                                         FMC009 
*                                                                        FMC009 
*         EXIT-                                                          FMC009 
*                                                                        FMC009 
*         SUBMODULES REFERENCED-                                         FMC009 
*         FMC250 - REPORT UNEXPECTED ERRORS 
*         FMC25A - REPORT EXPECTED ERRORS 
*         FMC983 - GENERATE 48-BIT DATA PATTERNS
*                                                                        FMC009 
*         REGISTERS USED-                                                FMC009 
*         B0 - TEST NUMBER                                               FMC009 
*         B1 - LOOP COUNT                                                FMC009 
*         B2 - DATA PATTERN INDEX                                        FMC009 
*         B3 - ERROR COUNT                                               FMC009 
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES             FMC009 
*         B5 - TEMPORARY STORAGE
*         B6 - TEMPORARY STORAGE
*         B7 - HEAD INDEX 
*         B14- TEMPORARY STORAGE
*         B15- FLAG WORD                                                 FMC009 
*         ES, EC, EM, EA - STANDARD USAGE                                FMC009 
*                                                                        FMC009 
*         BUFFERS USED-                                                  FMC009 
*         IB(0) THROUGH IB(3) ALL CONTAIN ZEROES.                        FMC009 
*         OB(100) - OB(217) = 48-BIT DATA PATTERNS
*                                                                        FMC009 
*                                                                        FMC009 
*         REMARKS-                                                       FMC009 
*                                                                        FMC009 
*         KNOWN LIMITATIONS-                                             FMC009 
*                                                                        FMC009 
1  FORMAT FMC26 - ECC REGISTER CLEAR TEST 
2  FORMAT FMC26 - LC=*DECD, EC=*DECD
4  FORMAT FMC26 ERROR(S) = *DECD
5  FORMAT EXPECTED  *OCT *OCT *OCT *OCT                                  FMC009 
6  FORMAT ACTUAL    *OCT *OCT *OCT *OCT                                  FMC009 
*                                                                        FMC009 
*         FLAG EQUATES                                                   FMC009 
*                                                                        FMC009 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC009 
*                                                                        FMC009 
*         FUNCTION CODE EQUATES                                          FMC009 
*                                                                        FMC009 
   EQUATE OPCOM TO 0010 
   EQUATE OPNC TO 0050                                                   FMC009 
   EQUATE IPFP TO 0054                                                   FMC009 
   EQUATE IPCS TO 0052                                                   FMC009 
*                                                                        FMC009 
*         MISCELLANEOUS EQUATES                                          FMC009 
*                                                                        FMC009 
   EQUATE NPOL TO 72D        *NUMBER OF POLY. PATTERNS                   FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
20 MSG 1 TO DISPLAY, PRINT
*                                                                        FMC009 
*         INITIALIZE. 
*                                                                        FMC009 
21 B0=154                    *TEST NUMBER 6C HEX                         FMC009 
   B1=0                      *LOOP COUNT                                 FMC009 
   B2=0                      *DATA PATTERN INDEX                         FMC009 
   B3=0                      *ERROR COUNT                                FMC009 
   B13=26D                   *MODULE NUMBER 26D 
   CALL 983                  *GENERATE 48 BIT DATA PATTERN               FMC009 
*                                                                        FMC009 
/         PERFORM ECC REGISTER CLEAR TEST.
*                                                                        FMC009 
40 B1=B1+1                                                               FMC009 
   RES, ABT 70               *RESERVE CHANNEL 
   OB(0)=12D                 *CHANNEL NUMBER                             FMC009 
   OB(1)=OB(B2+100).RS.4     *BITS 00 TO 07                              FMC009 
   B14=OB(B2+100).AND.17.LS.4                                            FMC009 
   OB(2)=OB(B2+101).RS.8+B14  *BITS 08 TO 15                             FMC009 
   FUNC OPNC, ABT 70         *OUT CH=12D,B5,B6,ABT 70 
   OUT 3 WORDS FROM OB(0), ABT 70                                        FMC009 
*                                                                        FMC009 
   OB(0)=13D                 *CHANNEL NUMBER                             FMC009 
   OB(1)=OB(B2+101).AND.377  *BITS 16 TO 23                              FMC009 
   OB(2)=OB(B2+102).RS.4     *BITS 24 TO 31                              FMC009 
   FUNC OPNC, ABT 70         *OUT CH=13D,B5,B6,ABT 70 
   OUT 3 WORDS FROM OB(0), ABT 70                                        FMC009 
*                                                                        FMC009 
   OB(0)=14D                 *CHANNEL NUMBER                             FMC009 
   B14=OB(B2+102).AND.17.LS.4                                            FMC009 
   OB(1)=OB(B2+103).RS.8+B14  *BITS 32 TO 39                             FMC009 
   OB(2)=OB(B2+103).AND.377  *BITS 40 TO 47                              FMC009 
   FUNC OPNC, ABT 70         *OUT CH=14D,B5,B6,ABT 70 
   OUT 3 WORDS FROM OB(0), ABT 70                                        FMC009 
*                                                                        FMC009 
/         LOAD REGISTER 
*                                                                        FMC009 
   OB(0)=11D                                                             FMC009 
   FUNC IPFP, ABT 70         *FLAG PULSE CH=11D,ABT 70
   OUT 1 WORDS FROM OB(0), ABT 70                                        FMC009 
*                                                                        FMC009 
/         CLEAR REGISTER
*                                                                        FMC009 
   OB(0)=3                                                               FMC009 
   FUNC IPFP,ABT 70          *FLAG PULSE CH=3,ABT 70
   OUT 1 WORDS FROM OB(0), ABT 70                                        FMC009 
*                                                                        FMC009 
/         READ REGISTER 
*                                                                        FMC009 
   OB(0)=3                                                               FMC009 
   OB(1)=0                                                               FMC009 
   OB(2)=0                   *SELECT BITS 00 TO 15                       FMC009 
   FUNC OPNC, ABT 70         *OUT CH=3,0,B8,ABT 70
   OUT 3 WORDS FROM OB(0), ABT 70                                        FMC009 
   FUNC IPCS, ABT 70         *STATUS CHANNEL,ABT 70 
   STATUS 32D WORDS TO SB(1), ABT 70
   OB(3)=SB(7)
   OB(4)=SB(8)
*                                                                        FMC009 
   OB(2)=OB(2) + 1           *SELECT BITS 16 TO 31
   FUNC OPNC, ABT 70         *OUT CH=3,0,B8,ABT 70
   OUT 3 WORDS FROM OB(0), ABT 70                                        FMC009 
   FUNC IPCS, ABT 70         *STATUS CHANNEL,ABT 70 
   STATUS 32D WORDS TO SB(1), ABT 70
   OB(5)=SB(7)
   OB(6)=SB(8)
*                                                                        FMC009 
   OB(2)=OB(2) + 1           *SELECT BITS 32 TO 47
   FUNC OPNC, ABT 70         *OUT CH=3,0,B8,ABT 70
   OUT 3 WORDS FROM OB(0), ABT 70                                        FMC009 
   FUNC IPCS, ABT 70         *STATUS CHANNEL,ABT 70 
   STATUS 32D WORDS TO SB(1), ABT 70
   OB(7)=SB(7)
   OB(10)=SB(8) 
*                                                                        FMC009 
/         UNPACK DATA RECEIVED FROM ECC REGISTER
*                                                                        FMC009 
   B14=OB(3).LS.4                                                        FMC009 
   OB(11)=OB(4).RS.4+B14                                                 FMC009 
   B14=OB(4).AND.17.LS.8                                                 FMC009 
   OB(12)=OB(5)+B14                                                      FMC009 
   B14=OB(6).LS.4                                                        FMC009 
   OB(13)=OB(7).RS.4+B14                                                 FMC009 
   B14=OB(7).AND.17.LS.8                                                 FMC009 
   OB(14)=OB(10)+B14                                                     FMC009 
*                                                                        FMC009 
/         COMPARE DATA
*                                                                        FMC009 
   WC = 4                    *INITIALIZE WORD COUNT 
   COMPARE OB(11) TO IB(0) FOR WC, ABT 65                                FMC009 
*                                                                        FMC009 
/         FINALIZE. 
*                                                                        FMC009 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 40 WHILE (B2+4.LE.NPOL)  *END OF DATA PATTERN LOOP
   GOTO 76                       *TERMINATE                              FMC009 
*                                                                        FMC009 
*         DISPLAY DATA ERRORS 
*                                                                        FMC009 
65 ERROR 3/5
   MSG 5 4 WORDS FROM IB(0) TO LINE 7 
   MSG 6 4 WORDS FROM OB(11) TO LINE 10                                  FMC009 
*  GOTO 67                                                               FMC009 
*                                                                        FMC009 
*         PROCESS EXPECTED ERRORS.
*                                                                        FMC009 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71                                                               FMC009 
*                                                                        FMC009 
*         PROCESS UNEXPECTED ERRORS.
*                                                                        FMC009 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
*                                                                        FMC009 
*         CALL APPROPRIATE DISPLAY SUBMODULE. 
*                                                                        FMC009 
74 IF(EC.LT.4000B) CALL 25A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 250  *UNEXPECTED ERROR DISPLAY
*                                                                        FMC009 
75 IF (ES.AND.RC.NE.0) GOTO 40                                           FMC009 
   RES, ABT 77                                                           FMC009 
*                                                                        FMC009 
*         TERMINATE.
*                                                                        FMC009 
76 FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
77 IF (ES.AND.RM.NE.0) GOTO 21                                           FMC009 
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE                    FMC009 
   EXIT                                                                  FMC009 
   END 20                                                                FMC009 
COMPILE                                                                  FMC009 
   MODULE FMC27,6000(05,07,16),LOCK 
** 5.2.21 FMC27 - ECC FUNCTIONAL TEST 
*                                                                        FMC009 
*         PURPOSE-                                                       FMC009 
*         FMC27 VERIFIES THAT THE ECC LOGIC FUNCTIONS PROPERLY. 
*         THIS MODULE DOES NOT USE THE DRIVE. 
*                                                                        FMC009 
*         METHOD-                                                        FMC009 
*         DO FOR ALL PATTERNS 
*           SET DATA PATTERN IN OUTPUT BUFFER 
*           MASTER CLEAR CONTROLLER (NOC 1 FLAG)
*           SELECT DEVICE INTERFACE ON NOC 1. 
*           CLEAR ECC REGISTER (NOC 3 FLAG) 
*           SET SKIP SECTOR MARK AND SYNC BYTE PATTERN (NOC 2)
*           SET ECC POLYNOMIALS TO DATA PATTERN (NOC 12-14) 
*           LOAD ECC REGISTER (NOC 11D FLAG)
*           CLEAR ECC POLYNOMIALS (NOC 12-14) 
*           EXECUTE WRITE ECC LOOP CONTROLWORD SEQUENCE 
*           CHECK NIC 1 FOR ERRORS
*         ENDO
/                                                                        FMC009 
*         ENTRY-                                                         FMC009 
*                                                                        FMC009 
*         EXIT-                                                          FMC009 
*                                                                        FMC009 
*         SUBMODULES REFERENCED-                                         FMC009 
*         FMC250 - REPORT UNEXPECTED ERRORS 
*         FMC27A - REPORT EXPECTED ERRORS 
*                                                                        FMC009 
*         REGISTERS USED-                                                FMC009 
*         B0 - TEST NUMBER                                               FMC009 
*         B1 - LOOP COUNT                                                FMC009 
*         B2 - DATA PATTERN INDEX                                        FMC009 
*         B3 - ERROR COUNT                                               FMC009 
*         B4 - TEMPORARY STORAGE
*         B6 - TEMPORARY STORAGE
*         ES, EC, EM, EA - STANDARD USAGE                                FMC009 
*                                                                        FMC009 
*         BUFFERS USED-                                                  FMC009 
*                                                                        FMC009 
*         REMARKS-                                                       FMC009 
*                                                                        FMC009 
*         KNOWN LIMITATIONS-                                             FMC009 
*                                                                        FMC009 
1  FORMAT FMC27 - ECC FUNCTIONAL TEST 
2  FORMAT FMC27 - LC=*DECD, EC=*DECD
4  FORMAT FMC27 ERROR(S) = *DECD
*                                                                        FMC009 
*         FLAG EQUATES
*                                                                        FMC009 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC009 
*                                                                        FMC009 
*         FUNCTION CODE EQUATES 
*                                                                        FMC009 
   EQUATE OPCOM TO 0010      *OPERATION COMPLETE
   EQUATE OPNC TO 0050      *OUTPUT PROCESSOR NORMAL CHANNEL
   EQUATE ECWS TO 0051       *EXECUTE CONTROL WORD SEQUENCE 
   EQUATE IPCS TO 0052       *INPUT PROCESSOR CHANNEL STATUS
   EQUATE IPFP TO 0054       *ISSUE PROCESSOR FLAG PULSE
* 
*         OUTPUT BUFFER AND DATA PATTERNS 
* 
   DATA(OB(00),CON) 164,056,174,056    *NOC 5 PATTERNS
   DATA(OB(04),CON) 2,0,60             *CW (NOC 4)
   DATA(OB(07),CON) 0,0,0,0,0,0,0,0,0,0  *CW (NOC 5)
   DATA(OB(21),CON) 1,0,040B           *NOC 1, FMD UNIT 
   DATA(OB(24),CON) 2,0,125B           *NOC 2, SKIP MARK
   DATA(OB(27),CON) 3,0,0              *NOC 3, HEAD SELECT
   DATA(OB(32),CON) 11D                *NOC 11 FLAG 
   DATA(OB(33),CON) 12D,0,25,13D,0,0,14D,0,0  *ZEROES 
   DATA(OB(44),CON) 12D,377,352,13D,377,377,14D,377,377 
   DATA(OB(55),CON) 12D,0,0,13D,0,0,14D,0,0  *CLEAR POLYS 
*                                                                        FMC009 
* 
*                                                                        FMC009 
20 MSG 1 TO DISPLAY, PRINT
*                                                                        FMC009 
*         INITIALIZE. 
*                                                                        FMC009 
21 B0=154                    *TEST NUMBER 6C HEX                         FMC009 
   B1=0                      *LOOP COUNT                                 FMC009 
   B2=0                      *PATTERN INDEX 
   B3=0                      *ERROR COUNT                                FMC009 
   B13=27D                   *MODULE NUMBER 27D 
*                                                                        FMC009 
*         BEGIN ECC FUNCTIONAL TEST 
*                                                                        FMC009 
*                                                                        FMC009 
*         SET DATA PATTERN IN BUFFER
*                                                                        FMC009 
40 B1 = B1 + 1               *BEGIN ECC FUNCTIONAL TEST 
   OB(07) = OB(B2)           *SET DATA PATTERN FOR CW 
   OB(10) = OB(B2+1)
   RES, ABT 70               *RESERVE CHANNEL 
* 
/         MASTER CLEAR CONTROLLER (NOC 1 FLAG)
* 
   BA = 21                   *OB(21)
   GOSUB 51                  *FLAG PULSE CH=1, ABT 70 
* 
/         SELECT DEVICE INTERFACE ON NOC 1. 
* 
   BA = 21                   *OB(21)
   GOSUB 50                  *OUT CH=1,0,40,ABT 70
* 
/         CLEAR ECC REGISTER (NOC 3 FLAG) 
* 
   BA = 27                   *OB(27)
   GOSUB 51                  *FLAG PULSE CH=3,ABT 70
* 
/         SET SKIP SECTOR MARK, SYNC BYTE PATTERN (NOC 2).
* 
   BA = 24                   *OB(24)
   GOSUB 50                  *OUT CH=2,0,125,ABT 70 
* 
/         LOAD POLYNOMIALS (NOC 12D THRU 14D) 
* 
   B4 = B2 RS 1              *DIVIDE BY 2 
   B4 = B4 LS 3 + B4         *MULTIPLY BY 9 
   B4 = B4 + 33B             *OB(B4)
   GOSUB 54                  *LOAD POLYNOMIALS
* 
/         LOAD ECC REGISTERS (NOC 11 FLAG)
* 
   BA = 32                   *OB(32)
   GOSUB 51                  *FLAG PULSE CH=11D,ABT 70
* 
/         CLEAR ECC POLYNOMIAL (NOC 14) 
* 
   B4 = 55                   *CLEAR ECC POLYNOMIALS 
   GOSUB 54 
* 
/         EXECUTE WRITE ECC LOOP CONTROLWORD SEQUENCE 
* 
   FUNC ECWS, ABT 70         *CONTROL 0,20,C,D,EX,ABT 70
   OUT 49D WORDS FROM OB(04),ABT 70 
* 
/         CHECK NIC 1 FOR ERRORS. 
* 
   GOSUB 53                  *STATUS CHANNEL,ABT 70 
   IF (SB(4).AND.11B.EQ.0) GOTO 46
   IF (B2.EQ.0) ERROR 3/11, GOTO 67 
   ERROR 3/12, GOTO 67
* 
*         FINALIZE. 
* 
46 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 40 WHILE (B2+2.LE.2)
   GOTO 77
*                                                                        FMC009 
/         OUTPUT ON NOC SUBROUTINE
*                                                                        FMC009 
50 WC = 3                    *OUTPUT ON NOC ROUTINE 
   FUNC OPNC, ABT 70
   GOTO 52
51 WC = 1                    *FLAG PULSE ROUTINE
   FUNC IPFP, ABT 70
52 OUT, ABT 70
   RETURN 
* 
/         STATUS CHANNEL SUBROUTINE 
* 
53 FUNC IPCS, ABT 70         *STATUS CHANNEL, ABT 70
   STATUS 32D WORDS TO SB(1), ABT 70
   RETURN 
* 
/         SET ECC POLYNOMIALS SUBROUTINE
* 
54 B5 = 0                    *SET ECC POLYS 
55 BA = B4 + B5              *OB(B4+B5) 
   GOSUB 50                  *OUT CH=12 THRU 14 
   GOTO 55 WHILE (B5+3.LE.6)
   RETURN 
*                                                                        FMC009 
/         PROCESS EXPECTED ERRORS.
*                                                                        FMC009 
67 B15=B15.OR.FLAG1S  *SET FLAG 1                                        FMC009 
   GOTO 71                                                               FMC009 
*                                                                        FMC009 
*         PROCESS UNEXPECTED ERRORS.
*                                                                        FMC009 
70 B15=B15.AND.FLAG1C  *CLEAR FLAG 1                                     FMC009 
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
   ENDSUB 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
*                                                                        FMC009 
*         CALL APPROPRIATE DISPLAY SUBMODULE. 
*                                                                        FMC009 
74 IF(EC.LT.4000B) CALL 27A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 250  *UNEXPECTED ERROR DISPLAY
*                                                                        FMC009 
75 IF (ES.AND.RC.NE.0) GOTO 40                                           FMC009 
*                                                                        FMC009 
*         TERMINATE.
*                                                                        FMC009 
77 IF (ES.AND.RM.NE.0) GOTO 21                                           FMC009 
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE                    FMC009 
   EXIT                                                                  FMC009 
   END 20                                                                FMC009 
COMPILE                                                                  FMC009 
   MODULE FMC27A,6000(05,07,16),LOCK
*   5.2.21.1 FMC27A - REPORT EXPECTED ERRORS
*                                                                        FMC009 
*         PURPOSE-                                                       FMC009 
*                                                                        FMC009 
*         METHOD-                                                        FMC009 
*                                                                        FMC009 
*         ENTRY-                                                         FMC009 
*                                                                        FMC009 
*         EXIT-                                                          FMC009 
*                                                                        FMC009 
*         SUBMODULES REFERENCED-
*         FMC98L - DISPLAY CHANNEL STATUS.
*                                                                        FMC009 
*         REGISTERS USED-                                                FMC009 
*         SAME AS FMC27.
*                                                                        FMC009 
*         BUFFERS USED-                                                  FMC009 
*         SAME AS FMC27.
*                                                                        FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
*        COMMON MESSAGES                                                 FMC009 
*                                                                        FMC009 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC27 - ECC FUNCTIONAL TEST 
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC27 - LINE *OCT - ERROR NUMBER *H*HE
*                                                                        FMC009 
/         ERROR NUMBER 6C009/6C00A HEX
*                                                                        FMC009 
10 FORMAT CONTROLLER STATUS NON-ZERO DURING WRITE ECC 
11 FORMAT WITH ZEROES PATTERN.
12 FORMAT WITH ONES PATTERN.
13 FORMAT SUCCESSIVELY REPLACE CARDS
14 FORMAT B*D, A*D, AND B20.
15 FORMAT A*D, B20, AND B*D.
*                                                                        FMC009 
/         SOFTWARE ERROR MESSAGES.
*                                                                        FMC009 
30 FORMAT FMC27A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
*                                                                        FMC009 
/ 
*                                                                        FMC009 
31 MSG 1 TO LINE 1                                                       FMC009 
   MSG 2 TO LINE 2                                                       FMC009 
   MSG 3 TO LINE 3                                                       FMC009 
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
*                                                                        FMC009 
   IF (B0.NE.154) GOTO 45                                                FMC009 
   IF (EC.LT.11) GOTO 45
   IF (EC.GT.12) GOTO 45
*                                                                        FMC009 
/         ERROR NUMBER 6C009 HEX
*                                                                        FMC009 
40 IF (EC.NE.11) GOTO 41                                                 FMC009 
   MSG 10 TO LINE 12
   MSG 11 TO LINE 13
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 13 TO LINE 15
   MSG 14 (22D,12D) TO LINE 16
   EXIT TO 98L
* 
/         ERROR NUMBER 6C00A HEX
* 
41 IF(EC.NE.12) GOTO 45 
   MSG 10 TO LINE 12
   MSG 12 TO LINE 13
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 13 TO LINE 15
   MSG 15 (12D,22D) TO LINE 16
   EXIT TO 98L
*                                                                        FMC009 
45 MSG 30(EA,B0,EC,EM) TO LINE 12                                        FMC009 
*                                                                        FMC009 
/ 
*                                                                        FMC009 
77 PICTURE                                                               FMC009 
   HALT                                                                  FMC009 
   BLANK                                                                 FMC009 
   EXIT                                                                  FMC009 
   END 31                                                                FMC009 
COMPILE                                                                  FMC009 
   MODULE FMC28,6000(05,07,16),LOCK 
** 5.2.22 FMC28 - AUTOLOAD FROM DISK TEST 
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC28 VERIFIES THAT THE AUTOLOAD FROM DISK FUNCTION WORKS.
*         THIS MODULE USES THE DRIVE ASSIGNED AND ASSUMES THAT THE
*         MEDIA CONTAINS A WORKING COPY OF CONTROLWARE. 
*                                                                        FMC
*         METHOD-                                                        FMC
*         IF AUTOLOAD FROM DISK (P4) NOT ENABLED, EXIT. 
*         IF DRIVE MODULES DISABLED (P5), EXIT. 
*         ADD UNIT NUMBER TO AUTOLOAD FROM DISK FUNCTION CODE            FMC
*         SET DEVICE TYPE INDEX (844/885) 
*         RESERVE CHANNEL 
*         RESERVE DRIVE AND SEEK. 
*         READ CONTROLWARE SECTOR.
*         CHECK CONTROLWARE DATA. 
*         SEND AUTOLOAD FROM DISK FUNCTION CODE                          FMC
*         FETCH GENERAL STATUS                                           FMC
*         IF GENERAL STATUS IS NON-ZERO, THEN                            FMC
*           REPORT ERROR                                                 FMC
*         ENDIF                                                          FMC
*         DISPLAY VERSION OF CONTROLWARE LOADED 
*         CHECK THAT DIAGNOSTIC AND CONTROLLER CORRESPOND.
*         CHECK THAT THE CORRECT CONTROLWARE WAS LOADED.
/                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-                                         FMC
*         FMC250 - REPORT UNEXPECTED ERRORS 
*         FMC28A - REPORT EXPECTED ERRORS 
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         B0 - TEST NUMBER                                               FMC
*         B1 - LOOP COUNT                                                FMC
*         B3 - ERROR COUNT                                               FMC
*         B4 - AUTOLOAD FROM DISK FUNCTION WITH UNIT NUMBER PLUGGED      FMC
*         B5 - DEVICE TYPE INDEX
*         B6 - TEMPORARY STORAGE
*         B7 - TEMPORARY STORAGE
*         B8 - TEMPORARY STORAGE
*         B15- FLAG WORD                                                 FMC
*         ES, EC, EM, EA - STANDARD USAGE                                FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*                                                                        FMC
*         REMARKS-                                                       FMC
*                                                                        FMC
*         KNOWN LIMITATIONS-                                             FMC
*                                                                        FMC
1  FORMAT FMC28 - AUTOLOAD FROM DISK TEST 
2  FORMAT FMC28 - LC=*DECD, EC=*DECD
4  FORMAT FMC28 ERROR(S) = *DECD
5  FORMAT // FMC28 NOT ENABLED, NEEDS P4=XXX1,P4=*OCT //
6  FORMAT // FMC28 DRIVES DISABLED, P5=XXX1 //
10 FORMAT // MA7*D-REV-*D CONTROLWARE LOADED // 
11 FORMAT -PAUSE- DC-UN MISMATCH
*                                                                        FMC
/         FLAG EQUATES                                                   FMC
*                                                                        FMC
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC
*                                                                        FMC
/         FUNCTION CODE EQUATES                                          FMC
*                                                                        FMC
   EQUATE SK11 TO 0001       *SEEK 1 TO 1 
   EQUATE OPCOM TO 0010      *CLEAR COUPLER CONNECT 
   EQUATE DSTAT20 TO 0023    *20 WORD DETAILED STATUS 
   EQUATE RPS TO 0034        *READ PROTECTED SECTOR 
   EQUATE IPCS TO 0052       *INPUT PROCESSOR CHANNEL STATUS
   EQUATE DISKAL TO 0100                                                 FMC
   EQUATE CGS TO 0012                                                    FMC
*                                                                        FMC
/         DATA FOR SEEK 
* 
   DATA (OB(0),CON) 0,1511,2,1  *885 CONTROLWARE ADDRESS
   DATA (OB(4),CON) 0,1466,1,0  *844 CONTROLWARE ADDRESS
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
20 MSG 1 TO DISPLAY, PRINT
   IF (P4.AND.1.NE.0) GOTO 21 
   MSG 5 (P4) TO DISPLAY, PRINT 
   EXIT 
21 IF (P5.AND.1.EQ.0) GOTO 22 
   MSG 6 TO DISPLAY, PRINT
   EXIT 
22 IF (DC.NE.5) GOTO 24      *IF NOT 844, 
   IF (SB(72).AND.77B.LE.7B) GOTO 25  *IF DC/UN OK, 
23 MSG 11 TO DISPLAY, PRINT 
   PAUSE
   EXIT 
24 IF (DC.LT.7) GOTO 23      *IF NOT 885, 
   IF (SB(72).AND.77B.LT.40B) GOTO 23 
   IF (SB(72).AND.77B.GT.57B) GOTO 23 
*                                                                        FMC
/        INITIALIZE.                                                     FMC
*                                                                        FMC
25 B0 = 156B                 *TEST NUMBER 6E HEX
   B1=0                      *LOOP COUNT                                 FMC
   B3=0                      *ERROR COUNT                                FMC
   B13=28D                   *MODULE NUMBER 28D 
   B4=SB(72).AND.77+DISKAL                                               FMC
*                                                                        FMC
/         SET TIMER AND DEVICE TYPE INDEX.
*                                                                        FMC
30 B1 = B1 + 1               *INCREMENT LOOP COUNTER
   TIMEOUT,TYPEB=2000000D USEC
   OB = SB(72).AND.77        *FORM UNIT NUMBER
   OB(4) = OB 
* 
/         RESERVE AND SEEK. 
* 
   B5 = 0                    *SET DEVICE TYPE INDEX 
   IF(OB.LT.40) B5 = 4       *IF 844, USE OB(4) 
   RES, ABT 70               *RESERVE CHANNEL 
   FUNC SK11, ABT 70         *RESERVE DRIVE, SEEK 1 TO 1
   OUT 4 WORDS FROM OB(B5), ABT 70
   GOSUB 61                  *READ GENERAL/DETAILED STATUS
   IF (SB.AND.7775B.NE.0) ERROR 27/6, GOTO 67 
   DELAY 125D MSEC           *DELAY FOR ON CYLINDER 
   FUNC SK11, ABT 70         *RESERVE DRIVE, SEEK 1 TO 1
   OUT 4 WORDS FROM OB(B5), ABT 70
   GOSUB 61                  *GET STATUS
   IF (SB.AND.7777B.NE.0) ERROR 27/6, GOTO 67 
* 
/         READ CONTROLWARE SECTOR.
* 
   FUNC RPS, ABT 70          *READ PROTECTED SECTOR 
   INB 502 WORDS TO IB, ABT 70
   GOSUB 61                  *READ GENERAL/DETAILED STATUS
   IF (SB.NE.0) ERROR 6/6, GOTO 67
   FUNC OPCOM, ABT 70        *OPERATION COMPLETE
* 
/         CHECK CONTROLWARE DATA. 
* 
   IF (IB.NE.3000) ERROR 3/2, GOTO 67  *BAD CWARE 
*                                                                        FMC
/        PERFORM AUTOLOAD FROM DISK TEST                                 FMC
*                                                                        FMC
40 RES, ABT 70               *RESERVE CHANNEL 
   FUNC B4, ABT 66           *AUTOLOAD FROM DISK FUNCTION 
   FUNC IPCS, ABT 70         *CHANNEL STATUS
   STATUS 32D WORDS TO SB(1), ABT 70
   B8 = SB(24)               *4HP OPTION STATUS 
   GOSUB 61                  *READ GENERAL/DETAILED STATUS
   B6 = SB(22) .AND. 340 .RS. 5 
   B6 = B6 + 21D
   B7 = SB(4).AND.1700.RS.6 
   IF (SB(0).NE.0) ERROR 3/1, GOTO 67 
* 
/         DISPLAY VERSION OF CONTROLWARE LOADED.
* 
   MSG 10 (B6,B7) TO DISPLAY, DAYFILE, PRINT
   MSG 10 (B6,B7) TO LINE 1 
* 
/         CHECK DIAG/CWARE/HWARE CORRESPONDANCE.
* 
   IF(B8.AND.10.NE.0) ERROR 3/4, GOTO 67       *WRONG CTRLR 
   IF(SB(22).AND.340.NE.0) ERROR 3/5, GOTO 67  *WRONG CWARE 
*                                                                        FMC
/        FINALIZE.                                                       FMC
*                                                                        FMC
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 76                       *TERMINATE                              FMC001 
* 
/         READ GENERAL AND DETAILED STATUS SUBROUTINE 
* 
61 FUNC CGS, ABT 70          *READ GENERAL STATUS 
   STATUS 1 WORDS TO SB, ABT 70 
   FUNC DSTAT20, ABT 70      *READ DETAILED STATUS
   STATUS 20D WORDS TO SB(1), ABT 70
   RETURN 
* 
/        PROCESS ABORT ON AUTOLOAD
* 
66 IF (EC.NE.4024) GOTO 70   *IF CH NOT ACTIVE, 
   ERROR 3/3                 *ELSE, INLINE TEST FAILURE 
*                                                                        FMC
/        PROCESS EXPECTED ERRORS.                                        FMC
*                                                                        FMC
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71                                                               FMC
*                                                                        FMC
/        PROCESS UNEXPECTED ERRORS.                                      FMC
*                                                                        FMC
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
   ENDSUB 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 30                   *GO TO REPEAT CONDITION
*                                                                        FMC
/        CALL APPROPRIATE DISPLAY SUBMODULE.                             FMC
*                                                                        FMC
74 IF(EC.LT.4000B) CALL 28A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 250  *UNEXPECTED ERROR DISPLAY
*                                                                        FMC
   IF (ES.AND.RC.NE.0) GOTO 30  *IF REPEAT COND. SET, 
*                                                                        FMC
/        TERMINATE.                                                      FMC
*                                                                        FMC
76 RES, ABT 77               *RESERVE CONTROLLER
   FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT                                                                  FMC
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC28A,6000(05,07,16),LOCK
*   5.2.22.1 FMC28A - REPORT EXPECTED ERRORS
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-
*         FMC985 - DISPLAY GENERAL AND DETAILED STATUS. 
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC28.
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC28.
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC28 - AUTOLOAD FROM DISK TEST 
3  FORMAT PRESERVICE FORECAST GROUP FMDC OR FMDD                         FMC
4  FORMAT FMC28 - LINE *OCT - ERROR NUMBER *H*HE
* 
/         ERROR NUMBER 6E001 HEX
* 
7  FORMAT GENERAL STATUS = *OCTB                                         FMC
*                                                                        FMC
10 FORMAT AUTOLOAD FROM DISK FUNCTION FAILED.                            FMC
11 FORMAT VERIFY THAT THE SELECTED SPINDLE HAS A COPY OF THE             FMC
12 FORMAT CONTROLWARE IN THE PREDETERMINED AREA.                         FMC
13 FORMAT                                                                FMC
* 
/         ERROR NUMBER 6E002 HEX
* 
14 FORMAT DISK/CONTROLWARE DATA MISCOMPARE. 
* 
/         ERROR NUMBER 6E003 HEX
* 
15 FORMAT AUTOLOAD FROM DISK DIDNT DCN CHANNEL. 
16 FORMAT ADDITIONAL ERROR INFORMATION IS 
17 FORMAT PRESENTED ON 7155-S LED-S.
*                                                                        FMC
/         ERROR NUMBER 6E004 HEX
* 
21 FORMAT WRONG CONTROLLER ERROR
22 FORMAT FMC RUNS ON 7155-1,1X CONTROLLERS ONLY. 
23 FORMAT RUN FHC ON THIS CONTROLLER (7155-401).
* 
/        ERROR NUMBER 6E005 HEX 
* 
24 FORMAT WRONG CONTROLWARE LOADED ERROR. 
25 FORMAT  MA7*D-REV-*D CONTROLWARE LOADED. 
26 FORMAT 7155-1,1X CONTROLLER REQUIRES MA721 CONTROLWARE.
* 
/         ERROR NUMBER 6E006 HEX
* 
27 FORMAT GENERAL STATUS NON-ZERO AFTER A SEEK. 
6  FORMAT GENERAL STATUS NON-ZERO AFTER READ PROTECTED. 
* 
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC28A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
   IF (B0.NE.156) GOTO 50 
   IF (EC.EQ.0) GOTO 50 
   IF (EC.GT.6) GOTO 50 
*                                                                        FMC
/        ERROR NUMBER 6E001 HEX                                          FMC
*                                                                        FMC
40 IF (EC.NE.1) GOTO 41                                                  FMC
   MSG 7 (SB(0)) TO LINE 10                                              FMC
   MSG 10 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) EXIT TO 985
   MSG 11 TO LINE 14                                                     FMC
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   EXIT TO 985
* 
/         ERROR NUMBER 6E002 HEX
* 
41 IF (EC.NE.2) GOTO 42 
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 985
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 985
* 
/         ERROR NUMBER 6E003 HEX
* 
42 IF (EC.NE.3) GOTO 43 
   MSG 15 TO LINE 12
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 16 TO LINE 14
   MSG 17 TO LINE 15
   MSG 13 TO LINE 16
   GOTO 77
* 
/         ERROR NUMBER 6E004 HEX
* 
43 IF (EC.NE.4) GOTO 44 
   MSG 21 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 985
   MSG 22 TO LINE 14
   MSG 23 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 985
* 
/         ERROR NUMBER 6E005 HEX
* 
44 IF (EC.NE.5) GOTO 45 
   MSG 24 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 985
   MSG 25 (B6,B7) TO LINE 14
   MSG 26 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 985
* 
/         ERROR NUMBER 6E006 HEX
* 
45 IF (EC.NE.6) GOTO 50 
   MSG EM TO LINE 12
   IF (P4.AND.4000B.EQ.0) EXIT TO 985 
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 985
/                                                                        FMC
50 MSG 30 (EA,B0,EC,EM) TO LINE 12
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC29,6000(05,07,16),LOCK 
** 5.2.23 FMC29 - WRITE VERIFY TEST 
* 
*         PURPOSE-
*         FMC29 VERIFIES THE ABILITY OF THE WRITE VERIFY COMPARE
*         NETWORK TO DETECT A DATA FAILURE DURING A WRITE VERIFY
*         SEQUENCE.  THIS MODULE DOES NOT USE A DRIVE.
* 
*         METHOD- 
*         DO FOR ALL PATTERNS 
*           SET DATA PATTERN IN OUTPUT BUFFER (OB)
*           RESERVE CONTROLLER
*           MASTER CLEAR CONTROLLER LOGIC (NOC 1 FLAG)
*           SEND PATTERN TO CONTROLLER BUFFER 
*           SET FMD UNIT BIT ON NOC 1 
*           SET SKIP SECTOR MARK AND WRITE VERIFY ON NOC 2. 
*           SET READ/WRITE ADDRESS ON NOC 6 
*           SET UP/DOWN COUNT ON NOC 7
*           CLEAR LOAD BIT ON NOC 6 
*           EXECUTE WRITE VERIFY CONTROLWORD SEQUENCE 
*           CHECK FOR WRITE VERIFY MISCOMPARE (NIC 1/4) 
*         ENDO
/ 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS.
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS.
* 
*         SUBMODULES REFERENCED-
*         FMC250 - REPORT UNEXPECTED ERRORS 
*         FMC29A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
1  FORMAT FMC29 - WRITE VERIFY TEST 
2  FORMAT FMC29 - LC=*DECD, EC=*DECD
4  FORMAT FMC29 ERROR(S) = *DECD
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         FUNCTION CODE EQUATES 
* 
   EQUATE OPCOM TO 0010      *OPERATION COMPLETE
   EQUATE OPNC TO 0050       *OUTPUT PROCESSOR NORMAL CHANNEL 
   EQUATE ECWS TO 0051       *EXECUTE CONTROL WORD SEQUENCE 
   EQUATE IPCS TO 0052       *INPUT PROCESSOR CHANNEL STATUS
   EQUATE IPFP TO 0054       *ISSUE PROCESSOR FLAG PULSE
   EQUATE MDS TO 0062        *MANIPULATE PROCESSOR
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE NPAT TO 42B        *NUMBER OF DATA PATTERNS 
* 
/         OUTPUT BUFFER (DATA PATTERNS) 
* 
   DATA(OB(00),CON) 001,026,000,000,000 
   DATA(OB(05),CON) 000,000,000,001,000,002,000,004 
   DATA(OB(15),CON) 000,010,000,020,000,040,000,100 
   DATA(OB(25),CON) 000,200,001,000,002,000,004,000 
   DATA(OB(35),CON) 010,000,020,000,040,000,100,000 
   DATA(OB(45),CON) 200,000 
   DATA(OB(50),CON) 1,0,040  *NOC 1, FMD UNIT 
   DATA(OB(54),CON) 2,0,300  *NOC 2, WRT VERIFY 
   DATA(OB(60),CON) 6,366,0  *NOC 6 
   DATA(OB(64),CON) 6,166,0  *NOC 6 
   DATA(OB(70),CON) 7,140,1  *NOC 7 
   DATA(OB(74),CON) 2,0,20,101,6,0,0,0,0  *CW 
   DATA(OB(105),CON) 0,0,0,0
* 
/ 
* 
20 MSG 1 TO DISPLAY, PRINT
* 
/        INITIALIZE.
* 
21 B0=157                    *TEST NUMBER 6F HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B13=29D                   *MODULE NUMBER 29D 
* 
/        SET DATA PATTERN IN BUFFER (16-BITS) 
* 
30 B1 = B1 + 1               *INCREMENT LOOP COUNTER
   B4 = B2 + 5               *DATA PATTERN ADDRESS
   OB(3) = OB(B4) 
   OB(4) = OB(B4+1) 
   RES, ABT 70               *RESERVE CHANNEL 
* 
/         MASTER CLEAR (NOC 1 FLAG) 
* 
   FUNC IPFP, ABT 70         *FLAG PULSE CH=1,ABT 70
   OUT 1 WORDS FROM OB(50), ABT 70
* 
/         SEND PATTERN TO CONTROLLER BUFFER 
* 
   FUNC MDS, ABT 70          *MANIPULATE PROCESSOR
   ACN, ABT 70
   OUT 5 WORDS FROM OB, ABT 70
* 
/         SET FMD UNIT BIT (NOC 1/5)
* 
   BA = 50B                  *OB(50)
   GOSUB 60                  *OUT CH=1,0,40,ABT 70
* 
/         SET SKIP SECTOR MARK AND WRITE VERIFY (NOC 2) 
* 
   BA = 54B                  *OB(54)
   GOSUB 60                  *OUT CH=2,0,300,ABT 70 
* 
/         SET READ/WRITE ADDRESS (NOC 6)
* 
   BA = 60B                  *OB(60)
   GOSUB 60                  *OUT CH=6,366,0,ABT 70 
* 
/         SET UP/DOWN COUNT (NOC 7) 
* 
   BA = 70B                  *OB(70)
   GOSUB 60                  *OUT CH=7,140,1,ABT 70 
* 
/         CLEAR LOAD BIT (NOC 6)
* 
   BA = 64B                  *OB(64)
   GOSUB 60                  *OUT CH=6,166,0,ABT 70 
* 
/         EXECUTE WRITE VERIFY LOOP SEQUENCE
* 
   FUNC ECWS, ABT 70         *CONTROL 0,20,101,6,EX,ABT 70
   OUT 49D WORDS FROM OB(74), ABT 70
* 
/         CHECK FOR WRITE VERIFY COMPLETE (NIC 1/4) 
* 
   FUNC IPCS, ABT 70         *STATUS CHANNEL, ABT 70
   STATUS 32D WORDS TO SB(1), ABT 70
   IF (B2.NE.0) GOTO 40      *IF NOT ZEROES PATTERN 
   IF (SB(4).AND.20B.NE.0) ERROR 3/1, GOTO 67 
   GOTO 50
40 IF (SB(4).AND.20B.EQ.0) ERROR 3/2, GOTO 67 
* 
/        FINALIZE.
* 
50 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 30 WHILE (B2+2.LE.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 76                       *TERMINATE 
* 
/         OUTPUT ON NOC SUBROUTINE
* 
60 WC = 3 
   FUNC OPNC, ABT 70
   OUT, ABT 70
   RETURN 
* 
/        PROCESS EXPECTED ERRORS. 
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/        PROCESS UNEXPECTED ERRORS. 
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
   ENDSUB 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 30                   *GO TO REPEAT CONDITION
* 
/        CALL APPROPRIATE DISPLAY SUBMODULE.
* 
74 IF(EC.LT.4000B) CALL 29A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 250  *UNEXPECTED ERROR DISPLAY
/ 
75 IF (ES.AND.RC.NE.0) GOTO 30
* 
/         TERMINATE.
* 
76 RES, ABT 77
   FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
   IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
77 END 20 
COMPILE 
   MODULE FMC29A,6000(05,07,16),LOCK
*   5.2.23.1 FMC29A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC98L - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC29.
* 
*         BUFFERS USED- 
*         SAME AS FMC29.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC29 - WRITE VERIFY TEST 
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC29 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6F001 HEX 
* 
10 FORMAT WRITE VERIFY COMPARE ERROR (NIC 1/4). 
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B21, B20, B19, AND A20. 
13 FORMAT 
* 
/        ERROR NUMBER 6F002 HEX 
* 
14 FORMAT NO WRITE VERIFY COMPARE ERROR (NIC 1/4).
15 FORMAT B19, A20, AND B21.
16 FORMAT B20, AND B21. 
21 FORMAT A20, B21, B27, B26, B20, AND B19. 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC29A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.157) GOTO 45 
   IF (EC.EQ.0) GOTO 45 
   IF (EC.GT.2) GOTO 45 
* 
/        ERROR NUMBER 6F001 HEX 
* 
40 IF (EC.NE.1) GOTO 41 
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98L
* 
/        ERROR NUMBER 6F002 HEX 
* 
41 IF (EC.NE.2) GOTO 45 
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98L
   MSG 11 TO LINE 14
   MSG 21 TO LINE 15
   IF (OB(B4+1).NE.0) MSG 15 TO LINE 15 
   IF (OB(B4).NE.0) MSG 16 TO LINE 15 
   MSG 13 TO LINE 16
   EXIT TO 98L
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC30,844HT(05),LOCK
** 5.2.24 FMC30 - LOOP 885 DECODE TEST (DC=5) 
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC30 VERIFIES THAT DATA PATTERNS CAN BE LOOPED THROUGH THE 
*         885 INTERFACE BOARDS USING THE LOOP 885 DECODE FEATURE. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 844 (DEVICE CODE 5) IS ASSIGNED TO 
*         THE DIAGNOSTIC. 
* 
*         METHOD- 
*         VERIFY PARAMETERS.
*         DO FOR ALL DATA PATTERNS
*           FILL BUFFER 
*           DO FOR EACH WORD IN BUFFER
*             DO FOR 885 INTERFACE ASSIGNED 
*               SET THE LOOP 885 DECODE BIT 
*               OUTPUT WORD ON NOC 8
*               VERIFY THAT NIC 8 CONTAINS THE CORRECT WORD 
*               CLEAR LOOP 885 DECODE BIT.
*               CHECK STATUS VALID AND BUS IN PARITY. 
*               ISOLATE DATA ERRORS BASED ON BAD BIT POSITION 
*             ENDO
*           ENDO
*         ENDO
/ 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS 
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS 
* 
*         SUBMODULES REFERENCED-
*         FMC300 - VERIFY PARAMETERS
*         FMC370 - REPORT UNEXPECTED ERRORS 
*         FMC30A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - BUFFER INDEX 
*         B6 - TEMPORARY STORAGE
*         B7 - TEMPORARY STORAGE
*         B8 - TEMPORARY STARAGE
*         B9 - ABORT TYPE INDEX 
*         B10- LENGTH OF BUFFER LOOP
*         B12- CURRENT DATA PATTERN 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         OB(0) - OB(501)  HOLDS GENERATED DATA PATTERNS
* 
* 
1  FORMAT FMC30 - LOOP 885 DECODE TEST (DC=5) 
2  FORMAT FMC30 - LC=*DECD, EC=*DECD
4  FORMAT FMC30 ERROR(S) = *DECD
5  FORMAT DATA ERROR    E*OCT  A*OCT  D*OCT 
6  FORMAT // FMC30 NOT EXECUTED, NEEDS AL=0004, AL=*OCTB // 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE BIPE TO 1          *BUS IN PARITY ERROR 
   EQUATE VALID TO 2         *STATUS VALID (NIC 8/9)
   EQUATE NPAT TO 06         *NUMBER OF DATA PATTERNS 
   EQUATE LOOPDEC TO 100     *LOOP DECODE BIT 
   EQUATE OPT885 TO 40       *OPTIONAL 885 INTERFACES 
* 
/ 
* 
20 CALL 300                  *VERIFY PARAMETERS 
   MSG 1 TO DISPLAY, PRINT
   IF(AL.GE.4) GOTO 21       *ACCESS LEVEL CHECK
   MSG 6 (AL) TO PRINT, DISPLAY 
   EXIT 
* 
/        INITIALIZE.
* 
21 B0=155                    *TEST NUMBER 6D HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B13 = 30D                 *MODULE NUMBER 30D 
   B8=50                     *DETERMINE LAST INTERFACE NO.
   IF(P8.AND.OPT885.NE.0)B8=60
* 
24 IF(B2.EQ.0)DUP 0000B TO OB FOR 100B   0000 PATTERN 
   IF(B2.EQ.1)DUP 7777B TO OB FOR 100B   7777 PATTERN 
   IF(B2.EQ.2)DUP 2525B TO OB FOR 100B   2525 PATTERN 
   IF(B2.EQ.3)DUP 5252B TO OB FOR 100B   5252 PATTERN 
   IF(B2.EQ.4)DUP 1111B TO OB FOR 100B   1111 PATTERN 
   IF(B2.EQ.5)DUP 2222B TO OB FOR 100B   2222 PATTERN 
   IF(B2.EQ.6)DUP 4444B TO OB FOR 100B   4444 PATTERN 
   B5=0                      *BUFFER INDEX
   IF (B2.LT.4) B10=1        *STATIC PATTERNS 
   IF (B2.LT.10B) B10=12D    *SLIDING PATTERNS
   IF (B2.GE.10B) B10=100    *RANDOM PATTERNS 
25 B7 = 40B                  *FIRST 885 INTERFACE NUMBER
* 
/        PERFORM LOOP 885 DECODE TEST.
* 
40 B1=B1+1
44 B9 = 13
   RES CONTROLLER, ABT 70    *RESERVE CONTROLLER
* 
/         SET LOOP 885 DECODE BIT IN NOC 1. 
* 
   B6 = LOOPDEC              *LOOPDEC BIT FOR NOC 1 
   B9 = 21
   OUT CH=1,B6,B7,ABT 70     *SET LOOPDEC + 885 NO. 
* 
/         LOOP DATA.
* 
   B12=OB(B5).AND.377 
   OUT CH=8,377B,B12,ABT 70  *SEND PATTERN
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ PATTERN
* 
/         CLEAR LOOP 885 DECODE BIT IN NOC 1. 
* 
   B9 = 21
   OUT CH=1,0,B7,ABT 70      *CLEAR LOOPDEC 
* 
/         COMPARE DATA. 
* 
   IF(SB(21).AND.VALID.EQ.0) ERROR 3/22 GOTO 67 
   IF (SB(22).NE.B12) GOTO 64 
   IF (SB(21).AND.BIPE.NE.0) ERROR 3/21 GOTO 67  *PARITY
* 
/        FINALIZE.
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 44 WHILE (B7+1.NE.B8)    *END OF INTERFACE LOOP 
   GOTO 25 WHILE (B5+1.LT.B10)   *END OF BUFFER LOOP
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 77                       *TERMINATE MODULE
* 
/        ANALYZE DATA ERRORS
* 
64 B4=SB(22).XOR.B12
   MSG 5 (B12,SB(22),B4) TO LINE 7
* 
*         DATA ERROR ISOLATION ANALYSIS TABLE 
* 
*         2 3 4  B6  B6 2 3 4 
*         ------------------- 
*         - - -   0  0  - - - 
*         - - X   4  2  X - - 
*         - X -   3  3  - X - 
*         - X X   7  4  - - X 
*         X - -   2  5  X X - 
*         X - X   6  6  X - X 
*         X X -   5  7  - X X 
*         X X X   9  9  X X X 
* 
   B6=0 
   IF (B4.AND.7.NE.0) B6=2
   IF (B4.AND.70.NE.0) B6=B6+3
   IF (B4.AND.300.NE.0) B6=B6+4 
   IF (B6.GT.4) ERROR 3/1, GOTO 67
   IF (B6.EQ.2) ERROR 3/2, GOTO 67
   IF (B6.EQ.3) ERROR 3/3, GOTO 67
   ERROR 3/4, GOTO 67 
* 
/        PROCESS EXPECTED ERRORS. 
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/        PROCESS UNEXPECTED ERRORS. 
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/        CALL APPROPRIATE DISPLAY SUBMODULE.
* 
74 IF(EC.LT.4000B) CALL 30A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) MSG 1 TO LINE 2
   IF(EC.GE.4000B) CALL 370  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC30A,844HT(05),LOCK 
*   5.2.24.1 FMC30A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC30B - PROCESS HIGHER ERROR NUMBERS.
*         FMC98M - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC30.
* 
*         BUFFERS USED- 
*         SAME AS FMC30.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC30 - LOOP 885 DECODE TEST (DC=5) 
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC30 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6D001 HEX 
* 
10 FORMAT DATA MISCOMPARE ON LOOP 885 DECODE
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B04, B13, B01, B02, B03, AND A18. 
13 FORMAT B17,B04,B13,B14,B15,B16,B01,B02,B03,AND A18.
* 
/        ERROR NUMBER 6D002 HEX 
* 
14 FORMAT DATA MISCOMPARE ON LOOP 885 DECODE (BITS 0, 1, 2).
15 FORMAT B01, B04, B13, AND A18. 
16 FORMAT B14, B01, B04, B17, B13, AND A18. 
17 FORMAT 
* 
/        ERROR NUMBER 6D003 HEX 
* 
20 FORMAT DATA MISCOMPARE ON LOOP 885 DECODE (BITS 3, 4, 5).
21 FORMAT B02, B04, B13, AND A18. 
22 FORMAT B15, B02, B04, B17, B13, AND A18. 
23 FORMAT 
* 
/        ERROR NUMBER 6D004 HEX 
* 
24 FORMAT DATA MISCOMPARE ON LOOP 885 DECODE (BITS 6, 7)
25 FORMAT B03, B04, B13, AND A18. 
26 FORMAT B16, B03, B04, B17, B13, AND A18. 
27 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC30A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   B7 = SB(63B)             *--*REMOVE IN CTRLR LANGUAGE*--*
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.155) GOTO 45 
   IF (EC.EQ.0) GOTO 45 
   IF (EC.GT.4) EXIT TO 30B 
* 
/        ERROR NUMBER 6D001 HEX 
* 
40 IF (EC.NE.1) GOTO 41 
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 12 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98M
50 MSG 13 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98M
* 
/        ERROR NUMBER 6D002 HEX 
* 
41 IF (EC.NE.2) GOTO 42 
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 51
   MSG 15 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98M
51 MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98M
* 
/        ERROR NUMBER 6D003 HEX 
* 
42 IF (EC.NE.3) GOTO 43 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 52
   MSG 21 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98M
52 MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98M
* 
/        ERROR NUMBER 6D004 HEX 
* 
43 IF (EC.NE.4) GOTO 45 
   MSG 24 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 53
   MSG 25 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98M
53 MSG 26 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98M
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC30B,844HT(05),LOCK 
*   5.2.24.2 FMC30B - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC98M - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC30.
* 
*         BUFFERS USED- 
*         SAME AS FMC30.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC30 - LOOP 885 DECODE TEST (DC=5) 
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC30 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6D011 HEX 
* 
10 FORMAT DATA PARITY ERROR ON LOOP 885 DECODE. 
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B03, B04, B13, AND A18. 
13 FORMAT B16, B03, B04, B13, AND A18.
* 
/         ERROR NUMBER 6D012 HEX
* 
14 FORMAT NO STATUS VALID ON LOOP 885 DECODE. 
15 FORMAT SUCCESSIVELY REPLACE CARD B04.
16 FORMAT 
17 FORMAT 
20 FORMAT CHECK P8-885 OPTION INTERFACES PARAMETER. 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC30B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   B7 = SB(63B)             *--*REMOVE IN CTRLR LANGUAGE*--*
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.155) GOTO 45 
   IF (EC.LT.21) GOTO 45
   IF (EC.GT.22) GOTO 45
* 
/        ERROR NUMBER 6D011 HEX 
* 
40 IF (EC.NE.21) GOTO 41
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 12 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98M
50 MSG 13 TO LINE 15
   MSG 20 TO LINE 16
   EXIT TO 98M
* 
/         ERROR NUMBER 6D012 HEX
* 
41 IF (EC.NE.22) GOTO 45
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98M
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC300,844HT(05),LOCK 
*   5.2.24.3 FMC300 - PARAMETER VERIFICATION
* 
*         PURPOSE-
*         FMC300 VERIFIES THAT APPROPRIATE PARAMETERS ARE SET 
*         TO RUN THE FMC3X SERIES OF MODULES. 
* 
*         METHOD- 
*         PARAMETERS ARE CHECKED FOR THREE TYPES OF ERRORS--
*         1.  UNUSED BITS BEING SET.
*         2.  DRIVE-ORIENTED PARAMETERS BEING SET (SINCE FMC
*               ONLY ACCESSES THE PRE-ALLOCATED AREA).
* 
*         ENTRY-
*         PARAMETERS P0 TO P9 ARE DESCRIBED IN MODULE FMC99A. 
* 
*         EXIT- 
*         NO SPECIAL EXIT CONDITIONS. 
* 
*         SUBMODULES REFERNCED- 
*         NONE
* 
*         REGISTERS USED- 
*         B1 - MESSAGE LINE INDEX 
*         B2 - MESSAGE FORMAT INDEX 
* 
*         BUFFERS USED- 
*         NONE
* 
*         KNOWN LIMITATIONS-
*         NONE
* 
* 
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC300 - PARAMETER VERIFICATION (DC=5)
3  FORMAT CHECK P0 - NOT USED, SHOULD BE ZERO 
4  FORMAT CHECK P1 - NOT USED, SHOULD BE ZERO 
5  FORMAT CHECK P2 - NOT USED, SHOULD BE ZERO 
6  FORMAT CHECK P3 - NOT USED, SHOULD BE ZERO 
7  FORMAT CHECK P4 - UNUSED BITS ARE SET
10 FORMAT CHECK P5 - UNUSED BITS ARE SET
11 FORMAT CHECK P7 - NOT USED, SHOULD BE ZERO 
12 FORMAT CHECK P8 - UNUSED BITS ARE SET
13 FORMAT CHECK P9 - UNUSED BITS ARE SET
14 FORMAT 844 UNIT NUMBER ERROR.  SET UN=00 THRU 07.
15 FORMAT CHECK P8 - 844 OPTION NOT SET.
16 FORMAT CHECK P5 - DRIVE MODULES SHOULD NOT BE DISABLED 
24 FORMAT P0 - P4 *OCT *OCT *OCT *OCT *OCT
25 FORMAT P5 - P9 *OCT *OCT *OCT *OCT *OCT
26 FORMAT SUSPECT PARAMETER/UNIT NUMBER ENTRY ERROR 
27 FORMAT -PAUSE- FMC300 - *DECD WARNINGS POSTED. 
30 FORMAT PARAMETERS DESCRIBED IN MODULE FMC99A.
/ 
   EQUATE OPT844 TO 0020     *844 INTERFACE OPTION
   EQUATE OPT885 TO 0040     *885 INTERFACE OPTION
/ 
31 B1 = 14                   *SET MESSAGE LINE INDEX
   MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 2 TO DISPLAY, PRINT
   MSG 24 (P0,P1,P2,P3,P4) TO LINE 7
   MSG 25 (P5,P6,P7,P8,P9) TO LINE 10 
/ 
   B2 = 3 
   IF (P0.NE.0) GOSUB 70
/ 
   B2 = 4 
   IF (P1.NE.0) GOSUB 70
/ 
   B2 = 5 
   IF (P2.NE.0) GOSUB 70
/ 
   B2 = 6 
   IF (P3.NE.0) GOSUB 70
/ 
   B2 = 7 
   IF (P4.AND.3776B.NE.0) GOSUB 70
/ 
   B2 = 10
   IF (P5.AND.6726B.NE.0) GOSUB 70
/ 
   B2 = 16
   IF (P5.AND.1.NE.0) GOSUB 70
/ 
   B2 = 11
   IF (P7.NE.0) GOSUB 70
/ 
   B2 = 12
   IF (P8.AND.7400B.NE.0) GOSUB 70
/ 
   B2 = 13
   IF (P9.AND.7070B.NE.0) GOSUB 70
/ 
   B2 = 14
   IF (SB(63).AND.77B.GE.10B) GOSUB 70
/ 
   B2 = 15
   IF (P8.AND.OPT844.EQ.0) GOSUB 70 
/ 
   GOTO 76
/ 
70 MSG B2 TO LINE B1
   B1 = B1 + 1
   RETURN 
/ 
76 IF (B1.EQ.14) GOTO 77     *IF NO ERRORS
   B1 = B1 + 1
   MSG 30 TO LINE B1
   MSG 26 TO LINE 12
   B1 = B1 - 15 
   PICTURE
   MSG 27 (B1) TO DISPLAY, PRINT, DAYFILE 
   PAUSE
77 BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC31,844HT(05),LOCK
** 5.2.25 FMC31 - LOOP 885 BUS TEST (DC=5)
* 
*         PURPOSE-
*         FMC31 VERIFIES THAT DATA PATTERNS CAN BE LOOPED THROUGH THE 
*         885 INTERFACE BOARDS USING THE LOOP 885 BUS FEATURE.
*         THIS MODULE ALSO CHECK BUS IN/OUT PARITY. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 844 (DEVICE CODE 5) IS ASSIGNED TO 
*         THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR PATTERNS 0 THROUGH 7.
*           FILL BUFFER 
*           DO FOR EACH WORD IN BUFFER
*             DO FOR ALL PARITY STATES. 
*               DO FOR 885 INTERFACE ASSIGNED 
*                 SET THE LOOP 885 BUS BIT AND BUS PARITY.
*                 OUTPUT WORD ON NOC 8
*                 VERIFY THAT NIC 8 CONTAINS THE CORRECT WORD 
*                 CLEAR LOOP 885 BUS BIT. 
*                 CHECK STATUS VALID AND BUS IN PARITY. 
*                 ISOLATE DATA ERRORS BASED ON BAD BIT POSITION 
*               ENDO
*             ENDO
*           ENDO
*         ENDO
/ 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS 
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS 
* 
*         SUBMODULES REFERENCED-
*         FMC370 - REPORT UNEXPECTED ERRORS 
*         FMC31A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - BUFFER INDEX 
*         B6 - TEMPORARY STORAGE
*         B7 - TEMPORARY STORAGE
*         B8 - TEMPORARY STARAGE
*         B9 - ABORT TYPE INDEX 
*         B10- LENGTH OF BUFFER LOOP
*         B11- FORCE PARITY INDEX 
*         B12- CURRENT DATA PATTERN 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         OB(0) - OB(501)  CONTAINS WORDS TO BE LOOPED
* 
1  FORMAT FMC31 - LOOP 885 BUS TEST (DC=5)
2  FORMAT FMC31 - LC=*DECD, EC=*DECD
4  FORMAT FMC31 ERROR(S) = *DECD
5  FORMAT DATA ERROR    E*OCT  A*OCT  D*OCT 
6  FORMAT // FMC31 NOT EXECUTED, NEEDS AL=0004, AL=*OCTB // 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE BIPE TO 1          *BUS IN PARITY ERROR 
   EQUATE VALID TO 2         *STATUS VALID (NIC 8/9)
   EQUATE NPAT TO 6          *NUMBER OF DATA PATTERNS 
   EQUATE FBIP TO 4          *FORCE BUSIN PARITY
   EQUATE FBOP TO 10         *FORCE BUSOUT PARITY 
   EQUATE LOOPBUS TO 200     *LOOP BUS BIT
   EQUATE OPT885 TO 40       *OPTIONAL 885 INTERFACES 
* 
/ 
* 
20 MSG 1 TO DISPLAY, PRINT
   IF(AL.GE.4) GOTO 21       *ACCESS LEVEL CHECK
   MSG 6 (AL) TO PRINT, DISPLAY 
   EXIT 
* 
/        INITIALIZE.
* 
21 B0=155                    *TEST NUMBER 6D HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B13 = 31D                 *MODULE NUMBER 31D 
   B8=50                     *DETERMINE LAST INTERFACE NO.
   IF(P8.AND.OPT885.NE.0)B8=60
24 IF(B2.EQ.0)DUP 0000B TO OB FOR 100B   0000 PATTERN 
   IF(B2.EQ.1)DUP 7777B TO OB FOR 100B   7777 PATTERN 
   IF(B2.EQ.2)DUP 2525B TO OB FOR 100B   2525 PATTERN 
   IF(B2.EQ.3)DUP 5252B TO OB FOR 100B   5252 PATTERN 
   IF(B2.EQ.4)DUP 1111B TO OB FOR 100B   1111 PATTERN 
   IF(B2.EQ.5)DUP 2222B TO OB FOR 100B   2222 PATTERN 
   IF(B2.EQ.6)DUP 4444B TO OB FOR 100B   4444 PATTERN 
* 
   B5=0                      *BUFFER INDEX
   IF (B2.LT.4) B10=1        *STATIC PATTERNS 
   IF (B2.LT.10B) B10=12D    *SLIDING PATTERNS
25 B11 = 0                   *INITIALIZE PARITY INDEX 
* 
/        PERFORM LOOP 885 BUS TEST. 
* 
40 B1=B1+1
   B7 = 40                   *FIRST 885 INTERFACE NUMBER
44 B9 = 13
   RES CONTROLLER, ABT 70    *RESERVE CONTROLLER
* 
/         DETERMINE PARITY TO FORCE.
* 
   IF(B11.EQ.0) B6=LOOPBUS   *NONE FORCED 
   IF(B11.EQ.1) B6=LOOPBUS+FBIP  *BUSIN PARITY
   IF(B11.EQ.2) B6=LOOPBUS+FBOP  *BUSOUT PARITY 
* 
/         SET LOOP 885 BUS BIT AND BUS PARITY.
* 
   B9 = 21
   OUT CH=1,B6,B7,ABT 70     *SET LOOPBUS + 885 NO. 
* 
/         LOOP DATA.
* 
   B12=OB(B5).AND.377 
   OUT CH=8,B12,377B,ABT 70  *SEND PATTERN
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ PATTERN
* 
/         CLEAR LOOP 885 BUS BIT IN NOC 1.
* 
   B9 = 21
   OUT CH=1,0,B7,ABT 70     *CLEAR LOOPBUS + FORCE PARITY 
* 
/         COMPARE DATA. 
* 
   IF(SB(21).AND.VALID.EQ.0) ERROR 3/26 GOTO 67 
   IF (SB(22).NE.B12) GOTO 64 
   IF(B11.EQ.0) GOTO 50 
   IF(SB(21).AND.BIPE.EQ.0) ERROR 3/27 GOTO 67  *PARITY 
   GOTO 60
50 IF(SB(21).AND.BIPE.NE.0) ERROR 3/25 GOTO 67  *PARITY 
* 
/        FINALIZE.
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 44 WHILE (B7+1.NE.B8)    *END OF INTERFACE LOOP 
   GOTO 40 WHILE (B11+1.LE.2)    *END OF PARITY LOOP
   GOTO 25 WHILE (B5+1.LT.B10)   *END OF BUFFER LOOP
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 77                       *TERMINATE MODULE
* 
/        ANALYZE DATA ERRORS
* 
64 B4=SB(22).XOR.B12
   MSG 5 (B12,SB(22),B4) TO LINE 7
* 
*         DATA ERROR ISOLATION ANALYSIS TABLE 
* 
*         2 3 4  B6  B6 2 3 4 
*         ------------------- 
*         - - -   0  0  - - - 
*         - - X   4  2  X - - 
*         - X -   3  3  - X - 
*         - X X   7  4  - - X 
*         X - -   2  5  X X - 
*         X - X   6  6  X - X 
*         X X -   5  7  - X X 
*         X X X   9  9  X X X 
* 
   B6=0 
   IF (B4.AND.7.NE.0) B6=2
   IF (B4.AND.70.NE.0) B6=B6+3
   IF (B4.AND.300.NE.0) B6=B6+4 
   IF (B6.GT.4) ERROR 3/5, GOTO 67
   IF (B6.EQ.2) ERROR 3/6, GOTO 67
   IF (B6.EQ.3) ERROR 3/7, GOTO 67
   ERROR 3/10, GOTO 67
* 
/        PROCESS EXPECTED ERRORS. 
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/        PROCESS UNEXPECTED ERRORS. 
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/        CALL APPROPRIATE DISPLAY SUBMODULE.
* 
74 IF(EC.LT.4000B) CALL 31A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) MSG 1 TO LINE 2
   IF(EC.GE.4000B) CALL 370  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC31A,844HT(05),LOCK 
*   5.2.25.1 FMC31A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC31B - PROCESS HIGHER ERROR NUMBERS.
*         FMC98M - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC31.
* 
*         BUFFERS USED- 
*         SAME AS FMC31.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC31 - LOOP 885 BUS TEST (DC=5)
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC31 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6D005 HEX 
* 
10 FORMAT DATA MISCOMPARE ON LOOP 885 BUS 
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B04, B13, B01, B02, B03, AND A18. 
13 FORMAT B17,B04,B13,B14,B15,B16,B01,B02,B03,AND A18.
* 
/        ERROR NUMBER 6D006 HEX 
* 
14 FORMAT DATA MISCOMPARE ON LOOP 885 BUS (BITS 0, 1, 2). 
15 FORMAT B01, B04, B13, AND A18. 
16 FORMAT B14, B01, B04, B17, B13, AND A18. 
17 FORMAT 
* 
/        ERROR NUMBER 6D007 HEX 
* 
20 FORMAT DATA MISCOMPARE ON LOOP 885 BUS (BITS 3, 4, 5). 
21 FORMAT B02, B04, B13, AND A18. 
22 FORMAT B15, B02, B04, B17, B13, AND A18. 
23 FORMAT 
* 
/        ERROR NUMBER 6D008 HEX 
* 
24 FORMAT DATA MISCOMPARE ON LOOP 885 BUS (BITS 6, 7) 
25 FORMAT B03, B04, B13, AND A18. 
26 FORMAT B16, B03, B04, B17, B13, AND A18. 
27 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC31A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   B7 = SB(63B)             *--*REMOVE IN CTRLR LANGUAGE*--*
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.155) GOTO 45 
   IF (EC.LT.5) GOTO 45 
   IF (EC.GT.10) EXIT TO 31B
* 
/        ERROR NUMBER 6D005 HEX 
* 
40 IF (EC.NE.5) GOTO 41 
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 12 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98M
50 MSG 13 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98M
* 
/        ERROR NUMBER 6D006 HEX 
* 
41 IF (EC.NE.6) GOTO 42 
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 51
   MSG 15 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98M
51 MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98M
* 
/        ERROR NUMBER 6D007 HEX 
* 
42 IF (EC.NE.7) GOTO 43 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 52
   MSG 21 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98M
52 MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98M
* 
/        ERROR NUMBER 6D008 HEX 
* 
43 IF (EC.NE.10) GOTO 45
   MSG 24 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 53
   MSG 25 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98M
53 MSG 26 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98M
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC31B,844HT(05),LOCK 
*   5.2.25.2 FMC31B - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC98M - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC31.
* 
*         BUFFERS USED- 
*         SAME AS FMC31.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC31 - LOOP 885 BUS TEST (DC=5)
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC31 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6D015 HEX 
* 
10 FORMAT DATA PARITY ERROR ON LOOP 885 BUS 
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B03, B04, B13, AND A18. 
13 FORMAT B16, B03, B04, B13, AND A18.
* 
/         ERROR NUMBER 6D016 HEX
* 
14 FORMAT NO STATUS VALID ON LOOP 885 BUS.
15 FORMAT SUCCESSIVELY REPLACE CARD B04.
16 FORMAT 
17 FORMAT 
* 
/         ERROR NUMBER 6D017 HEX
* 
20 FORMAT NO STATUS PARITY ERROR ON LOOP 885 BUS. 
21 FORMAT SUCCESSIVELY REPLACE CARDS
22 FORMAT B04, B03, A18, AND A20. 
23 FORMAT 
24 FORMAT CHECK P8-885 OPTION INTERFACES PARAMETER. 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC31B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   B7 = SB(63B)             *--*REMOVE IN CTRLR LANGUAGE*--*
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.155) GOTO 45 
   IF (EC.LT.25) GOTO 45
   IF (EC.GT.27) GOTO 45
* 
/        ERROR NUMBER 6D015 HEX 
* 
40 IF (EC.NE.25) GOTO 41
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 12 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98M
50 MSG 13 TO LINE 15
   MSG 24 TO LINE 16
   EXIT TO 98M
* 
/         ERROR NUMBER 6D016 HEX
* 
41 IF(EC.NE.26) GOTO 42 
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98M
* 
/         ERROR NUMBER 6D017 HEX
* 
42 IF (EC.NE.27B) GOTO 45 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 21 TO LINE 14
   MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98M
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC32,844HT(05),LOCK
** 5.2.26 FMC32 - LOOP 885 WRITE/READ/TAG GATE (DC=5) 
* 
*         PURPOSE-
*         FMC32 VERIFIES THE ABILITY TO LOOP GATING SIGNALS 
*         THROUGH THE 885 INTERFACE BOARDS. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 844 (DEVICE CODE 5) IS ASSIGNED TO 
*         THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR 885 INTERFACE ASSIGNED 
*           MASTER CLEAR CONTROL LOGIC. 
*           SELECT DEVICE INTERFACE ON NOC 1. 
*           SET SKIP SECTOR MARK. 
*           SEND READ GATE
*           CHECK READ GATE STATUS
*           SEND WRITE GATE AND W/R ECC 
*           CHECK WRITE GATE STATUS 
*           SEND READ GATE AND FAST START 
*           CHECK TAG GATE STATUS 
*           MASTER CLEAR CONTROL LOGIC. 
*           CHECK STATUS VALID. 
*         ENDO
/ 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS 
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS 
* 
*         SUBMODULES REFERENCED-
*         FMC370 - REPORT UNEXPECTED ERRORS 
*         FMC32A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B3 - ERROR COUNT
*         B4 - NOC 4 DATA 
*         B5 - NOC 5 DATA 
*         B7 - TEMPORARY STORAGE
*         B8 - TEMPORARY STARAGE
*         B9 - ABORT TYPE INDEX 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         NONE
* 
* 
1  FORMAT FMC32 - LOOP 885 WRT/READ/TAG GATE (DC=5) 
2  FORMAT FMC32 - LC=*DECD, EC=*DECD
4  FORMAT FMC32 ERROR(S) = *DECD
6  FORMAT // FMC32 NOT EXECUTED, NEEDS AL=0004, AL=*OCTB // 
7  FORMAT // FMC32 NOT EXECUTED 844 OPTION SELECTED //
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE OPT844 TO 20       *844 INTERFACE OPTION
   EQUATE OPT885 TO 40       *OPTIONAL 885 INTERFACES 
* 
/         NORMAL CHANNEL EQUATES
* 
   EQUATE VALID TO 2         *STATUS VALID (NIC 8/9)
   EQUATE WRG9 TO 4 
   EQUATE RDG9 TO 2 
   EQUATE TAG9 TO 1 
* 
/ 
* 
20 MSG 1 TO DISPLAY, PRINT
   IF(AL.GE.4) GOTO 21       *ACCESS LEVEL CHECK
   MSG 6 (AL) TO PRINT, DISPLAY 
   EXIT 
* 
/        INITIALIZE.
* 
21 IF(P8.AND.OPT844.EQ.0) GOTO 31 
   MSG 7 TO PRINT, DISPLAY   *MODULE NOT EXECUTED IF 844OPT IN
   EXIT 
31 B0=155                    *TEST NUMBER 60 HEX
   B1=0                      *LOOP COUNT
   B3=0                      *ERROR COUNT 
   B13 = 32D                 *MODULE NUMBER 32D 
   B7=40                     *FIRST 885 INTERFACE NUMBER
   B8=50                     *DETERMINE LAST INTERFACE NO.
   IF(P8.AND.OPT885.NE.0)B8=60
* 
/        PERFORM LOOP 885 WRITE/READ/TAG GATE TEST. 
* 
40 B1=B1+1
44 B9 = 13
   RES CONTROLLER, ABT 70    *RESERVE CONTROLLER
   B9 = 23
   FLAG PULSE CH=1, ABT 70   *MASTER CLEAR CONTROL LOGIC
   B9 = 21
   OUT CH=1,0,B7,ABT 70      *ENABLE 885 INTERFACE
   OUT CH=2,0,100B,ABT 70    *SKIP SECTOR MARK
* 
/         PERFORM LOOP 885 READ GATE TEST 
* 
   B9 = 22
   CONTROL 377,377,100,4,EXECUTE,ABT 70  *SEND READ GATE
   GOSUB 62                  *READ CHANNEL STATUS 
   IF (SB(24).AND.RDG9.EQ.0) ERROR 3/11 GOTO 67 
* 
   GOSUB 63                  *TERMINATE CONTROL WORD SEQ. 
   IF (SB(24).AND.RDG9.NE.0) ERROR 3/14 GOTO 67 
* 
/         PERFORM LOOP 885 WRITE GATE TEST
* 
   B9 = 22
   CONTROL 377,377,104,10,EXECUTE,ABT 70  *SEND WRITE GATE
   GOSUB 62                  *READ CHANNEL STATUS 
   IF (SB(24).AND.WRG9.EQ.0) ERROR 3/12 GOTO 67 
* 
   GOSUB 63                  *TERMINATE CONTROL WORD SEQ. 
   IF (SB(24).AND.WRG9.NE.0) ERROR 3/15 GOTO 67 
* 
/         PERFORM LOOP 885 TAG GATE TEST
* 
   B9 = 22
   CONTROL 377,377,100,24,EXECUTE,ABT 70  *SEND TAG GATE
   GOSUB 62                  *READ CHANNEL STATUS 
   IF (SB(24).AND.TAG9.EQ.0) ERROR 3/13 GOTO 67 
* 
   GOSUB 63                  *TERMINATE CONTROL WORD SEQ. 
   IF (SB(24).AND.TAG9.NE.0) ERROR 3/16 GOTO 67 
* 
/         CHECK FOR STATUS VALID STUCK-AT-ONE 
* 
   B9 = 23
   FLAG PULSE CH=1,ABT 70    *MASTER CLEAR
   B9 = 20
   STATUS CHANNEL,ABT 70     *READ CHANNEL STATUS 
   IF (SB(21).AND.VALID.NE.0) ERROR 3/17 GOTO 67
* 
/        FINALIZE.
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 44 WHILE (B7+1.NE.B8)    *END OF INTERFACE LOOP 
   GOTO 77                       *TERMINATE MODULE
* 
/         CHANNEL STATUS SUBROUTINE 
* 
62 B9 = 20
   STATUS CHANNEL, ABT 64    *READ CHANNEL STATUS 
   RETURN 
* 
/         TERMINATE CONTROL WORD SEQUENCE 
* 
63 B9 = 21
   OUT CH=4,0,0,ABT 64       *CLEAR NOC 4 
   B9=23
   FLAG PULSE CH=5,ABT 64    *TERMINATE CONTROL 
   B9 = 21
   OUT CH=5,0,0,ABT 64       *CLEAR NOC 5 
   B9 = 20
   STATUS CHANNEL, ABT 64    *READ CHANNEL STATUS 
   RETURN 
64 ENDSUB GOTO 70 
* 
/        PROCESS EXPECTED ERRORS. 
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/        PROCESS UNEXPECTED ERRORS. 
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
   ENDSUB 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/        CALL APPROPRIATE DISPLAY SUBMODULE.
* 
74 IF(EC.LT.4000B) CALL 32A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) MSG 1 TO LINE 2
   IF(EC.GE.4000B) CALL 370  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC32A,844HT(05),LOCK 
*   5.2.26.1 FMC32A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC32B - PROCESS HIGHER ERROR NUMBERS.
*         FMC98M - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC32.
* 
*         BUFFERS USED- 
*         SAME AS FMC32.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC32 - LOOP 885 WRT/READ/TAG GATE (DC=5) 
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC32 - LINE *OCT - ERROR NUMBER *H*HE
6  FORMAT SUCCESSIVELY REPLACE CARDS
* 
/        ERROR NUMBER 6D009 HEX 
* 
10 FORMAT LOOP READ GATE A CONSTANT ZERO. 
/         SUCCESSIVELY REPLACE CARDS
11 FORMAT B02, B04, B21, B13, 
12 FORMAT B15,B02,B17,B04,B21,B13,
13 FORMAT B19, B22, A19, AND A21. 
* 
/        ERROR NUMBER 6D00A HEX 
* 
14 FORMAT LOOP WRITE GATE A CONSTANT ZERO.
/         SUCCESSIVELY REPLACE CARDS
15 FORMAT B01, B04, B21, B13, 
16 FORMAT B14,B01,B17,B04,B21,B13,
17 FORMAT CHECK P8-885 OPTION INTERFACES PARAMETER. 
* 
/        ERROR NUMBER 6D00B HEX 
* 
20 FORMAT LOOP TAG GATE A CONSTANT ZERO.
/         SUCCESSIVELY REPLACE CARDS
21 FORMAT B03, B04, B13, AND B19. 
22 FORMAT B16, B03, B17, B04, B13, AND B19. 
23 FORMAT 
* 
/        ERROR NUMBER 6D00C HEX 
* 
24 FORMAT LOOP READ GATE A CONSTANT ONE.
/         SUCCESSIVELY REPLACE CARDS
25 FORMAT B02, B04, B21, B13, 
26 FORMAT B15,B02,B17,B04,B21,B13,
27 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC32A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   B7 = SB(63B)             *--*REMOVE IN CTRLR LANGUAGE*--*
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.155) GOTO 45 
   IF (EC.LT.11) GOTO 45
   IF (EC.GT.14) EXIT TO 32B
* 
/        ERROR NUMBER 6D009 HEX 
* 
40 IF (EC.NE.11) GOTO 41
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 6 TO LINE 13 
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 11 TO LINE 14
   MSG 13 TO LINE 15
   EXIT TO 98M
50 MSG 12 TO LINE 14
   MSG 13 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98M
* 
/        ERROR NUMBER 6D00A HEX 
* 
41 IF (EC.NE.12) GOTO 42
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 51
   MSG 15 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98M
51 MSG 16 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98M
* 
/        ERROR NUMBER 6D00B HEX 
* 
42 IF (EC.NE.13) GOTO 43
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 52
   MSG 21 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98M
52 MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98M
* 
/        ERROR NUMBER 6D00C HEX 
* 
43 IF (EC.NE.14) GOTO 45
   MSG 24 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 53
   MSG 25 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98M
53 MSG 26 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98M
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC32B,844HT(05),LOCK 
*   5.2.26.2 FMC32B - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC98M - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC32.
* 
*         BUFFERS USED- 
*         SAME AS FMC32.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC32 - LOOP 885 WRT/READ/TAG GATE (DC=5) 
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC32 - LINE *OCT - ERROR NUMBER *H*HE
6  FORMAT SUCCESSIVELY REPLACE CARDS
* 
/        ERROR NUMBER 6D00D HEX 
* 
10 FORMAT LOOP WRITE GATE A CONSTANT ONE. 
/         SUCCESSIVELY REPLACE CARDS
11 FORMAT B01, B04, B21, B13, 
12 FORMAT B14,B01,B17,B04,B21,B13,
13 FORMAT B19, B22, A19, AND A21. 
* 
/        ERROR NUMBER 6D00E HEX 
* 
14 FORMAT LOOP TAG GATE A CONSTANT ONE. 
/         SUCCESSIVELY REPLACE CARDS
15 FORMAT B03, B04, B13, AND B19. 
16 FORMAT B16, B03, B17, B04, B13, AND B19. 
17 FORMAT 
* 
/         ERROR NUMBER 6D00F HEX
* 
20 FORMAT STATUS VALID SET AFTER MASTER CLEAR.
21 FORMAT SUCCESSIVELY REPLACE CARD B04.
22 FORMAT 
23 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC32B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   B7 = SB(63B)             *--*REMOVE IN CTRLR LANGUAGE*--*
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.155) GOTO 45 
   IF (EC.LT.15) GOTO 45
   IF (EC.GT.17) GOTO 45
* 
/        ERROR NUMBER 6D00D HEX 
* 
40 IF (EC.NE.15) GOTO 41
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 11 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98M
50 MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98M
* 
/        ERROR NUMBER 6D00E HEX 
* 
41 IF (EC.NE.16) GOTO 42
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 51
   MSG 15 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98M
51 MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98M
* 
/         ERROR NUMBER 6D00F HEX
* 
42 IF (EC.NE.17B) GOTO 45 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 21 TO LINE 14
   MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98M
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC35,844HT(05),LOCK
** 5.2.27 FMC35 - ECC REGISTER TEST (DC=5)
* 
*         PURPOSE-
*         FMC35 VERIFIES THE ABILITY OF THE ECC REGISTER TO RECEIVE,
*         RETAIN, AND RETURN ASSORTED DATA PATTERNS.
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 844 (DEVICE CODE 5) IS ASSIGNED TO 
*         THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR ALL PATTERNS 
*           CLEAR ECC REGISTER BY SENDING FLAG PULSE 3
*           LOAD DATA PATTERN INTO NOC-S 12, 13, AND 14 
*           LOAD ECC REGISTER BY SENDING FLAG PULSE 11
*           READ ECC REGISTER 
*           COMPARE CONTENTS WITH DATA PATTERN
*         ENDO
/ 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC35A - REPORT EXPECTED ERRORS 
*         FMC370 - REPORT UNEXPECTED ERRORS 
*         FMC98I - GENERATE 48-BIT DATA PATTERNS
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - TEMPORARY STORAGE
*         B6 - TEMPORARY STORAGE
*         B7 - HEAD INDEX 
*         B8 - REGISTER INDEX 
*         B9 - ABORT TYPE INDEX 
*         B14- TEMPORARY STORAGE
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         OB(3) - OB(10) = 8-BIT DATA RECIEVED
*         OB(11) - OB(14) = PACKED DATA RECIEVED
*         OB(100) - OB(217) = 48-BIT DATA PATTERNS
* 
1  FORMAT FMC35 - ECC REGISTER TEST (DC=5)
2  FORMAT FMC35 - LC=*DECD, EC=*DECD
4  FORMAT FMC35 ERROR(S) = *DECD
5  FORMAT EXPECTED  *OCT *OCT *OCT *OCT 
6  FORMAT ACTUAL    *OCT *OCT *OCT *OCT 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE NPOL TO 72D        *NUMBER OF POLY. PATTERNS
* 
* 
* 
20 MSG 1 TO DISPLAY, PRINT
* 
/        INITIALIZE.
* 
21 B0=154                    *TEST NUMBER 6C HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B13 = 35D                 *MODULE NUMBER 35D 
   CALL 98I                  *GENERATE 48 BIT DATA PATTERN
* 
/        PERFORM ECC REGISTER TEST. 
* 
40 B1=B1+1
   B9 = 13
   RES CONTROLLER, ABT 70    *RESERVE CONTROLLER
* 
/         CLEAR REGISTER
* 
   B9 = 23
   FLAG PULSE CH=3, ABT 70   *CLEAR ECC REGISTER
* 
/         PACK DATA 
* 
   B5=OB(B2+100).RS.4        *BITS 00 TO 07 
   B14=OB(B2+100).AND.17.LS.4 
   B6=OB(B2+101).RS.8+B14    *BITS 08 TO 15 
   B9 = 21
   OUT CH=12D,B5,B6,ABT 70   *POLYNOMIAL PARCEL I 
* 
   B5=OB(B2+101).AND.377     *BITS 16 TO 23 
   B6=OB(B2+102).RS.4        *BITS 24 TO 31 
   OUT CH=13D,B5,B6,ABT 70   *POLYNOMIAL PARCEL II
* 
   B14=OB(B2+102).AND.17.LS.4 
   B5=OB(B2+103).RS.8+B14    *BITS 32 TO 39 
   B6=OB(B2+103).AND.377     *BITS 40 TO 47 
   OUT CH=14D,B5,B6,ABT 70   *POLYNOMIAL PARCEL III 
* 
/         LOAD REGISTER 
* 
   B8 = 0                    *INIT. REG. INDEX
   B9 = 23
   FLAG PULSE CH=11D,ABT 70  *LOAD ECC REGISTER 
* 
/         READ REGISTER 
* 
   B9 = 21
   OUT CH=3,0,B8,ABT 70      *SELECT BITS 00 TO 15
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ CHANNEL STATUS 
   OB(3)=SB(7)
   OB(4)=SB(8)
* 
   B8 = B8 + 1
   B9 = 21
   OUT CH=3,0,B8,ABT 70      *SELECT BITS 16 TO 31
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ CHANNEL STATUS 
   OB(5)=SB(7)
   OB(6)=SB(8)
* 
   B8 = B8 + 1
   B9 = 21
   OUT CH=3,0,B8,ABT 70      *SELECT BITS 32 TO 47
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ CHANNEL STATUS 
   OB(7)=SB(7)
   OB(10)=SB(8) 
* 
/         UNPACK DATA RECEIVED FROM ECC REGISTER
* 
   B14=OB(3).LS.4 
   OB(11)=OB(4).RS.4+B14
   B14=OB(4).AND.17.LS.8
   OB(12)=OB(5)+B14 
   B14=OB(6).LS.4 
   OB(13)=OB(7).RS.4+B14
   B14=OB(7).AND.17.LS.8
   OB(14)=OB(10)+B14
* 
/         COMPARE DATA
* 
   WC = 4                    *INITIALIZE WORD COUNT 
   COMPARE OB(11) TO OB(B2+100) FOR WC, ABT 65
* 
/         FINALIZE. 
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 40 WHILE (B2+4.LE.NPOL)  *END OF DATA PATTERN LOOP
   GOTO 77                       *TERMINATE MODULE
* 
/         DISPLAY DATA ERRORS 
* 
65 ERROR 3/1
   MSG 5 4 WORDS FROM OB(B2+100) TO LINE 7
   MSG 6 4 WORDS FROM OB(11) TO LINE 10 
*  GOTO 67
* 
/         PROCESS EXPECTED ERRORS.
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/         PROCESS UNEXPECTED ERRORS.
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/         CALL APPROPRIATE DISPLAY SUBMODULE. 
* 
74 IF(EC.LT.4000B) CALL 35A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) MSG 1 TO LINE 2
   IF(EC.GE.4000B) CALL 370  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC35A,844HT(05),LOCK 
*   5.2.27.1 FMC35A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-NONE. 
* 
*         REGISTERS USED- 
*         SAME AS FMC35.
* 
*         BUFFERS USED- 
*         SAME AS FMC35.
* 
* 
* 
/         COMMON MESSAGES 
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC35 - ECC REGISTER TEST (DC=5)
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC*D - LINE *OCT - ERROR NUMBER *H*HE
5  FORMAT FMC36 - ECC REGISTER CLEAR TEST (DC=5)
* 
/         ERROR NUMBER 6C001/6C005 HEX
* 
10 FORMAT BAD DATA PATTERN READ BACK FROM ECC REGISTER
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT A12, A17, A20, A21, AND B22.
13 FORMAT 
* 
/         SOFTWARE ERROR MESSAGES.
* 
30 FORMAT FMC*DA - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
* 
* 
31 MSG 1 TO LINE 1
   IF (B13.EQ.35D) MSG 2 TO LINE 2
   IF (B13.EQ.36D) MSG 5 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(B13,EA,B0,EC) TO LINE 5
* 
* 
* 
   IF (B0.NE.154) GOTO 45 
   IF (EC.EQ.0) GOTO 45 
   IF (EC.GT.10) GOTO 45
* 
/         ERROR NUMBER 6C001/6C005 HEX
* 
40 IF (EC.EQ.1) GOTO 41 
   IF (EC.NE.5) GOTO 45 
41 MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   GOTO 77
* 
45 MSG 30(B13,EA,B0,EC,EM) TO LINE 12 
* 
* 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC36,844HT(05),LOCK
** 5.2.28 FMC36 - ECC REGISTER CLEAR TEST (DC=5)
* 
*         PURPOSE-
*         FMC36 VERIFIES THE ABILITY OF THE PROCESSOR TO CLEAR THE
*         CONTENTS OF THE ECC REGISTER. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 844 (DEVICE CODE 5) IS ASSIGNED TO 
*         THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR ALL PATTERNS 
*           LOAD DATA PATTERN INTO NOC-S 12, 13, AND 14 
*           LOAD ECC REGISTER BY SENDING FLAG PULSE 11
*           CLEAR ECC REGISTER BY SENDING FLAG PULSE 3
*           READ ECC REGISTER 
*           VERIFY THAT CONTENTS ARE ZERO 
*         ENDO
/ 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC370 - REPORT UNEXPECTED ERRORS 
*         FMC35A - REPORT EXPECTED ERRORS 
*         FMC98I - GENERATE 48-BIT DATA PATTERNS
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - TEMPORARY STORAGE
*         B6 - TEMPORARY STORAGE
*         B7 - HEAD INDEX 
*         B8 - REGISTER INDEX 
*         B9 - ABORT TYPE INDEX 
*         B14- TEMPORARY STORAGE
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         IB(0) THROUGH IB(3) ALL CONTAIN ZEROES. 
*         OB(100) - OB(217) = 48-BIT DATA PATTERNS
* 
* 
*         REMARKS-
* 
*         KNOWN LIMITATIONS-
* 
1  FORMAT FMC36 - ECC REGISTER CLEAR TEST (DC=5)
2  FORMAT FMC36 - LC=*DECD, EC=*DECD
4  FORMAT FMC36 ERROR(S) = *DECD
5  FORMAT EXPECTED  *OCT *OCT *OCT *OCT 
6  FORMAT ACTUAL    *OCT *OCT *OCT *OCT 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE NPOL TO 72D        *NUMBER OF POLY. PATTERNS
* 
* 
* 
20 MSG 1 TO DISPLAY, PRINT
* 
/         INITIALIZE. 
* 
21 B0=154                    *TEST NUMBER 6C HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B13 = 36D                 *MODULE NUMBER 36D 
   CALL 98I                  *GENERATE 48 BIT DATA PATTERN
* 
/         PERFORM ECC REGISTER CLEAR TEST.
* 
40 B1=B1+1
   B9 = 13
   RES CONTROLLER, ABT 70    *RESERVE CONTROLLER
   B5=OB(B2+100).RS.4        *BITS 00 TO 07 
   B14=OB(B2+100).AND.17.LS.4 
   B6=OB(B2+101).RS.8+B14    *BITS 08 TO 15 
   B9 = 21
   OUT CH=12D,B5,B6,ABT 70   *POLYNOMIAL PARCEL I 
* 
   B5=OB(B2+101).AND.377     *BITS 16 TO 23 
   B6=OB(B2+102).RS.4        *BITS 24 TO 31 
   OUT CH=13D,B5,B6,ABT 70   *POLYNOMIAL PARCEL II
* 
   B14=OB(B2+102).AND.17.LS.4 
   B5=OB(B2+103).RS.8+B14    *BITS 32 TO 39 
   B6=OB(B2+103).AND.377     *BITS 40 TO 47 
   OUT CH=14D,B5,B6,ABT 70   *POLYNOMIAL PARCEL III 
* 
/         LOAD REGISTER 
* 
   B8 = 0                    *INIT. REG. INDEX
   B9 = 23
   FLAG PULSE CH=11D,ABT 70  *LOAD ECC REGISTER 
* 
/         CLEAR REGISTER
* 
   FLAG PULSE CH=3,ABT 70    *CLEAR ECC REGISTER
* 
/         READ REGISTER 
* 
   B9 = 21
   OUT CH=3,0,B8,ABT 70      *SELECT BITS 00 TO 15
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ CHANNEL STATUS 
   OB(3)=SB(7)
   OB(4)=SB(8)
* 
   B8 = B8 + 1
   B9 = 21
   OUT CH=3,0,B8,ABT 70      *SELECT BITS 16 TO 31
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ CHANNEL STATUS 
   OB(5)=SB(7)
   OB(6)=SB(8)
* 
   B8 = B8 + 1
   B9 = 21
   OUT CH=3,0,B8,ABT 70      *SELECT BITS 32 TO 47
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ CHANNEL STATUS 
   OB(7)=SB(7)
   OB(10)=SB(8) 
* 
/         UNPACK DATA RECEIVED FROM ECC REGISTER
* 
   B14=OB(3).LS.4 
   OB(11)=OB(4).RS.4+B14
   B14=OB(4).AND.17.LS.8
   OB(12)=OB(5)+B14 
   B14=OB(6).LS.4 
   OB(13)=OB(7).RS.4+B14
   B14=OB(7).AND.17.LS.8
   OB(14)=OB(10)+B14
* 
/         COMPARE DATA
* 
   WC = 4                    *INITIALIZE WORD COUNT 
   COMPARE OB(11) TO IB(0) FOR WC, ABT 65 
* 
/         FINALIZE. 
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 40 WHILE (B2+4.LE.NPOL)  *END OF DATA PATTERN LOOP
   GOTO 77                       *TERMINATE MODULE
* 
/         DISPLAY DATA ERRORS 
* 
65 ERROR 3/5
   MSG 5 4 WORDS FROM IB(0) TO LINE 7 
   MSG 6 4 WORDS FROM OB(11) TO LINE 10 
*  GOTO 67
* 
/         PROCESS EXPECTED ERRORS.
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/         PROCESS UNEXPECTED ERRORS.
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/         CALL APPROPRIATE DISPLAY SUBMODULE. 
* 
74 IF(EC.LT.4000B) CALL 35A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) MSG 1 TO LINE 2
   IF(EC.GE.4000B) CALL 370  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/         TERMINATE.
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC37,844HT(05),LOCK
** 5.2.29 FMC37 - ECC FUNCTIONAL TEST (DC=5)
* 
*         PURPOSE-
*         FMC37 VERIFIES THAT THE ECC LOGIC FUNCTIONS PROPERLY. 
*         IT USES THE READ FUNCTION TO CHECK THE CHECKWORD OF ALL 
*         THE SECTORS ON THE CE (PRE-ALLOCATED) CYLINDER (1465B). 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 844 (DEVICE CODE 5) IS ASSIGNED TO 
*         THE DIAGNOSTIC. 
* 
*         METHOD- 
*         RESERVE CONTROLLER
*         CHECK DRIVE SELECTED AND RESERVED STATUS. 
*         RESERVE DRIVE.
*         CHECK GENERAL AND DETAILED STATUS.
*         WRITE 24 SECTORS. 
*         READ 24 SECTORS.
*         IF READ OR WRITE ABORT, CHECK GENERAL AND DETAILED STATUS.
/ 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC370 - REPORT UNEXPECTED ERRORS 
*         FMC37A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - NUMBER OF SECTORS TO READ
*         B6 - CYLINDER ADDRESS (1465B) 
*         B7 - TRACK ADDRESS (0)
*         B8 - SECTOR ADDRESS (0) 
*         B9 - ABORT TYPE INDEX 
*         B10- TEMPORARY STORAGE
*         B11- TEMPORARY STORAGE
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
* 
*         REMARKS-
* 
*         KNOWN LIMITATIONS-
* 
1  FORMAT FMC37 - ECC FUNCTIONAL TEST (DC=5)
2  FORMAT FMC37 - LC=*DECD, EC=*DECD
4  FORMAT FMC37 ERROR(S) = *DECD
5  FORMAT // FMC37 NOT EXECUTED, NEEDS AL.LT.21B // 
6  FORMAT // FMC37 DRIVES DISABLED, P5=XXX1 //
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE DSR TO 20B         *DRIVE SELECTED AND RESERVED 
* 
/         CHECK FOR DRIVES DISABLED.
* 
20 MSG 1 TO DISPLAY, PRINT
   IF (P5.AND.1.EQ.0) GOTO 21 
   MSG 6 TO DISPLAY, PRINT
   EXIT 
* 
/         CHECK FOR AL.LT.21
* 
21 IF (AL.LT.21) GOTO 22
   MSG 5 TO DISPLAY, PRINT
   EXIT 
* 
/         INITIALIZE. 
* 
22 B0=154                    *TEST NUMBER 6C HEX
   B1=0                      *LOOP COUNT
   B3=0                      *ERROR COUNT 
   B13 = 37D                 *MODULE NUMBER 37D 
   B6=1465B                  *CYLINDER
* 
/         TEST DRIVE SELECTED AND RESERVED HARDWARE.
* 
40 B1 = B1 + 1               *INCREMENT LOOP COUNTER
   B9 = 13
   RES CONTROLLER, ABT 70 
   B9 = 23
   FLAG PULSE CH=1,ABT 70    *MASTER CLEAR CONTROLLER 
   B9 = 20
   STATUS CHANNEL, ABT 70    *COPY CHANNEL STATUS 
   IF(SB(25).AND.DSR.NE.0) ERROR 3/12, GOTO 67
* 
/         RESERVE DRIVE, CHECK FOR MALFUNCTION. 
* 
   B9 = 5 
   RES DRIVE, ABT 41         *RESERVE DRIVE TEST
   GOTO 43
41 MSG EM TO LINE 7 
   IF(SB(0).EQ.10) ERROR 3/15, GOTO 67
   IF(SB(0).NE.5020B) GOTO 42 
   IF(SB(15).AND.377.EQ.0) GOTO 70
   IF(SB(16).AND.32.EQ.20) ERROR 3/16, GOTO 67
42 IF(SB(0).NE.2) GOTO 70 
   IF(SB(15).AND.1000.NE.0) ERROR 17/17, GOTO 67
   GOTO 70
* 
/         WRITE 24 SECTORS. 
* 
43 B7 = 0                    *TRACK 
   B8=0                      *SECTOR
   B5=24D                    *NUMBER OF SECTORS 
   B9 = 14
   WRITE B5 SECTORS AT CYL B6, TRK B7, SEC B8, ABT 50 
* 
/         READ 24 SECTORS.
* 
   B7=0                      *TRACK 
   B8=0                      *SECTOR
   B5=24D                    *NUMBER OF SECTORS 
   B9 = 15
   READ B5 SECTORS AT CYL B6, TRK B7, SEC B8, ABT 50
* 
/         FINALIZE. 
* 
   IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 77                       *TERMINATE MODULE
* 
/         PROCESS ABORT ON WRITE OR READ COMMAND. 
* 
50 IF (LF.AND.776.NE.4) GOTO 51       *IF ABT AFTER STATUS
   B10 = B9 
   B9 = 16
   STATUS GENERAL, ABT 70             *GENERAL STATUS 
   B9 = 17
   STATUS DETAIL, ABT 70              *DETAILED STATUS
   B9 = B10 
51 B5 = 0 
   IF(SB(25) NE 0) B5=25              *IF RETRY ATTEMPTED 
   MSG EM TO LINE 7 
   IF(SB(B5+2).AND.4000.NE.0) ERROR 7/11, GOTO 67 
   IF(SB(B5+1).AND.10.NE.0) ERROR 3/13, GOTO 67 
   IF(SB(B5+2).AND.1000.NE.0) ERROR 10/11, GOTO 67
   IF(SB(B5+21).AND.4.NE.0) ERROR 3/14, GOTO 67 
   IF(SB(B5).NE.5000B) GOTO 70
   IF(SB(B5+20).AND.4000.NE.0) ERROR 15/20, GOTO 67 
   IF(SB(B5+20).AND.40.NE.0) ERROR 16/17, GOTO 67 
   GOTO 70
* 
/         PROCESS EXPECTED ERRORS.
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/         PROCESS UNEXPECTED ERRORS.
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/         CALL APPROPRIATE DISPLAY SUBMODULE. 
* 
74 IF(EC.LT.4000B) CALL 37A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) MSG 1 TO LINE 2
   IF(EC.GE.4000B) CALL 370  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC37A,844HT(05),LOCK 
*   5.2.29.1 FMC37A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC37B - PROCESS HIGHER ERROR NUMBERS.
*         FMC98E - DISPLAY DETAILED STATUS
*         FMC98M - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC37.
* 
*         BUFFERS USED- 
*         SAME AS FMC37.
* 
* 
* 
*        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC37 - ECC FUNCTIONAL TEST (DC=5)
3  FORMAT PRESERVICE FORECAST GROUP FMDC OR F844
4  FORMAT FMC37 - LINE *OCT - ERROR NUMBER *H*HE
* 
/         ERROR NUMBER 6C009 HEX
* 
7  FORMAT ADDRESS CHECKWORD ERROR 
10 FORMAT DATA CHECKWORD ERROR
11 FORMAT IF THE CE CYLINDER IS KNOWN TO BE WITHOUT FLAW AND
12 FORMAT PROPERLY FORMATTED, SUCCESSIVELY REPLACE CARDS
13 FORMAT A*D, B*D, B20, A17, AND A21.
* 
/         ERROR NUMBER 6C00A HEX
* 
14 FORMAT DRIVE SELECTED AND RESERVED STATUS STUCK-AT-ONE 
15 FORMAT SUCCESSIVELY REPLACE CARDS B06, B13, AND A18. 
16 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
17 FORMAT 
* 
/         ERROR NUMBER 6C00B HEX
* 
20 FORMAT ADDRESS ERROR (DETAILED STATUS WORD 1)
21 FORMAT SUCCESSIVELY REPLACE CARDS
22 FORMAT B20, B19, AND A20.
23 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
* 
/         ERROR NUMBER 6C00C HEX
* 
24 FORMAT CONTROLLER CHANNEL ACTIVE ERROR 
25 FORMAT SUCCESSIVELY REPLACE CARDS
26 FORMAT A15, B22, B20, AND R/T CARD(A01/A02/A03/A04). 
27 FORMAT 
* 
/         SOFTWARE ERROR MESSAGES.
* 
30 FORMAT FMC37A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
* 
* 
   IF (B0.NE.154) GOTO 45 
   IF (EC.LT.11) GOTO 45
   IF (EC.GT.14) EXIT TO 37B
* 
/         ERROR NUMBER 6C009 HEX
* 
40 IF (EC.NE.11) GOTO 41
   MSG EM TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98E
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 (12D,22D) TO LINE 16
   EXIT TO 98E
* 
/         ERROR NUMBER 6C00A HEX
* 
41 IF(EC.NE.12) GOTO 42 
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98M
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98M
* 
/         ERROR NUMBER 6C00B HEX
* 
42 IF(EC.NE.13) GOTO 43 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98E
   MSG 21 TO LINE 14
   MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98E
* 
/         ERROR NUMBER 6C00C HEX
* 
43 IF (EC.NE.14B) GOTO 45 
   MSG 24 TO LINE 12
   IF(P4.AND.4000.EQ.0) EXIT TO 98E 
   MSG 25 TO LINE 14
   MSG 26 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98E
* 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC37B,844HT(05),LOCK 
*   5.2.29.2 FMC37B - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC98E - DISPLAY DETAILED STATUS
* 
*         REGISTERS USED- 
*         SAME AS FMC37.
* 
*         BUFFERS USED- 
*         SAME AS FMC37.
* 
* 
* 
*        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC37 - ECC FUNCTIONAL TEST (DC=5)
3  FORMAT PRESERVICE FORECAST GROUP FMDC OR F844
4  FORMAT FMC37 - LINE *OCT - ERROR NUMBER *H*HE
* 
/         ERROR NUMBER 6C00D HEX
* 
5  FORMAT DRIVE RESERVED BY OPPOSITE ACCESS STATUS
6  FORMAT SUCCESSIVELY REPLACE CARDS
7  FORMAT B05 THRU B12, B13, AND A20. 
10 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
* 
/         ERROR NUMBER 6C00E HEX
* 
11 FORMAT DRIVE MALFUNCTION/INTERFACE FAULT 
12 FORMAT SUCCESSIVELY REPLACE CARDS B05 THRU B12,
13 FORMAT B13, B22, B19, AND B21. 
* 
/         ERROR NUMBER 6C00F/6C010 HEX
* 
15 FORMAT CONTROLLER LOST DRIVE CLOCK ERROR 
16 FORMAT CONTROLLER PROCESSOR INSTRUCTION TIMEOUT ERROR
17 FORMAT CONTROLLER AND/OR DRIVE BUSY
20 FORMAT B07, B13, AND B22.
21 FORMAT B13, B21, B22, B19, B20, A19, A18, AND A21. 
22 FORMAT B06 AND A18.
23 FORMAT B06 AND B22.
* 
/         SOFTWARE ERROR MESSAGES.
* 
30 FORMAT FMC37B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
   IF (B0.NE.154) GOTO 45 
   IF (EC.LT.15) GOTO 45
   IF (EC.GT.20) GOTO 45
* 
/         ERROR NUMBER 6C00D HEX
* 
40 IF (EC.NE.15) GOTO 41
   MSG 5 TO LINE 12 
   IF(P4.AND.4000.EQ.0) EXIT TO 98E 
   MSG 6 TO LINE 14 
   MSG 7 TO LINE 15 
   MSG 10 TO LINE 16
   EXIT TO 98E
* 
/         ERROR NUMBER 6C00E HEX
* 
41 IF (EC.NE.16) GOTO 42
   MSG 11 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98E
   MSG 12 TO LINE 14
   MSG 13 TO LINE 15
   MSG 10 TO LINE 16
   EXIT TO 98E
* 
/         ERROR NUMBER 6C00F HEX
* 
42 IF (EC.NE.17) GOTO 43
   MSG EM TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98E
   MSG 6 TO LINE 14 
   B10 = EM + 3 
   MSG B10 TO LINE 15 
   MSG 10 TO LINE 16
   EXIT TO 98E
* 
/         ERROR NUMBER 6C010 HEX
* 
43 IF (EC.NE.20) GOTO 45
   MSG EM TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98E
   MSG 6 TO LINE 14 
   MSG 20 TO LINE 15
   IF (B9.EQ.15) GOTO 44      *IF READ ABORT, 
   IF (SB(21).AND.1.NE.0) GOTO 44   *IF WRITE ADDRESS ERROR,
   MSG 23 TO LINE 15
44 MSG 10 TO LINE 16
   EXIT TO 98E
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC370,844HT(05),LOCK 
*   5.2.29.3 FMC370 - REPORT UNEXPECTED ERRORS
* 
*         PURPOSE-
*         FMC370 DISPLAYS INFORMATION EXPANDING ON ALL
*         ERRORS OTHER THAN THOSE WHICH CAN BE INTERPRETED
*         FOR ISOLATION.
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-NONE. 
* 
*         REGISTERS USED- 
*         SAME AS FMC37.
* 
*         BUFFERS USED- 
*         SAME AS FMC37.
* 
* 
* 
* 
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
4  FORMAT FMC*D - LINE *OCTB - ERROR NUMBER *H*HEH
5  FORMAT ABORT ON .RES DRIVE. COMMAND
/ 
6  FORMAT LF = *OCTB      WORD  DETAILED STATUS (OCTAL) 
7  FORMAT                   1   *OCT *OCT *OCT *OCT *OCT
8  FORMAT    GENERAL        6   *OCT *OCT *OCT *OCT *OCT
9  FORMAT STATUS = *OCTB   11D  *OCT *OCT *OCT *OCT *OCT
12 FORMAT                  16D  *OCT *OCT *OCT *OCT *OCT
13 FORMAT ABORT ON .RES CONTROLLER. COMMAND 
14 FORMAT ABORT ON .WRITE. COMMAND
15 FORMAT ABORT ON .READ. COMMAND 
16 FORMAT ABORT ON .STATUS GENERAL. COMMAND 
17 FORMAT ABORT ON .STATUS DETAIL. COMMAND
20 FORMAT ABORT ON .STATUS CHANNEL. COMMAND 
21 FORMAT ABORT ON .OUT CH. COMMAND 
22 FORMAT ABORT ON .CONTROL. COMMAND
23 FORMAT ABORT ON .FLAG PULSE. COMMAND 
24 FORMAT ABORT ON .SEEK. COMMAND 
25 FORMAT ABORT ON .REL. COMMAND
30 FORMAT UNEXPECTED ERROR
31 MSG 1 TO LINE 1
   MSG 4 (B13,EA,B0,EC) TO LINE 3 
   MSG 30 TO LINE 5 
   MSG B9 TO LINE 6 
   MSG EM TO LINE 7 
   MSG 6 (LF) TO LINE 11
   MSG 7 (SB(1),SB(2),SB(3),SB(4),SB(5)) TO LINE 12 
   MSG 8 (SB(6),SB(7),SB(8),SB(9),SB(12)) TO LINE 13
   MSG 9(SB(0),SB(13),SB(14),SB(15),SB(16),SB(17))TO LINE 14
   MSG 12(SB(20),SB(21),SB(22),SB(23),SB(24)) TO LINE 15
   PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC39,844FT(05),LOCK
** 5.2.30 FMC39 - WRITE VERIFY TEST (DC=5)
* 
*         PURPOSE-
*         FMC39 USES A WRITE VERIFY OPERATION TO ESTABLISH A FINAL
*         CONFIDENCE IN THE OPERABILITY OF THE CONTROLLER.  IT DOES NOT 
*         RELY ON ANY CONTROLLER LOGIC WHICH HAS NOT BEEN PREVIOUSLY
*         VERIFIED TO SOME EXTENT.  IF FMC39 FAILS, EITHER THE DRIVE OR 
*         CONTROLLER COULD BE AT FAULT. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 844 (DEVICE CODE 5) IS ASSIGNED TO 
*         THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR ALL PATTERNS 
*           FILL THE BUFFER 
*           WRITE A SECTOR
*           WRITE VERIFY THE SECTOR 
*           IF GENERAL STATUS IS NOT ZERO, THEN 
*             REPORT ERROR
*           ENDIF 
*           INVERT A BIT
*           WRITE VERIFY THE SECTOR 
*           IF GENERAL STATUS DOES NOT INCLUDE ABNORMAL 
*           TERMINATION BIT, THEN 
*             REPORT ERROR
*           ENDIF 
*           IF DETAILED STATUS DOES NOT INCLUDE WRITE VERIFY
*           ERROR BIT, THEN 
*             REPORT ERROR
*           ENDIF 
*         ENDO
/ 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS.
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS.
* 
*         SUBMODULES REFERENCED-
*         FMC390 - REPORT UNEXPECTED ERRORS 
*         FMC39A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - NUMBER OF SECTORS
*         B5 - CYLINDER ADDRESS (1465B) 
*         B6 - TRACK ADDRESS (0)
*         B7 - SECTOR ADDRESS (0) 
*         B9 - ABORT TYPE INDEX 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
1  FORMAT FMC39 - WRITE VERIFY TEST (DC=5)
2  FORMAT FMC39 - LC=*DECD, EC=*DECD
4  FORMAT FMC39 ERROR(S) = *DECD
5  FORMAT ID-SWITCH - CONTROLLER = *H HEX, DRIVE = *H HEX 
6  FORMAT // FMC39 DRIVES DISABLED, P5=XXX1 //
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE NPAT TO 07         *NUMBER OF DATA PATTERNS 
* 
/ 
* 
20 MSG 1 TO DISPLAY, PRINT
   IF (P5.AND.1.EQ.0) GOTO 21 
   MSG 6 TO DISPLAY, PRINT
   GOTO 77
* 
/        INITIALIZE.
* 
21 B0=157                    *TEST NUMBER 6F HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   WC=502 
   BA=0 
   B4=1                      *NUMBER OF SECTORS 
   B5=1465B                  *CYLINDER NUMBER 
   B6=0                      *TRACK NUMBER
   B7=0                      *SECTOR NUMBER 
24 IF(B2.EQ.0)DUP 0000B TO OB FOR 502B   0000 PATTERN 
   IF(B2.EQ.1)DUP 7777B TO OB FOR 502B   7777 PATTERN 
   IF(B2.EQ.2)DUP 2525B TO OB FOR 502B   2525 PATTERN 
   IF(B2.EQ.3)DUP 5252B TO OB FOR 502B   5252 PATTERN 
   IF(B2.EQ.4)DUP 1111B TO OB FOR 502B   1111 PATTERN 
   IF(B2.EQ.5)DUP 2222B TO OB FOR 502B   2222 PATTERN 
   IF(B2.EQ.6)DUP 4444B TO OB FOR 502B   4444 PATTERN 
   IF(B2.EQ.7)RANDOM TO OB FOR 502B      RANDOM PATERN
* 
/        PERFORM WRITE VERIFY TEST. 
* 
40 B1=B1+1
   B9 = 13
   RES DRIVE, ABT 70
   B9 = 14
   WRITE B4 SECTORS AT CYL B5, TRK B6, SEC B7, ABT 70 
   B4=1 
   B9 = 15
   VERIFY B4 SECTORS AT CYL B5, TRK B6, SEC B7, ABT 55
   IF (SB(0).NE.0) ERROR 3/1, GOTO 67 
   OB(100)=OB(100).XOR.40    *INVERT A BIT IN THE SECTOR
   B4=1 
   B9 = 15
   VERIFY B4 SECTORS AT CYL B5, TRK B6, SEC B7, ABT 50
   B9 = 16
   STATUS GENERAL, ABT 70 
   B9 = 17
   STATUS DETAIL, ABT 70
   ERROR 3/2, GOTO 67 
* 
50 B9 = 16
   STATUS GENERAL, ABT 70 
   B9 = 17
   STATUS DETAIL, ABT 70
   IF (SB(20).AND.1.EQ.0) ERROR 3/3, GOTO 67
   GOTO 60
55 IF (SB(0).EQ.0) GOTO 70
   ERROR 3/1, GOTO 67 
* 
/        FINALIZE.
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 76                       *TERMINATE 
* 
/        PROCESS EXPECTED ERRORS. 
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/        PROCESS UNEXPECTED ERRORS. 
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/        CALL APPROPRIATE DISPLAY SUBMODULE.
* 
74 IF(EC.LT.4000B) CALL 39A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 390  *UNEXPECTED ERROR DISPLAY
/ 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/ 
/         TERMINATE.
* 
76 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   IF (SB(4).EQ.0) GOTO 77   *IF NO DETAILED STATUS, EXIT 
   B10=SB(24).AND.377        *MASK FOR CONTROLLER ID-SWITCH 
   B11=SB(7).AND.3.LS.6      *JUSTIFY UPPER 3-BITS DRIVE ID 
   B11=SB(10).RS.6+B11       *MAKE 8-BIT DRIVE ID-SWITCH
   MSG 5 (B10,B11) TO DISPLAY, PRINT, DAYFILE 
77 END 20 
COMPILE 
   MODULE FMC39A,844FT(05),LOCK 
*   5.2.30.1 FMC39A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC98F - DISPLAY DETAILED STATUS
* 
*         REGISTERS USED- 
*         SAME AS FMC39.
* 
*         BUFFERS USED- 
*         SAME AS FMC39.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC39 - WRITE VERIFY TEST (DC=5)
3  FORMAT PRESERVICE FORECAST GROUP FMDC OR F844
4  FORMAT FMC39 - LINE *OCT - ERROR NUMBER *H*HE
5  FORMAT SUCCESSIVELY REPLACE CARDS
* 
/        ERROR NUMBER 6F001 HEX 
* 
10 FORMAT WRITE VERIFY FAILED.
11 FORMAT B19, B20, A20, B22, B13, B08, AND B07.
12 FORMAT FAILURE IN EITHER DRIVE OR CONTROLLER.
13 FORMAT DIAGNOSTIC DTC MAY HELP ISOLATE FAILURE.
* 
/        ERROR NUMBER 6F002 HEX 
* 
14 FORMAT FORCING A WRITE VERIFY ERROR DID NOT CAUSE A
15 FORMAT GENERAL STATUS OF 5000. 
16 FORMAT UNKNOWN FAILURE IN EITHER DRIVE OR CONTROLLER.
17 FORMAT DIAGNOSTIC DTC MAY HELP ISOLATE FAILURE.
* 
/        ERROR NUMBER 6F003 HEX 
* 
20 FORMAT FORCING A WRITE VERIFY ERROR DID NOT SET THE
21 FORMAT WRITE VERIFY ERROR BIT IN DETAILED STATUS.
22 FORMAT UNKNOWN FAILURE IN EITHER DRIVE OR CONTROLLER.
23 FORMAT DIAGNOSTIC DTC MAY HELP ISOLATE FAILURE.
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC39A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.157) GOTO 45 
   IF (EC.EQ.0) GOTO 45 
   IF (EC.GT.3) GOTO 45 
* 
/        ERROR NUMBER 6F001 HEX 
* 
40 IF (EC.NE.1) GOTO 41 
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98F
   MSG 5 TO LINE 13 
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98F               *DISPLAY STATUS
* 
/        ERROR NUMBER 6F002 HEX 
* 
41 IF (EC.NE.2) GOTO 42 
   MSG 14 TO LINE 11
   MSG 15 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98F
   MSG 5 TO LINE 13 
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98F               *DISPLAY STATUS
* 
/        ERROR NUMBER 6F003 HEX 
* 
42 IF (EC.NE.3) GOTO 45 
   MSG 20 TO LINE 11
   MSG 21 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98F
   MSG 5 TO LINE 13 
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98F
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC390,844FT(05),LOCK 
*   5.2.30.2 FMC390 - REPORT UNEXPECTED ERRORS
* 
*         PURPOSE-
*         FMC390 DISPLAYS INFORMATION EXPANDING ON ALL
*         ERRORS OTHER THAN THOSE WHICH CAN BE INTERPRETED
*         FOR ISOLATION.
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-NONE. 
* 
*         REGISTERS USED- 
*         SAME AS FMC39.
* 
*         BUFFERS USED- 
*         SAME AS FMC39.
* 
* 
* 
/ 
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC39 - WRITE VERIFY TEST (DC=5)
4  FORMAT FMC39 - LINE *OCT - ERROR NUMBER *H*HE
/ 
6  FORMAT LF=*OCTB        WORD  DETAILED STATUS (OCTAL) 
7  FORMAT                   1   *OCT *OCT *OCT *OCT *OCT
8  FORMAT    GENERAL        6   *OCT *OCT *OCT *OCT *OCT
9  FORMAT STATUS = *OCTB   11D  *OCT *OCT *OCT *OCT *OCT
12 FORMAT                  16D  *OCT *OCT *OCT *OCT *OCT
13 FORMAT ABORT ON .RES DRIVE. COMMAND
14 FORMAT ABORT ON .WRITE. COMMAND
15 FORMAT ABORT ON .VERIFY. COMMAND 
16 FORMAT ABORT ON .STATUS GENERAL. COMMAND 
17 FORMAT ABORT ON .STATUS DETAIL. COMMAND
22 FORMAT UNEXPECTED ERROR
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 4 (EA,B0,EC) TO LINE 3 
   MSG 22 TO LINE 5 
   MSG B9 TO LINE 6 
   MSG EM TO LINE 7 
   MSG 6 (LF) TO LINE 11
   MSG 7 (SB(1),SB(2),SB(3),SB(4),SB(5)) TO LINE 12 
   MSG 8 (SB(6),SB(7),SB(8),SB(9),SB(12)) TO LINE 13
   MSG 9(SB(0),SB(13),SB(14),SB(15),SB(16),SB(17))TO LINE 14
   MSG 12(SB(20),SB(21),SB(22),SB(23),SB(24)) TO LINE 15
   PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
*IF -DEF,MVE
   MODULE FMC40,FMDHT(07),LOCK
** 5.2.31 FMC40 - LOOP 885 DECODE TEST (DC=7) 
* 
*         PURPOSE-
*         FMC40 VERIFIES THAT DATA PATTERNS CAN BE LOOPED THROUGH THE 
*         885 INTERFACE BOARDS USING THE LOOP 885 DECODE FEATURE. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 885-1X (DEVICE CODE 7) IS
*         ASSIGNED TO THE DIAGNOSTIC. 
* 
*         METHOD- 
*         VERIFY PARAMETERS.
*         DO FOR ALL DATA PATTERNS
*           FILL BUFFER 
*           DO FOR EACH WORD IN BUFFER
*             DO FOR 885 INTERFACE ASSIGNED 
*               SET THE LOOP 885 DECODE BIT 
*               OUTPUT WORD ON NOC 8
*               VERIFY THAT NIC 8 CONTAINS THE CORRECT WORD 
*               CLEAR LOOP 885 DECODE BIT.
*               CHECK STATUS VALID AND BUS IN PARITY. 
*               ISOLATE DATA ERRORS BASED ON BAD BIT POSITION 
*             ENDO
*           ENDO
*         ENDO
/ 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS 
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS 
* 
*         SUBMODULES REFERENCED-
*         FMC400 - VERIFY PARAMETERS
*         FMC40A - REPORT EXPECTED ERRORS 
*         FMC470 - REPORT UNEXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - BUFFER INDEX 
*         B6 - TEMPORARY STORAGE
*         B7 - TEMPORARY STORAGE
*         B8 - TEMPORARY STARAGE
*         B9 - ABORT TYPE INDEX 
*         B10- LENGTH OF BUFFER LOOP
*         B12- CURRENT DATA PATTERN 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         OB(0) - OB(501)  HOLDS GENERATED DATA PATTERNS
* 
* 
1  FORMAT FMC40 - LOOP 885 DECODE TEST (DC=7) 
2  FORMAT FMC40 - LC=*DECD, EC=*DECD
4  FORMAT FMC40 ERROR(S) = *DECD
5  FORMAT DATA ERROR    E*OCT  A*OCT  D*OCT 
6  FORMAT // FMC40 NOT EXECUTED, NEEDS AL=0004, AL=*OCTB // 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE BIPE TO 1          *BUS IN PARITY ERROR 
   EQUATE VALID TO 2         *STATUS VALID (NIC 8/9)
   EQUATE NPAT TO 06         *NUMBER OF DATA PATTERNS 
   EQUATE LOOPDEC TO 100     *LOOP DECODE BIT 
   EQUATE OPT885 TO 40       *OPTIONAL 885 INTERFACES 
* 
/ 
* 
20 CALL 400                  *VERIFY PARAMETERS 
   MSG 1 TO DISPLAY, PRINT
   IF(AL.GE.4) GOTO 21       *ACCESS LEVEL CHECK
   MSG 6 (AL) TO PRINT, DISPLAY 
   EXIT 
* 
/        INITIALIZE.
* 
21 B0=155                    *TEST NUMBER 6D HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B13 = 40D                 *MODULE NUMBER 40D 
   B8=50                     *DETERMINE LAST INTERFACE NO.
   IF(P8.AND.OPT885.NE.0)B8=60
* 
24 IF(B2.EQ.0)DUP 0000B TO OB FOR 100B   0000 PATTERN 
   IF(B2.EQ.1)DUP 7777B TO OB FOR 100B   7777 PATTERN 
   IF(B2.EQ.2)DUP 2525B TO OB FOR 100B   2525 PATTERN 
   IF(B2.EQ.3)DUP 5252B TO OB FOR 100B   5252 PATTERN 
   IF(B2.EQ.4)DUP 1111B TO OB FOR 100B   1111 PATTERN 
   IF(B2.EQ.5)DUP 2222B TO OB FOR 100B   2222 PATTERN 
   IF(B2.EQ.6)DUP 4444B TO OB FOR 100B   4444 PATTERN 
   B5=0                      *BUFFER INDEX
   IF (B2.LT.4) B10=1        *STATIC PATTERNS 
   IF (B2.LT.10B) B10=12D    *SLIDING PATTERNS
   IF (B2.GE.10B) B10=100    *RANDOM PATTERNS 
25 B7 = 40B                  *FIRST 885 INTERFACE NUMBER
* 
/        PERFORM LOOP 885 DECODE TEST.
* 
40 B1=B1+1
44 B9 = 13
   RES CONTROLLER, ABT 70    *RESERVE CONTROLLER
* 
/         SET LOOP 885 DECODE BIT IN NOC 1. 
* 
   B6 = LOOPDEC              *LOOPDEC BIT FOR NOC 1 
   B9 = 21
   OUT CH=1,B6,B7,ABT 70     *SET LOOPDEC + 885 NO. 
* 
/         LOOP DATA.
* 
   B12=OB(B5).AND.377 
   OUT CH=8,377B,B12,ABT 70  *SEND PATTERN
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ PATTERN
* 
/         CLEAR LOOP 885 DECODE BIT IN NOC 1. 
* 
   B9 = 21
   OUT CH=1,0,B7,ABT 70      *CLEAR LOOPDEC 
* 
/         COMPARE DATA. 
* 
   IF(SB(21).AND.VALID.EQ.0) ERROR 3/22 GOTO 67 
   IF (SB(22).NE.B12) GOTO 64 
   IF (SB(21).AND.BIPE.NE.0) ERROR 3/21 GOTO 67  *PARITY
* 
/        FINALIZE.
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 44 WHILE (B7+1.NE.B8)    *END OF INTERFACE LOOP 
   GOTO 25 WHILE (B5+1.LT.B10)   *END OF BUFFER LOOP
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 77                       *TERMINATE MODULE
* 
/        ANALYZE DATA ERRORS
* 
64 B4=SB(22).XOR.B12
   MSG 5 (B12,SB(22),B4) TO LINE 7
* 
*         DATA ERROR ISOLATION ANALYSIS TABLE 
* 
*         2 3 4  B6  B6 2 3 4 
*         ------------------- 
*         - - -   0  0  - - - 
*         - - X   4  2  X - - 
*         - X -   3  3  - X - 
*         - X X   7  4  - - X 
*         X - -   2  5  X X - 
*         X - X   6  6  X - X 
*         X X -   5  7  - X X 
*         X X X   9  9  X X X 
* 
   B6=0 
   IF (B4.AND.7.NE.0) B6=2
   IF (B4.AND.70.NE.0) B6=B6+3
   IF (B4.AND.300.NE.0) B6=B6+4 
   IF (B6.GT.4) ERROR 3/1, GOTO 67
   IF (B6.EQ.2) ERROR 3/2, GOTO 67
   IF (B6.EQ.3) ERROR 3/3, GOTO 67
   ERROR 3/4, GOTO 67 
* 
/        PROCESS EXPECTED ERRORS. 
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/        PROCESS UNEXPECTED ERRORS. 
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/        CALL APPROPRIATE DISPLAY SUBMODULE.
* 
74 IF(EC.LT.4000B) CALL 40A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) MSG 1 TO LINE 2
   IF(EC.GE.4000B) CALL 470  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC40A,FMDHT(07),LOCK 
*   5.2.31.1 FMC40A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC40B - PROCESS HIGHER ERROR NUMBERS.
*         FMC98N - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC40.
* 
*         BUFFERS USED- 
*         SAME AS FMC40.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC40 - LOOP 885 DECODE TEST (DC=7) 
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC40 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6D001 HEX 
* 
10 FORMAT DATA MISCOMPARE ON LOOP 885 DECODE
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B04, B13, B01, B02, B03, AND A18. 
13 FORMAT B17,B04,B13,B14,B15,B16,B01,B02,B03,AND A18.
* 
/        ERROR NUMBER 6D002 HEX 
* 
14 FORMAT DATA MISCOMPARE ON LOOP 885 DECODE (BITS 0, 1, 2).
15 FORMAT B01, B04, B13, AND A18. 
16 FORMAT B14, B01, B04, B17, B13, AND A18. 
17 FORMAT 
* 
/        ERROR NUMBER 6D003 HEX 
* 
20 FORMAT DATA MISCOMPARE ON LOOP 885 DECODE (BITS 3, 4, 5).
21 FORMAT B02, B04, B13, AND A18. 
22 FORMAT B15, B02, B04, B17, B13, AND A18. 
23 FORMAT 
* 
/        ERROR NUMBER 6D004 HEX 
* 
24 FORMAT DATA MISCOMPARE ON LOOP 885 DECODE (BITS 6, 7)
25 FORMAT B03, B04, B13, AND A18. 
26 FORMAT B16, B03, B04, B17, B13, AND A18. 
27 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC40A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   B7 = SB(63B)             *--*REMOVE IN CTRLR LANGUAGE*--*
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.155) GOTO 45 
   IF (EC.EQ.0) GOTO 45 
   IF (EC.GT.4) EXIT TO 40B 
* 
/        ERROR NUMBER 6D001 HEX 
* 
40 IF (EC.NE.1) GOTO 41 
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 12 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98N
50 MSG 13 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98N
* 
/        ERROR NUMBER 6D002 HEX 
* 
41 IF (EC.NE.2) GOTO 42 
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 51
   MSG 15 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98N
51 MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98N
* 
/        ERROR NUMBER 6D003 HEX 
* 
42 IF (EC.NE.3) GOTO 43 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 52
   MSG 21 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98N
52 MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98N
* 
/        ERROR NUMBER 6D004 HEX 
* 
43 IF (EC.NE.4) GOTO 45 
   MSG 24 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 53
   MSG 25 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98N
53 MSG 26 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98N
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC40B,FMDHT(07),LOCK 
*   5.2.31.2 FMC40B - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC98N - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC40.
* 
*         BUFFERS USED- 
*         SAME AS FMC40.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC40 - LOOP 885 DECODE TEST (DC=7) 
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC40 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6D011 HEX 
* 
10 FORMAT DATA PARITY ERROR ON LOOP 885 DECODE. 
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B03, B04, B13, AND A18. 
13 FORMAT B16, B03, B04, B13, AND A18.
* 
/         ERROR NUMBER 6D012 HEX
* 
14 FORMAT NO STATUS VALID ON LOOP 885 DECODE. 
15 FORMAT SUCCESSIVELY REPLACE CARD B04.
16 FORMAT 
17 FORMAT 
20 FORMAT CHECK P8-885 OPTION INTERFACES PARAMETER. 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC40B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   B7 = SB(63B)             *--*REMOVE IN CTRLR LANGUAGE*--*
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.155) GOTO 45 
   IF (EC.LT.21) GOTO 45
   IF (EC.GT.22) GOTO 45
* 
/        ERROR NUMBER 6D011 HEX 
* 
40 IF (EC.NE.21) GOTO 41
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 12 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98N
50 MSG 13 TO LINE 15
   MSG 20 TO LINE 16
   EXIT TO 98N
* 
/         ERROR NUMBER 6D012 HEX
* 
41 IF (EC.NE.22) GOTO 45
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98N
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC400,FMDHT(07),LOCK 
*   5.2.31.3 FMC400 - PARAMETER VERIFICATION
* 
*         PURPOSE-
*         FMC400 VERIFIES THAT APPROPRIATE PARAMETERS ARE SET 
*         TO RUN THE FMC4X SERIES OF MODULES. 
* 
*         METHOD- 
*         PARAMETERS ARE CHECKED FOR THREE TYPES OF ERRORS--
*         1.  UNUSED BITS BEING SET.
*         2.  DRIVE-ORIENTED PARAMETERS BEING SET (SINCE FMC
*               ONLY ACCESSES THE PRE-ALLOCATED AREA).
* 
*         ENTRY-
*         PARAMETERS P0 TO P9 ARE DESCRIBED IN MODULE FMC99A. 
* 
*         EXIT- 
*         NO SPECIAL EXIT CONDITIONS. 
* 
*         SUBMODULES REFERNCED- 
*         NONE
* 
*         REGISTERS USED- 
*         B1 - MESSAGE LINE INDEX 
*         B2 - MESSAGE FORMAT INDEX 
* 
*         BUFFERS USED- 
*         NONE
* 
*         KNOWN LIMITATIONS-
*         NONE
* 
* 
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC400 - PARAMETER VERIFICATION (DC=7)
3  FORMAT CHECK P0 - NOT USED, SHOULD BE ZERO 
4  FORMAT CHECK P1 - NOT USED, SHOULD BE ZERO 
5  FORMAT CHECK P2 - NOT USED, SHOULD BE ZERO 
6  FORMAT CHECK P3 - NOT USED, SHOULD BE ZERO 
7  FORMAT CHECK P4 - UNUSED BITS ARE SET
10 FORMAT CHECK P5 - UNUSED BITS ARE SET
11 FORMAT CHECK P7 - NOT USED, SHOULD BE ZERO 
12 FORMAT CHECK P8 - UNUSED BITS ARE SET
13 FORMAT CHECK P9 - UNUSED BITS ARE SET
14 FORMAT 885 UNIT NUMBER ERROR.  SET UN=40 THRU 57.
15 FORMAT CHECK P8 - 885 OPTION NOT SET.
16 FORMAT CHECK P5 - DRIVE MODULES SHOULD NOT BE DISABLED 
24 FORMAT P0 - P4 *OCT *OCT *OCT *OCT *OCT
25 FORMAT P5 - P9 *OCT *OCT *OCT *OCT *OCT
26 FORMAT SUSPECT PARAMETER/UNIT NUMBER ENTRY ERROR 
27 FORMAT -PAUSE- FMC400 - *DECD WARNINGS POSTED. 
30 FORMAT PARAMETERS DESCRIBED IN MODULE FMC99A.
/ 
   EQUATE OPT844 TO 0020     *844 INTERFACE OPTION
   EQUATE OPT885 TO 0040     *885 INTERFACE OPTION
/ 
31 B1 = 14                   *SET MESSAGE LINE INDEX
   MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 2 TO DISPLAY, PRINT
   MSG 24 (P0,P1,P2,P3,P4) TO LINE 7
   MSG 25 (P5,P6,P7,P8,P9) TO LINE 10 
/ 
   B2 = 3 
   IF (P0.NE.0) GOSUB 70
/ 
   B2 = 4 
   IF (P1.NE.0) GOSUB 70
/ 
   B2 = 5 
   IF (P2.NE.0) GOSUB 70
/ 
   B2 = 6 
   IF (P3.NE.0) GOSUB 70
/ 
   B2 = 7 
   IF (P4.AND.3776B.NE.0) GOSUB 70
/ 
   B2 = 10
   IF (P5.AND.6726B.NE.0) GOSUB 70
/ 
   B2 = 16
   IF (P5.AND.1.NE.0) GOSUB 70
/ 
   B2 = 11
   IF (P7.NE.0) GOSUB 70
/ 
   B2 = 12
   IF (P8.AND.7400B.NE.0) GOSUB 70
/ 
   B2 = 13
   IF (P9.AND.7070B.NE.0) GOSUB 70
/ 
   B2 = 14
   IF (SB(63).AND.77B.LT.40B) GOSUB 70
   IF (SB(63).AND.77B.GT.57B) GOSUB 70
/ 
   B2 = 15
   IF (SB(63).AND.10B.EQ.0) GOTO 76 
   IF (P8.AND.OPT885.EQ.0) GOSUB 70 
/ 
   GOTO 76
/ 
70 MSG B2 TO LINE B1
   B1 = B1 + 1
   RETURN 
/ 
76 IF (B1.EQ.14) GOTO 77     *IF NO ERRORS
   B1 = B1 + 1
   MSG 30 TO LINE B1
   MSG 26 TO LINE 12
   B1 = B1 - 15 
   PICTURE
   MSG 27 (B1) TO DISPLAY, PRINT, DAYFILE 
   PAUSE
77 BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC41,FMDHT(07),LOCK
** 5.2.32 FMC41 - LOOP 885 BUS TEST (DC=7)
* 
*         PURPOSE-
*         FMC41 VERIFIES THAT DATA PATTERNS CAN BE LOOPED THROUGH THE 
*         885 INTERFACE BOARDS USING THE LOOP 885 BUS FEATURE.
*         THIS MODULE ALSO CHECK BUS IN/OUT PARITY. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 885-1X (DEVICE CODE 7) IS
*         ASSIGNED TO THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR PATTERNS 0 THROUGH 7.
*           FILL BUFFER 
*           DO FOR EACH WORD IN BUFFER
*             DO FOR ALL PARITY STATES. 
*               DO FOR 885 INTERFACE ASSIGNED 
*                 SET THE LOOP 885 BUS BIT AND BUS PARITY.
*                 OUTPUT WORD ON NOC 8
*                 VERIFY THAT NIC 8 CONTAINS THE CORRECT WORD 
*                 CLEAR LOOP 885 BUS BIT. 
*                 CHECK STATUS VALID AND BUS IN PARITY. 
*                 ISOLATE DATA ERRORS BASED ON BAD BIT POSITION 
*               ENDO
*             ENDO
*           ENDO
*         ENDO
/ 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS 
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS 
* 
*         SUBMODULES REFERENCED-
*         FMC470 - REPORT UNEXPECTED ERRORS 
*         FMC41A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - BUFFER INDEX 
*         B6 - TEMPORARY STORAGE
*         B7 - 885 DRIVE INTERFACE NUMBER 
*         B7 - TEMPORARY STORAGE
*         B8 - TEMPORARY STARAGE
*         B10- LENGTH OF BUFFER LOOP
*         B11- FORCE PARITY INDEX 
*         B12- CURRENT DATA PATTERN 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         OB(0) - OB(501)  CONTAINS WORDS TO BE LOOPED
* 
1  FORMAT FMC41 - LOOP 885 BUS TEST (DC=7)
2  FORMAT FMC41 - LC=*DECD, EC=*DECD
4  FORMAT FMC41 ERROR(S) = *DECD
5  FORMAT DATA ERROR    E*OCT  A*OCT  D*OCT 
6  FORMAT // FMC41 NOT EXECUTED, NEEDS AL=0004, AL=*OCTB // 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE BIPE TO 1          *BUS IN PARITY ERROR 
   EQUATE VALID TO 2         *STATUS VALID (NIC 8/9)
   EQUATE NPAT TO 6          *NUMBER OF DATA PATTERNS 
   EQUATE FBIP TO 4          *FORCE BUSIN PARITY
   EQUATE FBOP TO 10         *FORCE BUSOUT PARITY 
   EQUATE LOOPBUS TO 200     *LOOP BUS BIT
   EQUATE OPT885 TO 40       *OPTIONAL 885 INTERFACES 
* 
/ 
* 
20 MSG 1 TO DISPLAY, PRINT
   IF(AL.GE.4) GOTO 21       *ACCESS LEVEL CHECK
   MSG 6 (AL) TO PRINT, DISPLAY 
   EXIT 
* 
/        INITIALIZE.
* 
21 B0=155                    *TEST NUMBER 6D HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B13 = 41D                 *MODULE NUMBER 41D 
   B8=50                     *DETERMINE LAST INTERFACE NO.
   IF(P8.AND.OPT885.NE.0)B8=60
* 
24 IF(B2.EQ.0)DUP 0000B TO OB FOR 100B   0000 PATTERN 
   IF(B2.EQ.1)DUP 7777B TO OB FOR 100B   7777 PATTERN 
   IF(B2.EQ.2)DUP 2525B TO OB FOR 100B   2525 PATTERN 
   IF(B2.EQ.3)DUP 5252B TO OB FOR 100B   5252 PATTERN 
   IF(B2.EQ.4)DUP 1111B TO OB FOR 100B   1111 PATTERN 
   IF(B2.EQ.5)DUP 2222B TO OB FOR 100B   2222 PATTERN 
   IF(B2.EQ.6)DUP 4444B TO OB FOR 100B   4444 PATTERN 
   B5=0                      *BUFFER INDEX
   IF (B2.LT.4) B10=1        *STATIC PATTERNS 
   IF (B2.LT.10B) B10=12D    *SLIDING PATTERNS
25 B11 = 0                   *INITIALIZE PARITY INDEX 
* 
/        PERFORM LOOP 885 BUS TEST. 
* 
40 B1=B1+1
   B7 = 40                   *FIRST 885 INTERFACE NUMBER
44 B9 = 13
   RES CONTROLLER, ABT 70    *RESERVE CONTROLLER
* 
/         DETERMINE PARITY TO FORCE.
* 
   IF(B11.EQ.0) B6=LOOPBUS   *NONE FORCED 
   IF(B11.EQ.1) B6=LOOPBUS+FBIP  *BUSIN PARITY
   IF(B11.EQ.2) B6=LOOPBUS+FBOP  *BUSOUT PARITY 
* 
/         SET LOOP 885 BUS BIT AND BUS PARITY.
* 
   B9 = 21
   OUT CH=1,B6,B7,ABT 70     *SET LOOPBUS + 885 NO. 
* 
/         LOOP DATA.
* 
   B12=OB(B5).AND.377 
   OUT CH=8,B12,377B,ABT 70  *SEND PATTERN
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ PATTERN
* 
/         CLEAR LOOP 885 BUS BIT IN NOC 1.
* 
   B9 = 21
   OUT CH=1,0,B7,ABT 70     *CLEAR LOOPBUS + FORCE PARITY 
* 
/         COMPARE DATA. 
* 
   IF(SB(21).AND.VALID.EQ.0) ERROR 3/26 GOTO 67 
   IF (SB(22).NE.B12) GOTO 64 
   IF(B11.EQ.0) GOTO 50 
   IF(SB(21).AND.BIPE.EQ.0) ERROR 3/27 GOTO 67  *PARITY 
   GOTO 60
50 IF(SB(21).AND.BIPE.NE.0) ERROR 3/25 GOTO 67  *PARITY 
* 
/        FINALIZE.
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 44 WHILE (B7+1.NE.B8)    *END OF INTERFACE LOOP 
   GOTO 40 WHILE (B11+1.LE.2)    *END OF PARITY LOOP
   GOTO 25 WHILE (B5+1.LT.B10)   *END OF BUFFER LOOP
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 77                       *TERMINATE MODULE
* 
/        ANALYZE DATA ERRORS
* 
64 B4=SB(22).XOR.B12
   MSG 5 (B12,SB(22),B4) TO LINE 7
* 
*         DATA ERROR ISOLATION ANALYSIS TABLE 
* 
*         2 3 4  B6  B6 2 3 4 
*         ------------------- 
*         - - -   0  0  - - - 
*         - - X   4  2  X - - 
*         - X -   3  3  - X - 
*         - X X   7  4  - - X 
*         X - -   2  5  X X - 
*         X - X   6  6  X - X 
*         X X -   5  7  - X X 
*         X X X   9  9  X X X 
* 
   B6=0 
   IF (B4.AND.7.NE.0) B6=2
   IF (B4.AND.70.NE.0) B6=B6+3
   IF (B4.AND.300.NE.0) B6=B6+4 
   IF (B6.GT.4) ERROR 3/5, GOTO 67
   IF (B6.EQ.2) ERROR 3/6, GOTO 67
   IF (B6.EQ.3) ERROR 3/7, GOTO 67
   ERROR 3/10, GOTO 67
* 
/        PROCESS EXPECTED ERRORS. 
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/        PROCESS UNEXPECTED ERRORS. 
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/        CALL APPROPRIATE DISPLAY SUBMODULE.
* 
74 IF(EC.LT.4000B) CALL 41A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) MSG 1 TO LINE 2
   IF(EC.GE.4000B) CALL 470  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC41A,FMDHT(07),LOCK 
*   5.2.32.1 FMC41A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC41B - PROCESS HIGHER ERROR NUMBERS.
*         FMC98N - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC41.
* 
*         BUFFERS USED- 
*         SAME AS FMC41.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC41 - LOOP 885 BUS TEST (DC=7)
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC41 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6D005 HEX 
* 
10 FORMAT DATA MISCOMPARE ON LOOP 885 BUS 
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B04, B13, B01, B02, B03, AND A18. 
13 FORMAT B17,B04,B13,B14,B15,B16,B01,B02,B03,AND A18.
* 
/        ERROR NUMBER 6D006 HEX 
* 
14 FORMAT DATA MISCOMPARE ON LOOP 885 BUS (BITS 0, 1, 2). 
15 FORMAT B01, B04, B13, AND A18. 
16 FORMAT B14, B01, B04, B17, B13, AND A18. 
17 FORMAT 
* 
/        ERROR NUMBER 6D007 HEX 
* 
20 FORMAT DATA MISCOMPARE ON LOOP 885 BUS (BITS 3, 4, 5). 
21 FORMAT B02, B04, B13, AND A18. 
22 FORMAT B15, B02, B04, B17, B13, AND A18. 
23 FORMAT 
* 
/        ERROR NUMBER 6D008 HEX 
* 
24 FORMAT DATA MISCOMPARE ON LOOP 885 BUS (BITS 6, 7) 
25 FORMAT B03, B04, B13, AND A18. 
26 FORMAT B16, B03, B04, B17, B13, AND A18. 
27 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC41A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   B7 = SB(63B)             *--*REMOVE IN CTRLR LANGUAGE*--*
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.155) GOTO 45 
   IF (EC.LT.5) GOTO 45 
   IF (EC.GT.10) EXIT TO 41B
* 
/        ERROR NUMBER 6D005 HEX 
* 
40 IF (EC.NE.5) GOTO 41 
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 12 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98N
50 MSG 13 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98N
* 
/        ERROR NUMBER 6D006 HEX 
* 
41 IF (EC.NE.6) GOTO 42 
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 51
   MSG 15 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98N
51 MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98N
* 
/        ERROR NUMBER 6D007 HEX 
* 
42 IF (EC.NE.7) GOTO 43 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 52
   MSG 21 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98N
52 MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98N
* 
/        ERROR NUMBER 6D008 HEX 
* 
43 IF (EC.NE.10) GOTO 45
   MSG 24 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 53
   MSG 25 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98N
53 MSG 26 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98N
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC41B,FMDHT(07),LOCK 
*   5.2.32.2 FMC41B - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC98N - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC41.
* 
*         BUFFERS USED- 
*         SAME AS FMC41.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC41 - LOOP 885 BUS TEST (DC=7)
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC41 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6D015 HEX 
* 
10 FORMAT DATA PARITY ERROR ON LOOP 885 BUS 
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B03, B04, B13, AND A18. 
13 FORMAT B16, B03, B04, B13, AND A18.
* 
/         ERROR NUMBER 6D016 HEX
* 
14 FORMAT NO STATUS VALID ON LOOP 885 BUS.
15 FORMAT SUCCESSIVELY REPLACE CARD B04.
16 FORMAT 
17 FORMAT 
* 
/         ERROR NUMBER 6D017 HEX
* 
20 FORMAT NO STATUS PARITY ERROR ON LOOP 885 BUS. 
21 FORMAT SUCCESSIVELY REPLACE CARDS
22 FORMAT B04, B03, A18, AND A20. 
23 FORMAT 
24 FORMAT CHECK P8-885 OPTION INTERFACES PARAMETER. 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC41B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   B7 = SB(63B)             *--*REMOVE IN CTRLR LANGUAGE*--*
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.155) GOTO 45 
   IF (EC.LT.25) GOTO 45
   IF (EC.GT.27) GOTO 45
* 
/        ERROR NUMBER 6D015 HEX 
* 
40 IF (EC.NE.25) GOTO 41
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 12 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98N
50 MSG 13 TO LINE 15
   MSG 24 TO LINE 16
   EXIT TO 98N
* 
/         ERROR NUMBER 6D016 HEX
* 
41 IF(EC.NE.26) GOTO 42 
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98N
* 
/         ERROR NUMBER 6D017 HEX
* 
42 IF (EC.NE.27B) GOTO 45 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 21 TO LINE 14
   MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98N
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC42,FMDHT(07),LOCK
** 5.2.33 FMC42 - LOOP 885 WRITE/READ/TAG GATE (DC=7) 
* 
*         PURPOSE-
*         FMC42 VERIFIES THE ABILITY TO LOOP GATING SIGNALS 
*         THROUGH THE 885 INTERFACE BOARDS. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 885-1X (DEVICE CODE 7) IS
*         ASSIGNED TO THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR 885 INTERFACE ASSIGNED 
*           MASTER CLEAR CONTROL LOGIC. 
*           SELECT DEVICE INTERFACE ON NOC 1. 
*           SET SKIP SECTOR MARK. 
*           SEND READ GATE
*           CHECK READ GATE STATUS
*           SEND WRITE GATE AND W/R ECC 
*           CHECK WRITE GATE STATUS 
*           SEND READ GATE AND FAST START 
*           CHECK TAG GATE STATUS 
*           MASTER CLEAR CONTROL LOGIC. 
*           CHECK STATUS VALID. 
*         ENDO
/ 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS 
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS 
* 
*         SUBMODULES REFERENCED-
*         FMC470 - REPORT UNEXPECTED ERRORS 
*         FMC42A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B3 - ERROR COUNT
*         B4 - NOC 4 DATA 
*         B5 - NOC 5 DATA 
*         B7 - TEMPORARY STORAGE
*         B8 - TEMPORARY STARAGE
*         B9 - ABORT TYPE INDEX 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         NONE
* 
* 
1  FORMAT FMC42 - LOOP 885 WRT/READ/TAG GATE (DC=7) 
2  FORMAT FMC42 - LC=*DECD, EC=*DECD
4  FORMAT FMC42 ERROR(S) = *DECD
6  FORMAT // FMC42 NOT EXECUTED, NEEDS AL=0004, AL=*OCTB // 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE OPT885 TO 40       *OPTIONAL 885 INTERFACES 
* 
/         NORMAL CHANNEL EQUATES
* 
   EQUATE VALID TO 2         *STATUS VALID (NIC 8/9)
   EQUATE WRG9 TO 4 
   EQUATE RDG9 TO 2 
   EQUATE TAG9 TO 1 
* 
/ 
* 
20 MSG 1 TO DISPLAY, PRINT
   IF(AL.GE.4) GOTO 21       *ACCESS LEVEL CHECK
   MSG 6 (AL) TO PRINT, DISPLAY 
   EXIT 
* 
/        INITIALIZE.
* 
21 B0=155                    *TEST NUMBER 6D HEX
   B1=0                      *LOOP COUNT
   B3=0                      *ERROR COUNT 
   B13 = 42D                 *MODULE NUMBER 42D 
   B7=40                     *FIRST 885 INTERFACE NUMBER
   B8=50                     *DETERMINE LAST INTERFACE NO.
   IF(P8.AND.OPT885.NE.0)B8=60
* 
/        PERFORM LOOP 885 WRITE/READ/TAG GATE TEST. 
* 
40 B1=B1+1
44 B9 = 13
   RES CONTROLLER, ABT 70    *RESERVE CONTROLLER
   B9 = 23
   FLAG PULSE CH=1, ABT 70   *MASTER CLEAR CONTROL LOGIC
   B9 = 21
   OUT CH=1,0,B7,ABT 70      *ENABLE 885 INTERFACE
   OUT CH=2,0,100B,ABT 70    *SKIP SECTOR MARK
* 
/         PERFORM LOOP 885 READ GATE TEST 
* 
   B9 = 22
   CONTROL 377,377,100,4,EXECUTE,ABT 70  *SEND READ GATE
   GOSUB 62                  *READ CHANNEL STATUS 
   IF (SB(24).AND.RDG9.EQ.0) ERROR 3/11 GOTO 67 
* 
   GOSUB 63                  *TERMINATE CONTROL WORD SEQ. 
   IF (SB(24).AND.RDG9.NE.0) ERROR 3/14 GOTO 67 
* 
/         PERFORM LOOP 885 WRITE GATE TEST
* 
   B9 = 22
   CONTROL 377,377,104,10,EXECUTE,ABT 70  *SEND WRITE GATE
   GOSUB 62                  *READ CHANNEL STATUS 
   IF (SB(24).AND.WRG9.EQ.0) ERROR 3/12 GOTO 67 
* 
   GOSUB 63                  *TERMINATE CONTROL WORD SEQ. 
   IF (SB(24).AND.WRG9.NE.0) ERROR 3/15 GOTO 67 
* 
/         PERFORM LOOP 885 TAG GATE TEST
* 
   B9 = 22
   CONTROL 377,377,100,24,EXECUTE,ABT 70  *SEND TAG GATE
   GOSUB 62                  *READ CHANNEL STATUS 
   IF (SB(24).AND.TAG9.EQ.0) ERROR 3/13 GOTO 67 
* 
   GOSUB 63                  *TERMINATE CONTROL WORD SEQ. 
   IF (SB(24).AND.TAG9.NE.0) ERROR 3/16 GOTO 67 
* 
/         CHECK FOR STATUS VALID STUCK-AT-ONE 
* 
   B9 = 23
   FLAG PULSE CH=1,ABT 70    *MASTER CLEAR
   B9 = 20
   STATUS CHANNEL,ABT 70     *READ CHANNEL STATUS 
   IF (SB(21).AND.VALID.NE.0) ERROR 3/17 GOTO 67
* 
/        FINALIZE.
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 44 WHILE (B7+1.NE.B8)    *END OF INTERFACE LOOP 
   GOTO 77                       *TERMINATE MODULE
* 
/         CHANNEL STATUS SUBROUTINE 
* 
62 B9 = 20
   STATUS CHANNEL, ABT 64    *READ CHANNEL STATUS 
   RETURN 
* 
/         TERMINATE CONTROL WORD SEQUENCE 
* 
63 B9 = 21
   OUT CH=4,0,0,ABT 64       *CLEAR NOC 4 
   B9 = 23
   FLAG PULSE CH=5,ABT 64    *TERMINATE CONTROL 
   B9 = 21
   OUT CH=5,0,0,ABT 64       *CLEAR NOC 5 
   B9 = 20
   STATUS CHANNEL, ABT 64    *READ CHANNEL STATUS 
   RETURN 
64 ENDSUB GOTO 70 
* 
/        PROCESS EXPECTED ERRORS. 
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/        PROCESS UNEXPECTED ERRORS. 
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
   ENDSUB 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/        CALL APPROPRIATE DISPLAY SUBMODULE.
* 
74 IF(EC.LT.4000B) CALL 42A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) MSG 1 TO LINE 2
   IF(EC.GE.4000B) CALL 470  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC42A,FMDHT(07),LOCK 
*   5.2.33.1 FMC42A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC42B - PROCESS HIGHER ERROR NUMBERS.
*         FMC98N - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC42.
* 
*         BUFFERS USED- 
*         SAME AS FMC42.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC42 - LOOP 885 WRT/READ/TAG GATE (DC=7) 
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC42 - LINE *OCT - ERROR NUMBER *H*HE
6  FORMAT SUCCESSIVELY REPLACE CARDS
* 
/        ERROR NUMBER 6D009 HEX 
* 
10 FORMAT LOOP READ GATE A CONSTANT ZERO. 
/         SUCCESSIVELY REPLACE CARDS
11 FORMAT B02, B04, B21, B13, 
12 FORMAT B15,B02,B17,B04,B21,B13,
13 FORMAT B19, B22, A19, AND A21. 
* 
/        ERROR NUMBER 6D00A HEX 
* 
14 FORMAT LOOP WRITE GATE A CONSTANT ZERO.
/         SUCCESSIVELY REPLACE CARDS
15 FORMAT B01, B04, B21, B13, 
16 FORMAT B14,B01,B17,B04,B21,B13,
17 FORMAT CHECK P8-885 OPTION INTERFACES PARAMETER. 
* 
/        ERROR NUMBER 6D00B HEX 
* 
20 FORMAT LOOP TAG GATE A CONSTANT ZERO.
/         SUCCESSIVELY REPLACE CARDS
21 FORMAT B03, B04, B13, AND B19. 
22 FORMAT B16, B03, B17, B04, B13, AND B19. 
23 FORMAT 
* 
/        ERROR NUMBER 6D00C HEX 
* 
24 FORMAT LOOP READ GATE A CONSTANT ONE.
/         SUCCESSIVELY REPLACE CARDS
25 FORMAT B02, B04, B21, B13, 
26 FORMAT B15,B02,B17,B04,B21,B13,
27 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC42A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   B7 = SB(63B)             *--*REMOVE IN CTRLR LANGUAGE*--*
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.155) GOTO 45 
   IF (EC.LT.11) GOTO 45
   IF (EC.GT.14) EXIT TO 42B
* 
/        ERROR NUMBER 6D009 HEX 
* 
40 IF (EC.NE.11) GOTO 41
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 6 TO LINE 13 
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 11 TO LINE 14
   MSG 13 TO LINE 15
   EXIT TO 98N
50 MSG 12 TO LINE 14
   MSG 13 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98N
* 
/        ERROR NUMBER 6D00A HEX 
* 
41 IF (EC.NE.12) GOTO 42
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 51
   MSG 15 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98N
51 MSG 16 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98N
* 
/        ERROR NUMBER 6D00B HEX 
* 
42 IF (EC.NE.13) GOTO 43
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 52
   MSG 21 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98N
52 MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98N
* 
/        ERROR NUMBER 6D00C HEX 
* 
43 IF (EC.NE.14) GOTO 45
   MSG 24 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 53
   MSG 25 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98N
53 MSG 26 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98N
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC42B,FMDHT(07),LOCK 
*   5.2.33.2 FMC42B - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC98N - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC42.
* 
*         BUFFERS USED- 
*         SAME AS FMC42.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC42 - LOOP 885 WRT/READ/TAG GATE (DC=7) 
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC42 - LINE *OCT - ERROR NUMBER *H*HE
6  FORMAT SUCCESSIVELY REPLACE CARDS
* 
/        ERROR NUMBER 6D00D HEX 
* 
10 FORMAT LOOP WRITE GATE A CONSTANT ONE. 
/         SUCCESSIVELY REPLACE CARDS
11 FORMAT B01, B04, B21, B13, 
12 FORMAT B14,B01,B17,B04,B21,B13,
13 FORMAT B19, B22, A19, AND A21. 
* 
/        ERROR NUMBER 6D00E HEX 
* 
14 FORMAT LOOP TAG GATE A CONSTANT ONE. 
/         SUCCESSIVELY REPLACE CARDS
15 FORMAT B03, B04, B13, AND B19. 
16 FORMAT B16, B03, B17, B04, B13, AND B19. 
17 FORMAT 
* 
/         ERROR NUMBER 6D00F HEX
* 
20 FORMAT STATUS VALID SET AFTER MASTER CLEAR.
21 FORMAT SUCCESSIVELY REPLACE CARD B04.
22 FORMAT 
23 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC42B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   B7 = SB(63B)             *--*REMOVE IN CTRLR LANGUAGE*--*
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.155) GOTO 45 
   IF (EC.LT.15) GOTO 45
   IF (EC.GT.17) GOTO 45
* 
/        ERROR NUMBER 6D00D HEX 
* 
40 IF (EC.NE.15) GOTO 41
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 11 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98N
50 MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98N
* 
/        ERROR NUMBER 6D00E HEX 
* 
41 IF (EC.NE.16) GOTO 42
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 51
   MSG 15 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98N
51 MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98N
* 
/         ERROR NUMBER 6D00F HEX
* 
42 IF (EC.NE.17B) GOTO 45 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 21 TO LINE 14
   MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98N
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC43,FMDHT(07),LOCK
** 5.2.34  FMC43 - SYNC BYTE SEARCH TEST I (DC=7) 
* 
*         PURPOSE-
*         FMC43 VERIFIES THE OPERATION OF THE SYNC BYTE DETECTOR
*         ON THE LOW ORDER DATA PATH BOARD. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 885-1X (DEVICE CODE 7) IS
*         ASSIGNED TO THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR SYNC BYTE = 20 TO 37 
*           SEEK TO CYL 842 TRK 0 SCT 0.
*           SET CONTROL SELECT ON NOC 8.
*           PLACE SYNC BYTE IN NOC 2
*           WRITE A SYNC BYTE IN THE MIDDLE OF THE SECTOR 
*           CHECK GENERAL STATUS
*           SEEK TO CYL 842 TRK 0 SCT 0.
*           SET CONTROL SELECT ON NOC 8.
*           PLACE SYNC BYTE IN NOC 2
*           READ THE SYNC BYTE AT THE CORRECT TIME (EXPECT NO ERROR)
*           CHECK GENERAL STATUS. 
*           CHECK SYNC BYTE MISCOMPARE STATUS.
*           MASTER CLEAR CONTROL LOGIC
*         ENDO
/ 
*         ENTRY-
*         SECTOR 0, TRACK 0, CYLINDER 842 MUST CONTAIN ALL ZEROES.
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS 
* 
*         SUBMODULES REFERENCED-
*         FMC43A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - (NOT USED) 
*         B5 - CURRENT SYNC BYTE PATTERN
*         B6 - CYLINDER FOR SEEK (842D) 
*         B7 - TRACK FOR SEEK (0) 
*         B8 - SECTOR FOR SEEK (0)
*         B9 - ABORT TYPE INDEX 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         NONE
* 
*         REMARKS-
* 
*         STANDARD SECTOR FORMAT FOR 885-S--
* 
*                      DECIMAL        OCTAL 
*         FIELD      BITS  BYTES   BITS  BYTES  COMMENTS
*         ---------  ----  ----   -----  -----
*         01          400    50     620     62   STARTS AT LEADING EDGE 
*         ADDRESS      40     5      50      5     OF INDEX 
*         ECC          48     6      60      6
*         02          216    27     330     33
*         SYNC BYTE     8     1      10      1
*         DATA       3864   483    7430    743
*         ECC          48     6      60      6
*         PAD          48     6      60      6
*         ---------  ----  ----   -----  -----
*         TOTAL      4672   101   11100   1110
* 
* 
*         WRITE A SYNC BYTE IN THE DATA FIELD-- 
* 
*                              DECIMAL        OCTAL 
*         FIELD              BITS  BYTES   BITS  BYTES  COMMENTS
*         -----------------  ----  -----   ----  -----  --------
*         INDEX MARK START, 
*         PROCESSOR CLOCK.    215     26+   327     32+ 
*         READ GATE AND 
*         PROCESSOR CLOCK.    333     41+   515     51+ 
*         DROP READ GATE, 
*         PROCESSOR CLOCK.   2563    320+  5003    500+ 
*         ECC S.C.,WRT ECC, 
*         WRT GATE, 16-BIT, 
*         WRITE CLOCK.        188     23+   274     27+ 
*         WRT GATE, 16-BIT, 
*         WRT SYNC, WRT CLK.   31      3+    37      3+ 
*         WRT GATE, 16-BIT, 
*         WRT SYNC, WRT CLK.   88     11    130     13
* 
* 
*         READ A SYNC BYTE IN THE DATA FIELD AT CORRECT TIME--
* 
*                              DECIMAL        OCTAL 
*         FIELD              BITS  BYTES   BITS  BYTES  COMMENTS
*         -----------------  ----  -----   ----  -----  --------
*         INDEX MARK START, 
*         PROCESSOR CLOCK.    215     26+   327     32+ 
*         READ GATE AND 
*         PROCESSOR CLOCK.   2939    367+  5573    557+ 
*         FAST START, READ
*         GATE, PROC CLOCK.    57      7+    71      7+ 
*         SYNC BYTE SEARCH, 
*         READ GATE, AND
*         DRIVE CLOCK.        209     26+   321     32+ 
* 
* 
1  FORMAT FMC43 - SYNC BYTE SEARCH TEST I (DC=7)
2  FORMAT FMC43 - LC=*DECD, EC=*DECD
4  FORMAT FMC43 ERROR(S) = *DECD
5  FORMAT // FMC43 NOT EXECUTED, NEEDS AL=0004, AL=*OCTB // 
6  FORMAT // FMC43 DRIVES DISABLED, P5=XXX1  // 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE BUSY TO 2 
   EQUATE NPAT TO 20         *NUMBER OF DATA PATTERNS 
* 
/         DISPLAY TITLE MESSAGE 
* 
20 MSG 1 TO DISPLAY, PRINT
* 
/         CHECK FOR DRIVES DISABLED.
* 
   IF (P5.AND.1.EQ.0) GOTO 21 
   MSG 6 TO DISPLAY, PRINT
   EXIT 
* 
/         CHECK ACCESS LEVEL
* 
21 IF (AL.GE.4) GOTO 22      *ACCESS LEVEL CHECK
   MSG 5 (AL) TO PRINT,DISPLAY
   EXIT 
* 
/         INITIALIZE. 
* 
22 B0=153                    *TEST NUMBER 6B HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B13 = 43D                 *MODULE NUMBER 43D 
* 
/         RESERVE, CONNECT, ETC.
* 
30 B1 = B1 + 1               *INCREMENT LOOP COUNTER
   B9 = 5 
   RES, DRIVE, ABT 31 
   GOTO 40
31 IF(SB(0).EQ.10B) ERROR 3/6, GOTO 67
   IF(SB(0).NE.5020B) GOTO 70 
   IF(SB(15).AND.377.EQ.0) GOTO 70
   IF(SB(16).AND.32.EQ.20) ERROR 3/7, GOTO 67 
   GOTO 70
* 
/         PERFORM SYNC BYTE SEARCH TEST.
* 
40 B5 = B2 + 20B             *SYNC BYTE PATTERN 
* 
   GOSUB 62                  *SEEK
/                       *WRITE SYNC BYTE IN MIDDLE OF SECTOR
   B9 = 22
   CONTROL 0,327,100,300,ABT 70  *INDEX MK START + PROC CLK 
   CONTROL 1,115,100,4,ABT 70    *RD GATE + PROC CLK
   CONTROL 12,3,100,0,ABT 70     *DROP RD GATE + PROC CLK 
   CONTROL 0,274,24,12,ABT 70    *ECC, WRT GATE + WRT CLK 
   CONTROL 0,37,0,13,ABT 70      *WRT GATE, SYNC, + CLOCK 
   CONTROL 0,130,24,12,ABT 70    *WRT SYNC + WRT CLK
   CONTROL 0,0,0,0,EXECUTE,ABT 70  *EXEC CTRL WD SEQ
* 
   GOSUB 61                  *CHECK GENERAL STATUS
   IF (SB(0).NE.0) ERROR 3/1, GOTO 67 
* 
   GOSUB 62                  *SEEK
/                            *READ SYNC BYTE AT CORRECT TIME
   B9 = 22
   CONTROL 0,327,100,300,ABT 70  *INDEX MK START + PROC CLK 
   CONTROL 13,173,100,4,ABT 70   *RD GATE + PROC CLK
   CONTROL 0,71,100,24,ABT 70    *FAST START, RD GATE + PCLK
   CONTROL 0,321,40,44,ABT 70    *SYNC BYTE SEARCH,RD GATE
   CONTROL 0,0,0,0,EXECUTE,ABT 70  *EXEC CTRL WD SEQ
* 
   GOSUB 61                  *CHECK GENERAL STATUS
   IF (SB(0).NE.0) ERROR 3/2, GOTO 67 
* 
   B9 = 20
   STATUS CHANNEL,ABT 70     *CHECK FOR MISCOMPARE BIT
   IF (SB(4).AND.1.NE.0) ERROR 3/3, GOTO 67 
* 
   B9 = 23
   FLAG PULSE,CH=1,ABT 70    *MASTER CLEAR CONTROL LOGIC
* 
/         FINALIZE. 
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   B9 = 25
   REL, ABT 70                   *RELEASE SUBSYSTEM TO OS 
   GOTO 30 WHILE (B2+1.LT.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 77                   *TERMINATE MODULE
* 
/         GENERAL AND DETAILED STATUS SUBROUTINE
* 
61 B9 = 16
   STATUS GENERAL,ABT 70     *GET GENERAL STATUS
   B9 = 17
   STATUS DETAIL,ABT 70      *GET DETAILED STATUS 
   IF(SB(0).NE.5020B) RETURN
   IF(SB(15).AND.377.EQ.0) RETURN 
   IF(SB(16).AND.32.EQ.20) ERROR 3/7, GOTO 67 
   RETURN 
* 
/         SEEK CYLINDER 842D, TRACK 0, SECTOR 0 
* 
62 B6 = 842D                 *CYLINDER
   B7 = 0                    *TRACK 
   B8 = 0                    *SECTOR
   B9 = 24
   SEEK CYL B6 TRK B7 SEC B8,ABT 70 
   B9 = 21
   OUT,CH=8,0,106,ABT 70     *SET CONTROL SELECT
   OUT,CH=2,0,B5,ABT 70      *SET SYNC BYTE PATTERN 
   RETURN 
* 
/         PROCESS EXPECTED ERRORS.
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/         PROCESS UNEXPECTED ERRORS.
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
   ENDSUB 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 30                   *GO TO REPEAT CONDITION
* 
/         CALL APPROPRIATE DISPLAY SUBMODULE. 
* 
74 CALL 43A                  *EXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 30
* 
/         TERMINATE.
* 
77 IF (ES.AND.RM.NE.0) GOTO 22
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC43A,FMDHT(07),LOCK 
*   5.2.34.1 FMC43A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC43B - PROCESS HIGHER ERROR NUMBERS.
*         FMC470 - REPORT UNEXPECTED ERRORS 
*         FMC987 - DISPLAY DETAILED STATUS
*         FMC98N - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC43.
* 
*         BUFFERS USED- 
*         SAME AS FMC43.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC*D - SYNC BYTE SEARCH TEST I (DC=7)
3  FORMAT PRESERVICE FORECAST GROUP FMDC OR FMDD
4  FORMAT FMC*D - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6B001 HEX 
* 
10 FORMAT GENERAL STATUS NON-ZERO AFTER SYNC BYTE WRITE.
11 FORMAT SUCCESSIVELY REPLACE CARDS B19 AND B22. 
12 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
13 FORMAT 
* 
/        ERROR NUMBER 6B002 HEX 
* 
14 FORMAT GENERAL STATUS NON-ZERO AFTER SYNC BYTE SEARCH. 
15 FORMAT SUCCESSIVELY REPLACE CARDS B19 AND B22. 
16 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
17 FORMAT 
* 
/        ERROR NUMBER 6B003 HEX 
* 
20 FORMAT SYNC BYTE MISCOMPARE ERROR
21 FORMAT SUCCESSIVELY REPLACE CARDS
22 FORMAT B19, B22, AND A19.
23 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
* 
/        ERROR NUMBER 6B004 HEX 
* 
24 FORMAT GENERAL STATUS NON-ZERO AFTER BAD SYNC BYTE.
25 FORMAT SUCCESSIVELY REPLACE CARDS B19 AND B22. 
26 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
27 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC*DA - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/ 
* 
31 MSG 1 TO LINE 1
   MSG 2 (B13) TO LINE 2
   IF (B15.AND.FLAG1S.NE.0) GOTO 32 
   MSG 4 (B13,EA,B0,EC) TO LINE 3 
   EXIT TO 470               *DISPLAY UNEXPECTED ERRORS 
32 MSG 3 TO LINE 3
   MSG 4(B13,EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.153) GOTO 45 
   IF (EC.EQ.0) GOTO 45 
   IF (EC.GT.4) EXIT TO 43B 
* 
/        ERROR NUMBER 6B001 HEX 
* 
40 IF (EC.NE.1) GOTO 41 
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 987
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 987
* 
/        ERROR NUMBER 6B002 HEX 
* 
41 IF (EC.NE.2) GOTO 42 
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 987
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 987
* 
/        ERROR NUMBER 6B003 HEX 
* 
42 IF (EC.NE.3) GOTO 43 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 21 TO LINE 14
   MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98N
* 
/        ERROR NUMBER 6B004 HEX 
* 
43 IF (EC.NE.4) GOTO 45 
   MSG 24 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 987
   MSG 25 TO LINE 14
   MSG 26 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 987
/ 
45 MSG 30(B13,EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC43B,FMDHT(07),LOCK 
*   5.2.34.2 FMC43B - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC987 - DISPLAY DETAILED STATUS
*         FMC98N - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC43.
* 
*         BUFFERS USED- 
*         SAME AS FMC43.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC*D - SYNC BYTE SEARCH TEST I (DC=7)
3  FORMAT PRESERVICE FORECAST GROUP FMDC OR FMDD
4  FORMAT FMC*D - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6B005 HEX 
* 
10 FORMAT NO SYNC BYTE MISCOMPARE WHEN FORCED 
11 FORMAT SUCCESSIVELY REPLACE CARDS B19, B22, AND B21. 
12 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
13 FORMAT 
* 
/        ERROR NUMBER 6B006 HEX 
* 
14 FORMAT DRIVE RESERVED BY OPPOSITE ACCESS STATUS
15 FORMAT SUCCESSIVELY REPLACE CARDS B04, B17, B13, AND A20.
16 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
17 FORMAT 
* 
/        ERROR NUMBER 6B007 HEX 
* 
20 FORMAT DRIVE MALFUNCTION/INTERFACE FAULT 
21 FORMAT SUCCESSIVELY REPLACE CARDS B01, B02, B03, B04,
22 FORMAT B14, B15, B16, B17, B22, B19, AND B21.
23 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
24 FORMAT B22, B19, AND B21.
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE UNIT TO 63B 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC*DB - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.153) GOTO 45 
   IF (EC.EQ.0) GOTO 45 
   IF (EC.GT.7) GOTO 45 
* 
/        ERROR NUMBER 6B005 HEX 
* 
40 IF (EC.NE.5) GOTO 41 
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98N
* 
/        ERROR NUMBER 6B006 HEX 
* 
41 IF(EC.NE.6) GOTO 42
   MSG 14 TO LINE 12
   IF(P4.AND.4000.EQ.0) EXIT TO 987 
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 987
* 
/        ERROR NUMBER 6B007 HEX 
* 
42 IF (EC.NE.7) GOTO 45 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 987
   MSG 21 TO LINE 14
   IF(SB(UNIT).AND.10.NE.0)MSG 22 TO LINE 15
   IF(SB(UNIT).AND.10.EQ.0)MSG 24 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 987
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC44,FMDHT(07),LOCK
** 5.2.35  FMC44 - SYNC BYTE SEARCH TEST II (DC=7)
* 
*         PURPOSE-
*         FMC44 VERIFIES THE OPERATION OF THE SYNC BYTE DETECTOR
*         ON THE LOW ORDER DATA PATH BOARD. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 885-1X (DEVICE CODE 7) IS
*         ASSIGNED TO THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR SYNC BYTE = 20 TO 37 
*           SEEK TO CYL 842 TRK 0 SCT 0.
*           SET CONTROL SELECT ON NOC 8.
*           PLACE SYNC BYTE IN NOC 2
*           WRITE A SYNC BYTE IN THE MIDDLE OF THE SECTOR 
*           CHECK GENERAL STATUS
*           SEEK TO CYL 842 TRK 0 SCT 0.
*           SET CONTROL SELECT ON NOC 8.
*           PLACE SYNC BYTE IN NOC 2
*           READ THE SYNC BYTE AT THE WRONG TIME (EXPECT NO ERROR)
*           CHECK GENERAL STATUS. 
*           CHECK SYNC BYTE MISCOMPARE STATUS.
*           MASTER CLEAR CONTROL LOGIC
*         ENDO
/ 
*         ENTRY-
*         SECTOR 0, TRACK 0, CYLINDER 842 MUST CONTAIN ALL ZEROES.
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS 
* 
*         SUBMODULES REFERENCED-
*         FMC43A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - (NOT USED) 
*         B5 - CURRENT SYNC BYTE PATTERN
*         B6 - CYLINDER FOR SEEK (842D) 
*         B7 - TRACK FOR SEEK (0) 
*         B8 - SECTOR FOR SEEK (0)
*         B9 - ABORT TYPE INDEX 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         NONE
* 
*         REMARKS-
* 
*         STANDARD SECTOR FORMAT FOR 885-S--
* 
*                      DECIMAL        OCTAL 
*         FIELD      BITS  BYTES   BITS  BYTES  COMMENTS
*         ---------  ----  ----   -----  -----
*         01          400    50     620     62   STARTS AT LEADING EDGE 
*         ADDRESS      40     5      50      5     OF INDEX 
*         ECC          48     6      60      6
*         02          216    27     330     33
*         SYNC BYTE     8     1      10      1
*         DATA       3864   483    7430    743
*         ECC          48     6      60      6
*         PAD          48     6      60      6
*         ---------  ----  ----   -----  -----
*         TOTAL      4672   101   11100   1110
* 
* 
*         WRITE A SYNC BYTE IN THE DATA FIELD-- 
* 
*                              DECIMAL        OCTAL 
*         FIELD              BITS  BYTES   BITS  BYTES  COMMENTS
*         -----------------  ----  -----   ----  -----  --------
*         INDEX MARK START, 
*         PROCESSOR CLOCK.    215     26+   327     32+ 
*         READ GATE AND 
*         PROCESSOR CLOCK.    333     41+   515     51+ 
*         DROP READ GATE, 
*         PROCESSOR CLOCK.   2563    320+  5003    500+ 
*         ECC S.C.,WRT ECC, 
*         WRT GATE, 16-BIT, 
*         WRITE CLOCK.        188     23+   274     27+ 
*         WRT GATE, 16-BIT, 
*         WRT SYNC, WRT CLK.   31      3+    37      3+ 
*         WRT GATE, 16-BIT, 
*         WRT SYNC, WRT CLK.   88     11    130     13
* 
* 
*         READ A SYNC BYTE IN THE DATA FIELD AT INCORRECT TIME--
* 
*                              DECIMAL        OCTAL 
*         FIELD              BITS  BYTES   BITS  BYTES  COMMENTS
*         -----------------  ----  -----   ----  -----  --------
*         INDEX MARK START, 
*         PROCESSOR CLOCK.    215     26+   327     32+ 
*         READ GATE AND 
*         PROCESSOR CLOCK.   3061    382+  5765    576+ 
*         FAST START, READ
*         GATE, PROC CLOCK.   107     13+   153     15+ 
*         SYNC BYTE SEARCH, 
*         READ GATE, AND
*         DRIVE CLOCK.          8      1     10      1
* 
* 
1  FORMAT FMC44 - SYNC BYTE SEARCH TEST II (DC=7) 
2  FORMAT FMC44 - LC=*DECD, EC=*DECD
4  FORMAT FMC44 ERROR(S) = *DECD
5  FORMAT // FMC44 NOT EXECUTED, NEEDS AL=0004, AL=*OCTB // 
6  FORMAT // FMC44 DRIVES DISABLED, P5=XXX1  // 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE BUSY TO 2 
   EQUATE NPAT TO 20         *NUMBER OF DATA PATTERNS 
* 
/         DISPLAY TITLE MESSAGE 
* 
20 MSG 1 TO DISPLAY, PRINT
* 
/         CHECK FOR DRIVES DISABLED.
* 
   IF (P5.AND.1.EQ.0) GOTO 21 
   MSG 6 TO DISPLAY, PRINT
   EXIT 
* 
/         CHECK ACCESS LEVEL
* 
21 IF (AL.GE.4) GOTO 22      *ACCESS LEVEL CHECK
   MSG 5 (AL) TO PRINT,DISPLAY
   EXIT 
* 
/         INITIALIZE. 
* 
22 B0 = 153                  *TEST NUMBER 6B HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B13 = 44D                 *MODULE NUMBER 44D 
* 
/         RESERVE, CONNECT, ETC.
* 
30 B1 = B1 + 1               *INCREMENT LOOP COUNTER
   B9 = 5 
   RES, DRIVE, ABT 31 
   GOTO 40
31 IF(SB(0).EQ.10B) ERROR 3/6, GOTO 67
   IF(SB(0).NE.5020B) GOTO 70 
   IF(SB(15).AND.377.EQ.0) GOTO 70
   IF(SB(16).AND.32.EQ.20) ERROR 3/7, GOTO 67 
   GOTO 70
* 
/         PERFORM SYNC BYTE SEARCH TEST.
* 
40 B5 = B2 + 20B             *SYNC BYTE PATTERN 
* 
   GOSUB 62                  *SEEK
/                       *WRITE SYNC BYTE IN MIDDLE OF SECTOR
   B9 = 22
   CONTROL 0,327,100,300,ABT 70  *INDEX MK START + PROC CLK 
   CONTROL 1,115,100,4,ABT 70    *RD GATE + PROC CLK
   CONTROL 12,3,100,0,ABT 70     *DROP RD GATE + PROC CLK 
   CONTROL 0,274,24,12,ABT 70    *ECC, WRT GATE + WRT CLK 
   CONTROL 0,37,0,13,ABT 70      *WRT GATE, SYNC, + CLOCK 
   CONTROL 0,130,24,12,ABT 70    *WRT SYNC + WRT CLK
   CONTROL 0,0,0,0,EXECUTE,ABT 70  *EXEC CTRL WD SEQ
* 
   GOSUB 61                  *CHECK GENERAL STATUS
   IF (SB(0).NE.0) ERROR 3/1, GOTO 67 
   GOSUB 62                  *SEEK
* 
/                            *READ SYNC BYTE AT WRONG TIME
   B9 = 22
   CONTROL 0,327,100,300,ABT 70  *INDEX MK START + PROC CLK 
   CONTROL 13,365,100,4,ABT 70   *RD GATE + PROC CLK
   CONTROL 0,153,100,24,ABT 70   *FAST START,RD GATE,PRC CLK
   CONTROL 0,10,40,44,ABT 70     *SYNC BYTE SEARCH,RD GATE
   CONTROL 0,0,0,0,EXECUTE,ABT 70  *EXEC CTRL WD SEQ
* 
   GOSUB 61                  *CHECK GENERAL STATUS
   IF (SB(0).NE.0) ERROR 3/4, GOTO 67 
* 
   B9 = 20
   STATUS CHANNEL,ABT 70     *CHECK FOR MISCOMPARE BIT
   IF (SB(4).AND.1.EQ.0) ERROR 3/5, GOTO 67 
* 
   B9 = 23
   FLAG PULSE,CH=1,ABT 70    *MASTER CLEAR CONTROL LOGIC
* 
/         FINALIZE. 
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   B9 = 25
   REL, ABT 70                   *RELEASE SUBSYSTEM TO OS 
   GOTO 30 WHILE (B2+1.LT.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 77                   *TERMINATE MODULE
* 
/         GENERAL AND DETAILED STATUS SUBROUTINE
* 
61 B9 = 16
   STATUS GENERAL,ABT 70     *GET GENERAL STATUS
   B9 = 17
   STATUS DETAIL,ABT 70      *GET DETAILED STATUS 
   IF(SB(0).NE.5020B) RETURN
   IF(SB(15).AND.377.EQ.0) RETURN 
   IF(SB(16).AND.32.EQ.20) ERROR 3/7, GOTO 67 
   RETURN 
* 
/         SEEK CYLINDER 842D, TRACK 0, SECTOR 0 
* 
62 B6 = 842D                 *CYLINDER
   B7 = 0                    *TRACK 
   B8 = 0                    *SECTOR
   B9 = 24
   SEEK CYL B6 TRK B7 SEC B8,ABT 70 
   B9 = 21
   OUT,CH=8,0,106,ABT 70     *SET CONTROL SELECT
   OUT,CH=2,0,B5,ABT 70      *SET SYNC BYTE PATTERN 
   RETURN 
* 
/         PROCESS EXPECTED ERRORS.
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/         PROCESS UNEXPECTED ERRORS.
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
   ENDSUB 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 30                   *GO TO REPEAT CONDITION
* 
/         CALL APPROPRIATE DISPLAY SUBMODULE. 
* 
74 CALL 43A                  *EXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 30
* 
/        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 22
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC45,FMDHT(07),LOCK
** 5.2.36 FMC45 - ECC REGISTER TEST (DC=7)
* 
*         PURPOSE-
*         FMC45 VERIFIES THE ABILITY OF THE ECC REGISTER TO RECEIVE,
*         RETAIN, AND RETURN ASSORTED DATA PATTERNS.
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 885-1X (DEVICE CODE 7) IS
*         ASSIGNED TO THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR ALL PATTERNS 
*           CLEAR ECC REGISTER BY SENDING FLAG PULSE 3
*           LOAD DATA PATTERN INTO NOC-S 12, 13, AND 14 
*           LOAD ECC REGISTER BY SENDING FLAG PULSE 11
*           READ ECC REGISTER 
*           COMPARE CONTENTS WITH DATA PATTERN
*         ENDO
/ 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC45A - REPORT EXPECTED ERRORS 
*         FMC470 - REPORT UNEXPECTED ERRORS 
*         FMC98K - GENERATE 48-BIT DATA PATTERNS
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - TEMPORARY STORAGE
*         B6 - TEMPORARY STORAGE
*         B7 - HEAD INDEX 
*         B8 - REGISTER INDEX 
*         B9 - ABORT TYPE INDEX 
*         B14- TEMPORARY STORAGE
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         OB(3) - OB(10) = 8-BIT DATA RECIEVED
*         OB(11) - OB(14) = PACKED DATA RECIEVED
*         OB(100) - OB(217) = 48-BIT DATA PATTERNS
* 
1  FORMAT FMC45 - ECC REGISTER TEST (DC=7)
2  FORMAT FMC45 - LC=*DECD, EC=*DECD
4  FORMAT FMC45 ERROR(S) = *DECD
5  FORMAT EXPECTED  *OCT *OCT *OCT *OCT 
6  FORMAT ACTUAL    *OCT *OCT *OCT *OCT 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE NPOL TO 72D        *NUMBER OF POLY. PATTERNS
* 
* 
* 
20 MSG 1 TO DISPLAY, PRINT
* 
/        INITIALIZE.
* 
21 B0=154                    *TEST NUMBER 6C HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B13 = 45D                 *MODULE NUMBER 45D 
   CALL 98K                  *GENERATE 48 BIT DATA PATTERN
* 
/        PERFORM ECC REGISTER TEST. 
* 
40 B1=B1+1
   B9 = 13
   RES CONTROLLER, ABT 70    *RESERVE CONTROLLER
* 
/         CLEAR REGISTER
* 
   B9 = 23
   FLAG PULSE CH=3, ABT 70   *CLEAR ECC REGISTER
* 
/         PACK DATA 
* 
   B5=OB(B2+100).RS.4        *BITS 00 TO 07 
   B14=OB(B2+100).AND.17.LS.4 
   B6=OB(B2+101).RS.8+B14    *BITS 08 TO 15 
   B9 = 21
   OUT CH=12D,B5,B6,ABT 70   *POLYNOMIAL PARCEL I 
* 
   B5=OB(B2+101).AND.377     *BITS 16 TO 23 
   B6=OB(B2+102).RS.4        *BITS 24 TO 31 
   OUT CH=13D,B5,B6,ABT 70   *POLYNOMIAL PARCEL II
* 
   B14=OB(B2+102).AND.17.LS.4 
   B5=OB(B2+103).RS.8+B14    *BITS 32 TO 39 
   B6=OB(B2+103).AND.377     *BITS 40 TO 47 
   OUT CH=14D,B5,B6,ABT 70   *POLYNOMIAL PARCEL III 
* 
/         LOAD REGISTER 
* 
   B8 = 0                    *INIT. REG. INDEX
   B9 = 23
   FLAG PULSE CH=11D,ABT 70  *LOAD ECC REGISTER 
* 
/         READ REGISTER 
* 
   B9 = 21
   OUT CH=3,0,B8,ABT 70      *SELECT BITS 00 TO 15
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ CHANNEL STATUS 
   OB(3)=SB(7)
   OB(4)=SB(8)
* 
   B8 = B8 + 1
   B9 = 21
   OUT CH=3,0,B8,ABT 70      *SELECT BITS 16 TO 31
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ CHANNEL STATUS 
   OB(5)=SB(7)
   OB(6)=SB(8)
* 
   B8 = B8 + 1
   B9 = 21
   OUT CH=3,0,B8,ABT 70      *SELECT BITS 32 TO 47
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ CHANNEL STATUS 
   OB(7)=SB(7)
   OB(10)=SB(8) 
* 
/         UNPACK DATA RECEIVED FROM ECC REGISTER
* 
   B14=OB(3).LS.4 
   OB(11)=OB(4).RS.4+B14
   B14=OB(4).AND.17.LS.8
   OB(12)=OB(5)+B14 
   B14=OB(6).LS.4 
   OB(13)=OB(7).RS.4+B14
   B14=OB(7).AND.17.LS.8
   OB(14)=OB(10)+B14
* 
/         COMPARE DATA
* 
   WC = 4                    *INITIALIZE WORD COUNT 
   COMPARE OB(11) TO OB(B2+100) FOR WC, ABT 65
* 
/         FINALIZE. 
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 40 WHILE (B2+4.LE.NPOL)  *END OF DATA PATTERN LOOP
   GOTO 77                       *TERMINATE MODULE
* 
/         DISPLAY DATA ERRORS 
* 
65 ERROR 3/1
   MSG 5 4 WORDS FROM OB(B2+100) TO LINE 7
   MSG 6 4 WORDS FROM OB(11) TO LINE 10 
*  GOTO 67
* 
/         PROCESS EXPECTED ERRORS.
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/         PROCESS UNEXPECTED ERRORS.
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/         CALL APPROPRIATE DISPLAY SUBMODULE. 
* 
74 IF(EC.LT.4000B) CALL 45A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) MSG 1 TO LINE 2
   IF(EC.GE.4000B) CALL 470  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC45A,FMDHT(07),LOCK 
*   5.2.36.1 FMC45A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-NONE. 
* 
*         REGISTERS USED- 
*         SAME AS FMC45.
* 
*         BUFFERS USED- 
*         SAME AS FMC45.
* 
* 
* 
/         COMMON MESSAGES 
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC45 - ECC REGISTER TEST (DC=7)
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC*D - LINE *OCT - ERROR NUMBER *H*HE
5  FORMAT FMC46 - ECC REGISTER CLEAR TEST (DC=7)
* 
/         ERROR NUMBER 6C001/6C005 HEX
* 
10 FORMAT BAD DATA PATTERN READ BACK FROM ECC REGISTER
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT A12, A17, A20, A21, AND B22.
13 FORMAT 
* 
/         SOFTWARE ERROR MESSAGES.
* 
30 FORMAT FMC*DA - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
* 
* 
31 MSG 1 TO LINE 1
   IF (B13.EQ.45D) MSG 2 TO LINE 2
   IF (B13.EQ.46D) MSG 5 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(B13,EA,B0,EC) TO LINE 5
* 
* 
* 
   IF (B0.NE.154) GOTO 45 
   IF (EC.EQ.0) GOTO 45 
   IF (EC.GT.10) GOTO 45
* 
/         ERROR NUMBER 6C001/6C005 HEX
* 
40 IF (EC.EQ.1) GOTO 41 
   IF (EC.NE.5) GOTO 45 
41 MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   GOTO 77
* 
45 MSG 30(B13,EA,B0,EC,EM) TO LINE 12 
* 
* 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC46,FMDHT(07),LOCK
** 5.2.37 FMC46 - ECC REGISTER CLEAR TEST (DC=7)
* 
*         PURPOSE-
*         FMC46 VERIFIES THE ABILITY OF THE PROCESSOR TO CLEAR THE
*         CONTENTS OF THE ECC REGISTER. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 885-1X (DEVICE CODE 7) IS
*         ASSIGNED TO THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR ALL PATTERNS 
*           LOAD DATA PATTERN INTO NOC-S 12, 13, AND 14 
*           LOAD ECC REGISTER BY SENDING FLAG PULSE 11
*           CLEAR ECC REGISTER BY SENDING FLAG PULSE 3
*           READ ECC REGISTER 
*           VERIFY THAT CONTENTS ARE ZERO 
*         ENDO
/ 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC470 - REPORT UNEXPECTED ERRORS 
*         FMC45A - REPORT EXPECTED ERRORS 
*         FMC98K - GENERATE 48-BIT DATA PATTERNS
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - TEMPORARY STORAGE
*         B6 - TEMPORARY STORAGE
*         B7 - HEAD INDEX 
*         B8 - REGISTER INDEX 
*         B9 - ABORT TYPE INDEX 
*         B14- TEMPORARY STORAGE
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         IB(0) THROUGH IB(3) ALL CONTAIN ZEROES. 
*         OB(100) - OB(217) = 48-BIT DATA PATTERNS
* 
* 
*         REMARKS-
* 
*         KNOWN LIMITATIONS-
* 
1  FORMAT FMC46 - ECC REGISTER CLEAR TEST (DC=7)
2  FORMAT FMC46 - LC=*DECD, EC=*DECD
4  FORMAT FMC46 ERROR(S) = *DECD
5  FORMAT EXPECTED  *OCT *OCT *OCT *OCT 
6  FORMAT ACTUAL    *OCT *OCT *OCT *OCT 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE NPOL TO 72D        *NUMBER OF POLY. PATTERNS
* 
* 
* 
20 MSG 1 TO DISPLAY, PRINT
* 
/         INITIALIZE. 
* 
21 B0=154                    *TEST NUMBER 6C HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B13 = 46D                 *MODULE NUMBER 46D 
   CALL 98K                  *GENERATE 48 BIT DATA PATTERN
* 
/         PERFORM ECC REGISTER CLEAR TEST.
* 
40 B1=B1+1
   B9 = 13
   RES CONTROLLER, ABT 70    *RESERVE CONTROLLER
   B5=OB(B2+100).RS.4        *BITS 00 TO 07 
   B14=OB(B2+100).AND.17.LS.4 
   B6=OB(B2+101).RS.8+B14    *BITS 08 TO 15 
   B9 = 21
   OUT CH=12D,B5,B6,ABT 70   *POLYNOMIAL PARCEL I 
* 
   B5=OB(B2+101).AND.377     *BITS 16 TO 23 
   B6=OB(B2+102).RS.4        *BITS 24 TO 31 
   OUT CH=13D,B5,B6,ABT 70   *POLYNOMIAL PARCEL II
* 
   B14=OB(B2+102).AND.17.LS.4 
   B5=OB(B2+103).RS.8+B14    *BITS 32 TO 39 
   B6=OB(B2+103).AND.377     *BITS 40 TO 47 
   OUT CH=14D,B5,B6,ABT 70   *POLYNOMIAL PARCEL III 
* 
/         LOAD REGISTER 
* 
   B8 = 0                    *INIT. REG. INDEX
   B9 = 23
   FLAG PULSE CH=11D,ABT 70  *LOAD ECC REGISTER 
* 
/         CLEAR REGISTER
* 
   FLAG PULSE CH=3,ABT 70    *CLEAR ECC REGISTER
* 
/         READ REGISTER 
* 
   B9 = 21
   OUT CH=3,0,B8,ABT 70      *SELECT BITS 00 TO 15
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ CHANNEL STATUS 
   OB(3)=SB(7)
   OB(4)=SB(8)
* 
   B8 = B8 + 1
   B9 = 21
   OUT CH=3,0,B8,ABT 70      *SELECT BITS 16 TO 31
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ CHANNEL STATUS 
   OB(5)=SB(7)
   OB(6)=SB(8)
* 
   B8 = B8 + 1
   B9 = 21
   OUT CH=3,0,B8,ABT 70      *SELECT BITS 32 TO 47
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ CHANNEL STATUS 
   OB(7)=SB(7)
   OB(10)=SB(8) 
* 
/         UNPACK DATA RECEIVED FROM ECC REGISTER
* 
   B14=OB(3).LS.4 
   OB(11)=OB(4).RS.4+B14
   B14=OB(4).AND.17.LS.8
   OB(12)=OB(5)+B14 
   B14=OB(6).LS.4 
   OB(13)=OB(7).RS.4+B14
   B14=OB(7).AND.17.LS.8
   OB(14)=OB(10)+B14
* 
/         COMPARE DATA
* 
   WC = 4                    *INITIALIZE WORD COUNT 
   COMPARE OB(11) TO IB(0) FOR WC, ABT 65 
* 
/         FINALIZE. 
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 40 WHILE (B2+4.LE.NPOL)  *END OF DATA PATTERN LOOP
   GOTO 77                       *TERMINATE MODULE
* 
/         DISPLAY DATA ERRORS 
* 
65 ERROR 3/5
   MSG 5 4 WORDS FROM IB(0) TO LINE 7 
   MSG 6 4 WORDS FROM OB(11) TO LINE 10 
*  GOTO 67
* 
/         PROCESS EXPECTED ERRORS.
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/         PROCESS UNEXPECTED ERRORS.
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/         CALL APPROPRIATE DISPLAY SUBMODULE. 
* 
74 IF(EC.LT.4000B) CALL 45A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) MSG 1 TO LINE 2
   IF(EC.GE.4000B) CALL 470  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/         TERMINATE.
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC47,FMDHT(07),LOCK
** 5.2.38 FMC47 - ECC FUNCTIONAL TEST (DC=7)
* 
*         PURPOSE-
*         FMC47 VERIFIES THAT THE ECC LOGIC FUNCTIONS PROPERLY. 
*         IT USES THE READ FUNCTION TO CHECK THE CHECKWORD OF ALL 
*         THE SECTORS ON THE CE (PRE-ALLOCATED) CYLINDER (842D).
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 885-1X (DEVICE CODE 7) IS
*         ASSIGNED TO THE DIAGNOSTIC. 
* 
*         METHOD- 
*         RESERVE CONTROLLER
*         CHECK DRIVE SELECTED AND RESERVED STATUS. 
*         RESERVE DRIVE.
*         CHECK GENERAL AND DETAILED STATUS.
*         WRITE 32 SECTORS. 
*         READ 32 SECTORS.
*         IF READ OR WRITE ABORT, CHECK GENERAL AND DETAILED STATUS.
/ 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC470 - REPORT UNEXPECTED ERRORS 
*         FMC47A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - NUMBER OF SECTORS TO READ
*         B6 - CYLINDER ADDRESS (842D)
*         B7 - TRACK ADDRESS (0)
*         B8 - SECTOR ADDRESS (0) 
*         B9 - ABORT TYPE INDEX 
*         B10- TEMPORARY STORAGE
*         B11- TEMPORARY STORAGE
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
* 
*         REMARKS-
* 
*         KNOWN LIMITATIONS-
* 
1  FORMAT FMC47 - ECC FUNCTIONAL TEST (DC=7)
2  FORMAT FMC47 - LC=*DECD, EC=*DECD
4  FORMAT FMC47 ERROR(S) = *DECD
5  FORMAT // FMC47 NOT EXECUTED, NEEDS AL.LT.21B // 
6  FORMAT // FMC47 DRIVES DISABLED, P5=XXX1 //
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE DSR TO 20B         *DRIVE SELECTED AND RESERVED 
* 
/         CHECK FOR DRIVES DISABLED.
* 
20 MSG 1 TO DISPLAY, PRINT
   IF (P5.AND.1.EQ.0) GOTO 21 
   MSG 6 TO DISPLAY, PRINT
   EXIT 
* 
/         CHECK FOR AL.LT.21
* 
21 IF (AL.LT.21) GOTO 22
   MSG 5 TO DISPLAY, PRINT
   EXIT 
* 
/         INITIALIZE. 
* 
22 B0=154                    *TEST NUMBER 6C HEX
   B1=0                      *LOOP COUNT
   B3=0                      *ERROR COUNT 
   B13 = 47D                 *MODULE NUMBER 47D 
   B6=842D                   *CYLINDER
* 
/         TEST DRIVE SELECTED AND RESERVED HARDWARE.
* 
40 B1 = B1 + 1               *INCREMENT LOOP COUNTER
   B9 = 13
   RES CONTROLLER, ABT 70 
   B9 = 23
   FLAG PULSE CH=1,ABT 70    *MASTER CLEAR CONTROLLER 
   B9 = 20
   STATUS CHANNEL, ABT 70    *COPY CHANNEL STATUS 
   IF(SB(21).AND.DSR.NE.0) ERROR 3/12, GOTO 67
   B9 = 5 
   RES DRIVE, ABT 41         *RESERVE DRIVE TEST
   GOTO 43
41 MSG EM TO LINE 7 
   IF(SB(0).EQ.10) ERROR 3/15, GOTO 67
   IF(SB(0).NE.5020B) GOTO 42 
   IF(SB(15).AND.377.EQ.0) GOTO 70
   IF(SB(16).AND.32.EQ.20) ERROR 3/16, GOTO 67
42 IF(SB(0).NE.2) GOTO 70 
   IF(SB(15).AND.1000.NE.0) ERROR 17/17, GOTO 67
   GOTO 70
* 
/         WRITE 32 SECTORS. 
* 
43 B7 = 0                    *TRACK 
   B8=0                      *SECTOR
   B5=32D                    *NUMBER OF SECTORS 
   B9 = 14
   WRITE B5 SECTORS AT CYL B6, TRK B7, SEC B8, ABT 50 
* 
/         READ 32 SECTORS.
* 
   B7=0                      *TRACK 
   B8=0                      *SECTOR
   B5=32D                    *NUMBER OF SECTORS 
   B9 = 15
   READ B5 SECTORS AT CYL B6, TRK B7, SEC B8, ABT 50
* 
/         FINALIZE. 
* 
   IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 77                       *TERMINATE MODULE
* 
/         PROCESS ABORT ON WRITE OR READ COMMAND. 
* 
50 IF (LF.AND.776.NE.4) GOTO 51       *IF ABT AFTER STATUS
   B10 = B9 
   B9 = 16
   STATUS GENERAL, ABT 70             *GENERAL STATUS 
   B9 = 17
   STATUS DETAIL, ABT 70              *DETAILED STATUS
   B9 = B10 
51 B5 = 0 
   IF(SB(25) NE 0) B5=25              *IF RETRY ATTEMPTED 
   MSG EM TO LINE 7 
   IF(SB(B5+2).AND.4000.NE.0) ERROR 7/11, GOTO 67 
   IF(SB(B5+1).AND.10.NE.0) ERROR 3/13, GOTO 67 
   IF(SB(B5+2).AND.1000.NE.0) ERROR 10/11, GOTO 67
   IF(SB(B5+21).AND.4.NE.0) ERROR 3/14, GOTO 67 
   IF(SB(B5).NE.5000B) GOTO 70
   IF(SB(B5+20).AND.4000.NE.0) ERROR 15/20, GOTO 67 
   IF(SB(B5+20).AND.40.NE.0) ERROR 16/17, GOTO 67 
   GOTO 70
* 
/         PROCESS EXPECTED ERRORS.
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/         PROCESS UNEXPECTED ERRORS.
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/         CALL APPROPRIATE DISPLAY SUBMODULE. 
* 
74 IF(EC.LT.4000B) CALL 47A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) MSG 1 TO LINE 2
   IF(EC.GE.4000B) CALL 470  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC47A,FMDHT(07),LOCK 
*   5.2.38.1 FMC47A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC47B - PROCESS HIGHER ERROR NUMBERS.
*         FMC987 - DISPLAY DETAILED STATUS
*         FMC98N - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC47.
* 
*         BUFFERS USED- 
*         SAME AS FMC47.
* 
* 
* 
*        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC47 - ECC FUNCTIONAL TEST (DC=7)
3  FORMAT PRESERVICE FORECAST GROUP FMDC OR FMDD
4  FORMAT FMC47 - LINE *OCT - ERROR NUMBER *H*HE
* 
/         ERROR NUMBER 6C009 HEX
* 
7  FORMAT ADDRESS CHECKWORD ERROR 
10 FORMAT DATA CHECKWORD ERROR
11 FORMAT IF THE CE CYLINDER IS KNOWN TO BE WITHOUT FLAW AND
12 FORMAT PROPERLY FORMATTED, SUCCESSIVELY REPLACE CARDS
13 FORMAT A*D, B*D, B20, A17, AND A21.
* 
/         ERROR NUMBER 6C00A HEX
* 
14 FORMAT DRIVE SELECTED AND RESERVED STATUS STUCK-AT-ONE 
15 FORMAT SUCCESSIVELY REPLACE CARDS B01, B14, AND A18. 
16 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
17 FORMAT 
* 
/         ERROR NUMBER 6C00B HEX
* 
20 FORMAT ADDRESS ERROR (DETAILED STATUS WORD 1)
21 FORMAT SUCCESSIVELY REPLACE CARDS
22 FORMAT B20, B19, AND A20.
23 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
* 
/         ERROR NUMBER 6C00C HEX
* 
24 FORMAT CONTROLLER CHANNEL ACTIVE ERROR 
25 FORMAT SUCCESSIVELY REPLACE CARDS
26 FORMAT A15, B22, B20, AND R/T CARD(A01/A02/A03/A04). 
27 FORMAT 
* 
/         SOFTWARE ERROR MESSAGES.
* 
30 FORMAT FMC47A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
* 
* 
   IF (B0.NE.154) GOTO 45 
   IF (EC.LT.11) GOTO 45
   IF (EC.GT.14) EXIT TO 47B
* 
/         ERROR NUMBER 6C009 HEX
* 
40 IF (EC.NE.11) GOTO 41
   MSG EM TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 987
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 (12D,22D) TO LINE 16
   EXIT TO 987
* 
/         ERROR NUMBER 6C00A HEX
* 
41 IF(EC.NE.12) GOTO 42 
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98N
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98N
* 
/         ERROR NUMBER 6C00B HEX
* 
42 IF(EC.NE.13) GOTO 43 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 987
   MSG 21 TO LINE 14
   MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 987
* 
/         ERROR NUMBER 6C00C HEX
* 
43 IF (EC.NE.14B) GOTO 45 
   MSG 24 TO LINE 12
   IF(P4.AND.4000.EQ.0) EXIT TO 987 
   MSG 25 TO LINE 14
   MSG 26 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 987
* 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC47B,FMDHT(07),LOCK 
*   5.2.38.2 FMC47B - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC987 - DISPLAY DETAILED STATUS
* 
*         REGISTERS USED- 
*         SAME AS FMC47.
* 
*         BUFFERS USED- 
*         SAME AS FMC47.
* 
* 
* 
*        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC47 - ECC FUNCTIONAL TEST (DC=7)
3  FORMAT PRESERVICE FORECAST GROUP FMDC OR FMDD
4  FORMAT FMC47 - LINE *OCT - ERROR NUMBER *H*HE
* 
/         ERROR NUMBER 6C00D HEX
* 
5  FORMAT DRIVE RESERVED BY OPPOSITE ACCESS STATUS
6  FORMAT SUCCESSIVELY REPLACE CARDS
7  FORMAT B04, B17, B13, AND A20. 
10 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
* 
/         ERROR NUMBER 6C00E HEX
* 
11 FORMAT DRIVE MALFUNCTION/INTERFACE FAULT 
12 FORMAT SUCCESSIVELY REPLACE CARDS B01, B02, B03, B04,
13 FORMAT B14, B15, B16, B17, B22, B19, AND B21.
14 FORMAT B22, B19, AND B21.
* 
/         ERROR NUMBER 6C00F/6C010 HEX
* 
15 FORMAT CONTROLLER LOST DRIVE CLOCK ERROR 
16 FORMAT CONTROLLER PROCESSOR INSTRUCTION TIMEOUT ERROR
17 FORMAT CONTROLLER AND/OR DRIVE BUSY
20 FORMAT B*D AND B*D.
21 FORMAT B02, B21, B22, B19, B20, A19, A18, AND A21. 
22 FORMAT B01 AND A18.
23 FORMAT B*D, B*D, AND B*D.
24 FORMAT B15,B02,B21,B22,B19,B20,A19,A18,AND A21.
25 FORMAT B14, B01, AND A18.
26 FORMAT B*D, B*D, B*D, B*D, AND B*D.
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE UNIT TO 63B 
* 
/         SOFTWARE ERROR MESSAGES.
* 
30 FORMAT FMC47B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
   IF (B0.NE.154) GOTO 45 
   IF (EC.LT.15) GOTO 45
   IF (EC.GT.20) GOTO 45
* 
/         ERROR NUMBER 6C00D HEX
* 
40 IF (EC.NE.15) GOTO 41
   MSG 5 TO LINE 12 
   IF(P4.AND.4000.EQ.0) EXIT TO 987 
   MSG 6 TO LINE 14 
   MSG 7 TO LINE 15 
   MSG 10 TO LINE 16
   EXIT TO 987
* 
/         ERROR NUMBER 6C00E HEX
* 
41 IF (EC.NE.16) GOTO 42
   MSG 11 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 987
   MSG 12 TO LINE 14
   IF(SB(UNIT).AND.10.NE.0)MSG 13 TO LINE 15
   IF(SB(UNIT).AND.10.EQ.0)MSG 14 TO LINE 15
   MSG 10 TO LINE 16
   EXIT TO 987
* 
/         ERROR NUMBER 6C00F HEX
* 
42 IF (EC.NE.17) GOTO 43
   MSG EM TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 987
   MSG 6 TO LINE 14 
   B10 = EM + 3 
   IF(SB(UNIT).AND.10.NE.0) B10 = B10 + 3 
   MSG B10 TO LINE 15 
   MSG 10 TO LINE 16
   EXIT TO 987
* 
/         ERROR NUMBER 6C010 HEX
* 
43 IF (EC.NE.20) GOTO 45
   MSG EM TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 987
   MSG 6 TO LINE 14 
   IF(SB(UNIT).AND.10.EQ.0)MSG 20(01D,22D) TO LINE 15 
   IF(SB(UNIT).AND.10.NE.0)MSG 23(14D,01D,22D) TO LINE 15 
   IF (B9.EQ.15) GOTO 44      *IF READ ABORT, 
   IF (SB(21).AND.1.NE.0) GOTO 44   *IF WRITE ADDRESS ERROR,
   IF(SB(UNIT).AND.10.EQ.0)MSG 23(3D,01D,22D) TO LINE 15
   IF(SB(UNIT).AND.10.EQ.0) GOTO 44 
   MSG 26 (16D,03D,14D,01D,22D) TO LINE 15
44 MSG 10 TO LINE 16
   EXIT TO 987
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC470,FMDHT(07),LOCK 
*   5.2.38.3 FMC470 - REPORT UNEXPECTED ERRORS
* 
*         PURPOSE-
*         FMC470 DISPLAYS INFORMATION EXPANDING ON ALL
*         ERRORS OTHER THAN THOSE WHICH CAN BE INTERPRETED
*         FOR ISOLATION.
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-NONE. 
* 
*         REGISTERS USED- 
*         SAME AS FMC47.
* 
*         BUFFERS USED- 
*         SAME AS FMC47.
* 
* 
* 
* 
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
4  FORMAT FMC*D - LINE *OCTB - ERROR NUMBER *H*HEH
5  FORMAT ABORT ON .RES DRIVE. COMMAND
/ 
6  FORMAT LF = *OCTB      WORD  DETAILED STATUS (OCTAL) 
7  FORMAT                   1   *OCT *OCT *OCT *OCT *OCT
8  FORMAT    GENERAL        6   *OCT *OCT *OCT *OCT *OCT
9  FORMAT STATUS = *OCTB   11D  *OCT *OCT *OCT *OCT *OCT
12 FORMAT                  16D  *OCT *OCT *OCT *OCT *OCT
13 FORMAT ABORT ON .RES CONTROLLER. COMMAND 
14 FORMAT ABORT ON .WRITE. COMMAND
15 FORMAT ABORT ON .READ. COMMAND 
16 FORMAT ABORT ON .STATUS GENERAL. COMMAND 
17 FORMAT ABORT ON .STATUS DETAIL. COMMAND
20 FORMAT ABORT ON .STATUS CHANNEL. COMMAND 
21 FORMAT ABORT ON .OUT CH. COMMAND 
22 FORMAT ABORT ON .CONTROL. COMMAND
23 FORMAT ABORT ON .FLAG PULSE. COMMAND 
24 FORMAT ABORT ON .SEEK. COMMAND 
25 FORMAT ABORT ON .REL. COMMAND
30 FORMAT UNEXPECTED ERROR
31 MSG 1 TO LINE 1
   MSG 4 (B13,EA,B0,EC) TO LINE 3 
   MSG 30 TO LINE 5 
   MSG B9 TO LINE 6 
   MSG EM TO LINE 7 
   MSG 6 (LF) TO LINE 11
   MSG 7 (SB(1),SB(2),SB(3),SB(4),SB(5)) TO LINE 12 
   MSG 8 (SB(6),SB(7),SB(8),SB(9),SB(12)) TO LINE 13
   MSG 9(SB(0),SB(13),SB(14),SB(15),SB(16),SB(17))TO LINE 14
   MSG 12(SB(20),SB(21),SB(22),SB(23),SB(24)) TO LINE 15
   PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC49,FMDFT(07),LOCK
** 5.2.39 FMC49 - WRITE VERIFY TEST (DC=7)
* 
*         PURPOSE-
*         FMC49 USES A WRITE VERIFY OPERATION TO ESTABLISH A FINAL
*         CONFIDENCE IN THE OPERABILITY OF THE CONTROLLER.  IT DOES NOT 
*         RELY ON ANY CONTROLLER LOGIC WHICH HAS NOT BEEN PREVIOUSLY
*         VERIFIED TO SOME EXTENT.  IF FMC49 FAILS, EITHER THE DRIVE OR 
*         CONTROLLER COULD BE AT FAULT. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 885-1X (DEVICE CODE 7) IS
*         ASSIGNED TO THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR ALL PATTERNS 
*           FILL THE BUFFER 
*           WRITE A SECTOR
*           WRITE VERIFY THE SECTOR 
*           IF GENERAL STATUS IS NOT ZERO, THEN 
*             REPORT ERROR
*           ENDIF 
*           INVERT A BIT
*           WRITE VERIFY THE SECTOR 
*           IF GENERAL STATUS DOES NOT INCLUDE ABNORMAL 
*           TERMINATION BIT, THEN 
*             REPORT ERROR
*           ENDIF 
*           IF DETAILED STATUS DOES NOT INCLUDE WRITE VERIFY
*           ERROR BIT, THEN 
*             REPORT ERROR
*           ENDIF 
*         ENDO
/ 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS.
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS.
* 
*         SUBMODULES REFERENCED-
*         FMC490 - REPORT UNEXPECTED ERRORS 
*         FMC49A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - NUMBER OF SECTORS
*         B5 - CYLINDER ADDRESS (842D)
*         B6 - TRACK ADDRESS (0)
*         B7 - SECTOR ADDRESS (0) 
*         B9 - ABORT TYPE INDEX 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
1  FORMAT FMC49 - WRITE VERIFY TEST (DC=7)
2  FORMAT FMC49 - LC=*DECD, EC=*DECD
4  FORMAT FMC49 ERROR(S) = *DECD
5  FORMAT ID-SWITCH - CONTROLLER = *H HEX, DRIVE = *H HEX 
6  FORMAT // FMC49 DRIVES DISABLED, P5=XXX1 //
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE NPAT TO 07         *NUMBER OF DATA PATTERNS 
* 
/ 
* 
20 MSG 1 TO DISPLAY, PRINT
   IF (P5.AND.1.EQ.0) GOTO 21 
   MSG 6 TO DISPLAY, PRINT
   GOTO 77
* 
/        INITIALIZE.
* 
21 B0=157                    *TEST NUMBER 6F HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   WC=502 
   BA=0 
   B4=1                      *NUMBER OF SECTORS 
   B5=842D                   *CYLINDER NUMBER 
   B6=0                      *TRACK NUMBER
   B7=0                      *SECTOR NUMBER 
24 IF(B2.EQ.0)DUP 0000B TO OB FOR 502B   0000 PATTERN 
   IF(B2.EQ.1)DUP 7777B TO OB FOR 502B   7777 PATTERN 
   IF(B2.EQ.2)DUP 2525B TO OB FOR 502B   2525 PATTERN 
   IF(B2.EQ.3)DUP 5252B TO OB FOR 502B   5252 PATTERN 
   IF(B2.EQ.4)DUP 1111B TO OB FOR 502B   1111 PATTERN 
   IF(B2.EQ.5)DUP 2222B TO OB FOR 502B   2222 PATTERN 
   IF(B2.EQ.6)DUP 4444B TO OB FOR 502B   4444 PATTERN 
   IF(B2.EQ.7)RANDOM TO OB FOR 502B      RANDOM PATERN
* 
/        PERFORM WRITE VERIFY TEST. 
* 
40 B1=B1+1
   B9 = 13
   RES DRIVE, ABT 70
   B9 = 14
   WRITE B4 SECTORS AT CYL B5, TRK B6, SEC B7, ABT 70 
   B4=1 
   B9 = 15
   VERIFY B4 SECTORS AT CYL B5, TRK B6, SEC B7, ABT 55
   IF (SB(0).NE.0) ERROR 3/1, GOTO 67 
   OB(100)=OB(100).XOR.40    *INVERT A BIT IN THE SECTOR
   B4=1 
   B9 = 15
   VERIFY B4 SECTORS AT CYL B5, TRK B6, SEC B7, ABT 50
   B9 = 16
   STATUS GENERAL, ABT 70 
   B9 = 17
   STATUS DETAIL, ABT 70
   ERROR 3/2, GOTO 67 
* 
50 B9 = 16
   STATUS GENERAL, ABT 70 
   B9 = 17
   STATUS DETAIL, ABT 70
   IF (SB(20).AND.1.EQ.0) ERROR 3/3, GOTO 67
   GOTO 60
55 IF (SB(0).EQ.0) GOTO 70
   ERROR 3/1, GOTO 67 
* 
/        FINALIZE.
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 76                       *TERMINATE 
* 
/        PROCESS EXPECTED ERRORS. 
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/        PROCESS UNEXPECTED ERRORS. 
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/        CALL APPROPRIATE DISPLAY SUBMODULE.
* 
74 IF(EC.LT.4000B) CALL 49A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 490  *UNEXPECTED ERROR DISPLAY
/ 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/ 
/         TERMINATE.
* 
76 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   IF (SB(4).EQ.0) GOTO 77   *IF NO DETAILED STATUS, EXIT 
   B10=SB(24).AND.377        *MASK FOR CONTROLLER ID-SWITCH 
   B11=SB(7).AND.3.LS.6      *JUSTIFY UPPER 3-BITS DRIVE ID 
   B11=SB(10).RS.6+B11       *MAKE 8-BIT DRIVE ID-SWITCH
   MSG 5 (B10,B11) TO DISPLAY, PRINT, DAYFILE 
77 END 20 
COMPILE 
   MODULE FMC49A,FMDFT(07),LOCK 
*   5.2.39.1 FMC49A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC986 - DISPLAY GENERAL AND DETAILED STATUS. 
* 
*         REGISTERS USED- 
*         SAME AS FMC49.
* 
*         BUFFERS USED- 
*         SAME AS FMC49.
* 
* 
* 
/        COMMON MESSAGES
* 
5  FORMAT SUCCESSIVELY REPLACE CARDS
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC49 - WRITE VERIFY TEST (DC=7)
3  FORMAT PRESERVICE FORECAST GROUP FMDC OR FMDD
4  FORMAT FMC49 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6F001 HEX 
* 
10 FORMAT WRITE VERIFY FAILED.
11 FORMAT B19, B20, A20, B22, B01, AND B14 (IF PRESENT).
12 FORMAT FAILURE IN EITHER DRIVE OR CONTROLLER.
13 FORMAT DIAGNOSTIC FMD MAY HELP ISOLATE FAILURE.
* 
/        ERROR NUMBER 6F002 HEX 
* 
14 FORMAT FORCING A WRITE VERIFY ERROR DID NOT CAUSE A
15 FORMAT GENERAL STATUS OF 5000. 
16 FORMAT UNKNOWN FAILURE IN EITHER DRIVE OR CONTROLLER.
17 FORMAT DIAGNOSTIC FMD MAY HELP ISOLATE FAILURE.
* 
/        ERROR NUMBER 6F003 HEX 
* 
20 FORMAT FORCING A WRITE VERIFY ERROR DID NOT SET THE
21 FORMAT WRITE VERIFY ERROR BIT IN DETAILED STATUS.
22 FORMAT UNKNOWN FAILURE IN EITHER DRIVE OR CONTROLLER.
23 FORMAT DIAGNOSTIC FMD MAY HELP ISOLATE FAILURE.
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC49A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.157) GOTO 45 
   IF (EC.EQ.0) GOTO 45 
   IF (EC.GT.3) GOTO 45 
* 
/        ERROR NUMBER 6F001 HEX 
* 
40 IF (EC.NE.1) GOTO 41 
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 986
   MSG 5 TO LINE 13 
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 986               *DISPLAY STATUS
* 
/        ERROR NUMBER 6F002 HEX 
* 
41 IF (EC.NE.2) GOTO 42 
   MSG 14 TO LINE 11
   MSG 15 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 986
   MSG 5 TO LINE 13 
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 986               *DISPLAY STATUS
* 
/        ERROR NUMBER 6F003 HEX 
* 
42 IF (EC.NE.3) GOTO 45 
   MSG 20 TO LINE 11
   MSG 21 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 986
   MSG 5 TO LINE 13 
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 986
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC490,FMDFT(07),LOCK 
*   5.2.39.2 FMC490 - REPORT UNEXPECTED ERRORS
* 
*         PURPOSE-
*         FMC490 DISPLAYS INFORMATION EXPANDING ON ALL
*         ERRORS OTHER THAN THOSE WHICH CAN BE INTERPRETED
*         FOR ISOLATION.
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-NONE. 
* 
*         REGISTERS USED- 
*         SAME AS FMC49.
* 
*         BUFFERS USED- 
*         SAME AS FMC49.
* 
* 
* 
/ 
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC49 - WRITE VERIFY TEST (DC=7)
4  FORMAT FMC49 - LINE *OCT - ERROR NUMBER *H*HE
/ 
6  FORMAT LF=*OCTB        WORD  DETAILED STATUS (OCTAL) 
7  FORMAT                   1   *OCT *OCT *OCT *OCT *OCT
8  FORMAT    GENERAL        6   *OCT *OCT *OCT *OCT *OCT
9  FORMAT STATUS = *OCTB   11D  *OCT *OCT *OCT *OCT *OCT
12 FORMAT                  16D  *OCT *OCT *OCT *OCT *OCT
13 FORMAT ABORT ON .RES DRIVE. COMMAND
14 FORMAT ABORT ON .WRITE. COMMAND
15 FORMAT ABORT ON .VERIFY. COMMAND 
16 FORMAT ABORT ON .STATUS GENERAL. COMMAND 
17 FORMAT ABORT ON .STATUS DETAIL. COMMAND
22 FORMAT UNEXPECTED ERROR
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 4 (EA,B0,EC) TO LINE 3 
   MSG 22 TO LINE 5 
   MSG B9 TO LINE 6 
   MSG EM TO LINE 7 
   MSG 6 (LF) TO LINE 11
   MSG 7 (SB(1),SB(2),SB(3),SB(4),SB(5)) TO LINE 12 
   MSG 8 (SB(6),SB(7),SB(8),SB(9),SB(12)) TO LINE 13
   MSG 9(SB(0),SB(13),SB(14),SB(15),SB(16),SB(17))TO LINE 14
   MSG 12(SB(20),SB(21),SB(22),SB(23),SB(24)) TO LINE 15
   PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
*ENDIF
   MODULE FMC60,LSFMD1(16),LOCK 
** 5.2.31 FMC60 - LOOP 885 DECODE TEST (DC=16)
* 
*         PURPOSE-
*         FMC60 VERIFIES THAT DATA PATTERNS CAN BE LOOPED THROUGH THE 
*         885 INTERFACE BOARDS USING THE LOOP 885 DECODE FEATURE. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 885-1X (DEVICE CODE 16) IS 
*         ASSIGNED TO THE DIAGNOSTIC. 
* 
*         METHOD- 
*         VERIFY PARAMETERS.
*         DO FOR ALL DATA PATTERNS
*           FILL BUFFER 
*           DO FOR EACH WORD IN BUFFER
*             DO FOR ALL 885 DEVICE INTERFACES. 
*               SET THE LOOP 885 DECODE BIT 
*               OUTPUT WORD ON NOC 8
*               VERIFY THAT NIC 8 CONTAINS THE CORRECT WORD 
*               CLEAR LOOP 885 DECODE BIT.
*               CHECK STATUS VALID AND BUS IN PARITY. 
*               ISOLATE DATA ERRORS BASED ON BAD BIT POSITION 
*             ENDO
*           ENDO
*         ENDO
/ 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS 
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS 
* 
*         SUBMODULES REFERENCED-
*         FMC600 - VERIFY PARAMETERS
*         FMC60A - REPORT EXPECTED ERRORS 
*         FMC670 - REPORT UNEXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - BUFFER INDEX 
*         B6 - TEMPORARY STORAGE
*         B7 - 885 DRIVE INTERFACE NUMBER 
*         B8 - LAST 885 DRIVE INTERFACE NUMBER PLUS ONE 
*         B9 - ABORT TYPE INDEX 
*         B10- LENGTH OF BUFFER LOOP
*         B12- CURRENT DATA PATTERN 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         OB(0) - OB(501)  HOLDS GENERATED DATA PATTERNS
* 
* 
1  FORMAT FMC60 - LOOP 885 DECODE TEST (DC=16)
2  FORMAT FMC60 - LC=*DECD, EC=*DECD
4  FORMAT FMC60 ERROR(S) = *DECD
5  FORMAT DATA ERROR    E*OCT  A*OCT  D*OCT 
6  FORMAT // FMC60 NOT EXECUTED, NEEDS AL=0004, AL=*OCTB // 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE BIPE TO 1          *BUS IN PARITY ERROR 
   EQUATE VALID TO 2         *STATUS VALID (NIC 8/9)
   EQUATE NPAT TO 06         *NUMBER OF DATA PATTERNS 
   EQUATE LOOPDEC TO 100     *LOOP DECODE BIT 
   EQUATE OPT885 TO 40       *OPTIONAL 885 INTERFACES 
* 
/ 
* 
20 CALL 600                  *VERIFY PARAMETERS 
   MSG 1 TO DISPLAY, PRINT
   IF(AL.GE.4) GOTO 21       *ACCESS LEVEL CHECK
   MSG 6 (AL) TO PRINT, DISPLAY 
   EXIT 
* 
/        INITIALIZE.
* 
21 B0=155                    *TEST NUMBER 6D HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B13 = 60D                 *MODULE NUMBER 60D 
   B8=50                     *DETERMINE LAST INTERFACE NO.
   IF(P8.AND.OPT885.NE.0)B8=60
* 
24 IF(B2.EQ.0)DUP 0000B TO OB FOR 100B   0000 PATTERN 
   IF(B2.EQ.1)DUP 7777B TO OB FOR 100B   7777 PATTERN 
   IF(B2.EQ.2)DUP 2525B TO OB FOR 100B   2525 PATTERN 
   IF(B2.EQ.3)DUP 5252B TO OB FOR 100B   5252 PATTERN 
   IF(B2.EQ.4)DUP 1111B TO OB FOR 100B   1111 PATTERN 
   IF(B2.EQ.5)DUP 2222B TO OB FOR 100B   2222 PATTERN 
   IF(B2.EQ.6)DUP 4444B TO OB FOR 100B   4444 PATTERN 
   B5=0                      *BUFFER INDEX
   IF (B2.LT.4) B10=1        *STATIC PATTERNS 
   IF (B2.LT.10B) B10=12D    *SLIDING PATTERNS
   IF (B2.GE.10B) B10=100    *RANDOM PATTERNS 
25 B7 = 40B                  *FIRST 885 INTERFACE NUMBER
* 
/        PERFORM LOOP 885 DECODE TEST.
* 
40 B1=B1+1
44 B9 = 13
   RES CONTROLLER, ABT 70    *RESERVE CONTROLLER
* 
/         SET LOOP 885 DECODE BIT IN NOC 1. 
* 
   B6 = LOOPDEC              *LOOPDEC BIT FOR NOC 1 
   B9 = 21
   OUT CH=1,B6,B7,ABT 70     *SET LOOPDEC + 885 NO. 
* 
/         LOOP DATA.
* 
   B12=OB(B5).AND.377 
   OUT CH=8,377B,B12,ABT 70  *SEND PATTERN
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ PATTERN
* 
/         CLEAR LOOP 885 DECODE BIT IN NOC 1. 
* 
   B9 = 21
   OUT CH=1,0,B7,ABT 70      *CLEAR LOOPDEC 
* 
/         COMPARE DATA. 
* 
   IF(SB(21).AND.VALID.EQ.0) ERROR 3/22 GOTO 67 
   IF (SB(22).NE.B12) GOTO 64 
   IF (SB(21).AND.BIPE.NE.0) ERROR 3/21 GOTO 67  *PARITY
* 
/        FINALIZE.
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 44 WHILE (B7+1.NE.B8)    *END OF INTERFACE LOOP 
   GOTO 25 WHILE (B5+1.LT.B10)   *END OF BUFFER LOOP
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 77                       *TERMINATE MODULE
* 
/        ANALYZE DATA ERRORS
* 
64 B4=SB(22).XOR.B12
   MSG 5 (B12,SB(22),B4) TO LINE 7
* 
*         DATA ERROR ISOLATION ANALYSIS TABLE 
* 
*         2 3 4  B6  B6 2 3 4 
*         ------------------- 
*         - - -   0  0  - - - 
*         - - X   4  2  X - - 
*         - X -   3  3  - X - 
*         - X X   7  4  - - X 
*         X - -   2  5  X X - 
*         X - X   6  6  X - X 
*         X X -   5  7  - X X 
*         X X X   9  9  X X X 
* 
   B6=0 
   IF (B4.AND.7.NE.0) B6=2
   IF (B4.AND.70.NE.0) B6=B6+3
   IF (B4.AND.300.NE.0) B6=B6+4 
   IF (B6.GT.4) ERROR 3/1, GOTO 67
   IF (B6.EQ.2) ERROR 3/2, GOTO 67
   IF (B6.EQ.3) ERROR 3/3, GOTO 67
   ERROR 3/4, GOTO 67 
* 
/        PROCESS EXPECTED ERRORS. 
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/        PROCESS UNEXPECTED ERRORS. 
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/        CALL APPROPRIATE DISPLAY SUBMODULE.
* 
74 IF(EC.LT.4000B) CALL 60A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) MSG 1 TO LINE 2
   IF(EC.GE.4000B) CALL 670  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC60A,LSFMD1(16),LOCK
*   5.2.31.1 FMC60A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC60B - PROCESS HIGHER ERROR NUMBERS.
*         FMC98T - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC60.
* 
*         BUFFERS USED- 
*         SAME AS FMC60.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC60 - LOOP 885 DECODE TEST (DC=16)
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC60 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6D001 HEX 
* 
10 FORMAT DATA MISCOMPARE ON LOOP 885 DECODE
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B04, B13, B01, B02, B03, AND A18. 
13 FORMAT B17,B04,B13,B14,B15,B16,B01,B02,B03,AND A18.
* 
/        ERROR NUMBER 6D002 HEX 
* 
14 FORMAT DATA MISCOMPARE ON LOOP 885 DECODE (BITS 0, 1, 2).
15 FORMAT B01, B04, B13, AND A18. 
16 FORMAT B14, B01, B04, B17, B13, AND A18. 
17 FORMAT 
* 
/        ERROR NUMBER 6D003 HEX 
* 
20 FORMAT DATA MISCOMPARE ON LOOP 885 DECODE (BITS 3, 4, 5).
21 FORMAT B02, B04, B13, AND A18. 
22 FORMAT B15, B02, B04, B17, B13, AND A18. 
23 FORMAT 
* 
/        ERROR NUMBER 6D004 HEX 
* 
24 FORMAT DATA MISCOMPARE ON LOOP 885 DECODE (BITS 6, 7)
25 FORMAT B03, B04, B13, AND A18. 
26 FORMAT B16, B03, B04, B17, B13, AND A18. 
27 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC60A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   B7 = SB(63B)             *--*REMOVE IN CTRLR LANGUAGE*--*
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.155) GOTO 45 
   IF (EC.EQ.0) GOTO 45 
   IF (EC.GT.4) EXIT TO 60B 
* 
/        ERROR NUMBER 6D001 HEX 
* 
40 IF (EC.NE.1) GOTO 41 
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 12 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98T
50 MSG 13 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98T
* 
/        ERROR NUMBER 6D002 HEX 
* 
41 IF (EC.NE.2) GOTO 42 
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 51
   MSG 15 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98T
51 MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98T
* 
/        ERROR NUMBER 6D003 HEX 
* 
42 IF (EC.NE.3) GOTO 43 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 52
   MSG 21 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98T
52 MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98T
* 
/        ERROR NUMBER 6D004 HEX 
* 
43 IF (EC.NE.4) GOTO 45 
   MSG 24 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 53
   MSG 25 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98T
53 MSG 26 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98T
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC60B,LSFMD1(16),LOCK
*   5.2.31.2 FMC60B - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC98T - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC60.
* 
*         BUFFERS USED- 
*         SAME AS FMC60.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC60 - LOOP 885 DECODE TEST (DC=16)
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC60 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6D011 HEX 
* 
10 FORMAT DATA PARITY ERROR ON LOOP 885 DECODE. 
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B03, B04, B13, AND A18. 
13 FORMAT B16, B03, B04, B13, AND A18.
* 
/         ERROR NUMBER 6D012 HEX
* 
14 FORMAT NO STATUS VALID ON LOOP 885 DECODE. 
15 FORMAT SUCCESSIVELY REPLACE CARD B04.
16 FORMAT 
17 FORMAT 
20 FORMAT CHECK P8-885 OPTION INTERFACES PARAMETER. 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC60B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   B7 = SB(63B)             *--*REMOVE IN CTRLR LANGUAGE*--*
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.155) GOTO 45 
   IF (EC.LT.21) GOTO 45
   IF (EC.GT.22) GOTO 45
* 
/        ERROR NUMBER 6D011 HEX 
* 
40 IF (EC.NE.21) GOTO 41
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 12 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98T
50 MSG 13 TO LINE 15
   MSG 20 TO LINE 16
   EXIT TO 98T
* 
/         ERROR NUMBER 6D012 HEX
* 
41 IF (EC.NE.22) GOTO 45
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98T
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC600,LSFMD1(16),LOCK
*   5.2.31.3 FMC600 - PARAMETER VERIFICATION
* 
*         PURPOSE-
*         FMC600 VERIFIES THAT APPROPRIATE PARAMETERS ARE SET 
*         TO RUN THE FMC6X SERIES OF MODULES. 
* 
*         METHOD- 
*         PARAMETERS ARE CHECKED FOR THREE TYPES OF ERRORS--
*         1.  UNUSED BITS BEING SET.
*         2.  DRIVE-ORIENTED PARAMETERS BEING SET (SINCE FMC
*               ONLY ACCESSES THE PRE-ALLOCATED AREA).
* 
*         ENTRY-
*         PARAMETERS P0 TO P9 ARE DESCRIBED IN MODULE FMC99A. 
* 
*         EXIT- 
*         NO SPECIAL EXIT CONDITIONS. 
* 
*         SUBMODULES REFERNCED- 
*         NONE
* 
*         REGISTERS USED- 
*         B1 - MESSAGE LINE INDEX 
*         B2 - MESSAGE FORMAT INDEX 
* 
*         BUFFERS USED- 
*         NONE
* 
*         KNOWN LIMITATIONS-
*         NONE
* 
* 
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC600 - PARAMETER VERIFICATION (DC=16) 
3  FORMAT CHECK P0 - NOT USED, SHOULD BE ZERO 
4  FORMAT CHECK P1 - NOT USED, SHOULD BE ZERO 
5  FORMAT CHECK P2 - NOT USED, SHOULD BE ZERO 
6  FORMAT CHECK P3 - NOT USED, SHOULD BE ZERO 
7  FORMAT CHECK P4 - UNUSED BITS ARE SET
10 FORMAT CHECK P5 - UNUSED BITS ARE SET
11 FORMAT CHECK P7 - NOT USED, SHOULD BE ZERO 
12 FORMAT CHECK P8 - UNUSED BITS ARE SET
13 FORMAT CHECK P9 - UNUSED BITS ARE SET
14 FORMAT 885 UNIT NUMBER ERROR.  SET UN=40 THRU 57.
15 FORMAT CHECK P8 - 885 OPTION NOT SET.
16 FORMAT CHECK P5 - DRIVE MODULES SHOULD NOT BE DISABLED 
24 FORMAT P0 - P4 *OCT *OCT *OCT *OCT *OCT
25 FORMAT P5 - P9 *OCT *OCT *OCT *OCT *OCT
26 FORMAT SUSPECT PARAMETER/UNIT NUMBER ENTRY ERROR 
27 FORMAT -PAUSE- FMC600 - *DECD WARNINGS POSTED. 
30 FORMAT PARAMETERS DESCRIBED IN MODULE FMC99A.
/ 
   EQUATE OPT844 TO 0020     *844 INTERFACE OPTION
   EQUATE OPT885 TO 0040     *885 INTERFACE OPTION
/ 
31 B1 = 14                   *SET MESSAGE LINE INDEX
   MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 2 TO DISPLAY, PRINT
   MSG 24 (P0,P1,P2,P3,P4) TO LINE 7
   MSG 25 (P5,P6,P7,P8,P9) TO LINE 10 
/ 
   B2 = 3 
   IF (P0.NE.0) GOSUB 70
/ 
   B2 = 4 
   IF (P1.NE.0) GOSUB 70
/ 
   B2 = 5 
   IF (P2.NE.0) GOSUB 70
/ 
   B2 = 6 
   IF (P3.NE.0) GOSUB 70
/ 
   B2 = 7 
   IF (P4.AND.3776B.NE.0) GOSUB 70
/ 
   B2 = 10
   IF (P5.AND.6726B.NE.0) GOSUB 70
/ 
   B2 = 16
   IF (P5.AND.1.NE.0) GOSUB 70
/ 
   B2 = 11
   IF (P7.NE.0) GOSUB 70
/ 
   B2 = 12
   IF (P8.AND.7400B.NE.0) GOSUB 70
/ 
   B2 = 13
   IF (P9.AND.7070B.NE.0) GOSUB 70
/ 
   B2 = 14
   IF (SB(63).AND.77B.LT.40B) GOSUB 70
   IF (SB(63).AND.77B.GT.57B) GOSUB 70
/ 
   B2 = 15
   IF (SB(63).AND.10B.EQ.0) GOTO 76 
   IF (P8.AND.OPT885.EQ.0) GOSUB 70 
/ 
   GOTO 76
/ 
70 MSG B2 TO LINE B1
   B1 = B1 + 1
   RETURN 
/ 
76 IF (B1.EQ.14) GOTO 77     *IF NO ERRORS
   B1 = B1 + 1
   MSG 30 TO LINE B1
   MSG 26 TO LINE 12
   B1 = B1 - 15 
   PICTURE
   MSG 27 (B1) TO DISPLAY, PRINT, DAYFILE 
   PAUSE
77 BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC61,LSFMD1(16),LOCK 
** 5.2.32 FMC61 - LOOP 885 BUS TEST (DC=16) 
* 
*         PURPOSE-
*         FMC61 VERIFIES THAT DATA PATTERNS CAN BE LOOPED THROUGH THE 
*         885 INTERFACE BOARDS USING THE LOOP 885 BUS FEATURE.
*         THIS MODULE ALSO CHECK BUS IN/OUT PARITY. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 885-1X (DEVICE CODE 16) IS 
*         ASSIGNED TO THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR PATTERNS 0 THROUGH 7.
*           FILL BUFFER 
*           DO FOR EACH WORD IN BUFFER
*             DO FOR ALL PARITY STATES. 
*               DO FOR ALL 885 DEVICE INTERFACES. 
*                 SET THE LOOP 885 BUS BIT AND BUS PARITY.
*                 OUTPUT WORD ON NOC 8
*                 VERIFY THAT NIC 8 CONTAINS THE CORRECT WORD 
*                 CLEAR LOOP 885 BUS BIT. 
*                 CHECK STATUS VALID AND BUS IN PARITY. 
*                 ISOLATE DATA ERRORS BASED ON BAD BIT POSITION 
*               ENDO
*             ENDO
*           ENDO
*         ENDO
/ 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS 
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS 
* 
*         SUBMODULES REFERENCED-
*         FMC670 - REPORT UNEXPECTED ERRORS 
*         FMC61A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - BUFFER INDEX 
*         B6 - TEMPORARY STORAGE
*         B7 - 885 DRIVE INTERFACE NUMBER 
*         B8 - LAST 885 DRIVE INTERFACE NUMBER PLUS ONE 
*         B9 - ABORT TYPE INDEX 
*         B10- LENGTH OF BUFFER LOOP
*         B11- FORCE PARITY INDEX 
*         B12- CURRENT DATA PATTERN 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         OB(0) - OB(501)  CONTAINS WORDS TO BE LOOPED
* 
1  FORMAT FMC61 - LOOP 885 BUS TEST (DC=16) 
2  FORMAT FMC61 - LC=*DECD, EC=*DECD
4  FORMAT FMC61 ERROR(S) = *DECD
5  FORMAT DATA ERROR    E*OCT  A*OCT  D*OCT 
6  FORMAT // FMC61 NOT EXECUTED, NEEDS AL=0004, AL=*OCTB // 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE BIPE TO 1          *BUS IN PARITY ERROR 
   EQUATE VALID TO 2         *STATUS VALID (NIC 8/9)
   EQUATE NPAT TO 6          *NUMBER OF DATA PATTERNS 
   EQUATE FBIP TO 4          *FORCE BUSIN PARITY
   EQUATE FBOP TO 10         *FORCE BUSOUT PARITY 
   EQUATE LOOPBUS TO 200     *LOOP BUS BIT
   EQUATE OPT885 TO 40       *OPTIONAL 885 INTERFACES 
* 
/ 
* 
20 MSG 1 TO DISPLAY, PRINT
   IF(AL.GE.4) GOTO 21       *ACCESS LEVEL CHECK
   MSG 6 (AL) TO PRINT, DISPLAY 
   EXIT 
* 
/        INITIALIZE.
* 
21 B0=155                    *TEST NUMBER 6D HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B13 = 61D                 *MODULE NUMBER 61D 
   B8=50                     *DETERMINE LAST INTERFACE NO.
   IF(P8.AND.OPT885.NE.0)B8=60
* 
24 IF(B2.EQ.0)DUP 0000B TO OB FOR 100B   0000 PATTERN 
   IF(B2.EQ.1)DUP 7777B TO OB FOR 100B   7777 PATTERN 
   IF(B2.EQ.2)DUP 2525B TO OB FOR 100B   2525 PATTERN 
   IF(B2.EQ.3)DUP 5252B TO OB FOR 100B   5252 PATTERN 
   IF(B2.EQ.4)DUP 1111B TO OB FOR 100B   1111 PATTERN 
   IF(B2.EQ.5)DUP 2222B TO OB FOR 100B   2222 PATTERN 
   IF(B2.EQ.6)DUP 4444B TO OB FOR 100B   4444 PATTERN 
   B5=0                      *BUFFER INDEX
   IF (B2.LT.4) B10=1        *STATIC PATTERNS 
   IF (B2.LT.10B) B10=12D    *SLIDING PATTERNS
25 B11 = 0                   *INITIALIZE PARITY INDEX 
* 
/        PERFORM LOOP 885 BUS TEST. 
* 
40 B1=B1+1
   B7 = 40                   *FIRST 885 INTERFACE NUMBER
44 B9 = 13
   RES CONTROLLER, ABT 70    *RESERVE CONTROLLER
* 
/         DETERMINE PARITY TO FORCE.
* 
   IF(B11.EQ.0) B6=LOOPBUS   *NONE FORCED 
   IF(B11.EQ.1) B6=LOOPBUS+FBIP  *BUSIN PARITY
   IF(B11.EQ.2) B6=LOOPBUS+FBOP  *BUSOUT PARITY 
* 
/         SET LOOP 885 BUS BIT AND BUS PARITY.
* 
   B9 = 21
   OUT CH=1,B6,B7,ABT 70     *SET LOOPBUS + 885 NO. 
* 
/         LOOP DATA.
* 
   B12=OB(B5).AND.377 
   OUT CH=8,B12,377B,ABT 70  *SEND PATTERN
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ PATTERN
* 
/         CLEAR LOOP 885 BUS BIT IN NOC 1.
* 
   B9 = 21
   OUT CH=1,0,B7,ABT 70     *CLEAR LOOPBUS + FORCE PARITY 
* 
/         COMPARE DATA. 
* 
   IF(SB(21).AND.VALID.EQ.0) ERROR 3/26 GOTO 67 
   IF (SB(22).NE.B12) GOTO 64 
   IF(B11.EQ.0) GOTO 50 
   IF(SB(21).AND.BIPE.EQ.0) ERROR 3/27 GOTO 67  *PARITY 
   GOTO 60
50 IF(SB(21).AND.BIPE.NE.0) ERROR 3/25 GOTO 67  *PARITY 
* 
/        FINALIZE.
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 44 WHILE (B7+1.NE.B8)    *END OF INTERFACE LOOP 
   GOTO 40 WHILE (B11+1.LE.2)    *END OF PARITY LOOP
   GOTO 25 WHILE (B5+1.LT.B10)   *END OF BUFFER LOOP
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 77                       *TERMINATE MODULE
* 
/        ANALYZE DATA ERRORS
* 
64 B4=SB(22).XOR.B12
   MSG 5 (B12,SB(22),B4) TO LINE 7
* 
*         DATA ERROR ISOLATION ANALYSIS TABLE 
* 
*         2 3 4  B6  B6 2 3 4 
*         ------------------- 
*         - - -   0  0  - - - 
*         - - X   4  2  X - - 
*         - X -   3  3  - X - 
*         - X X   7  4  - - X 
*         X - -   2  5  X X - 
*         X - X   6  6  X - X 
*         X X -   5  7  - X X 
*         X X X   9  9  X X X 
* 
   B6=0 
   IF (B4.AND.7.NE.0) B6=2
   IF (B4.AND.70.NE.0) B6=B6+3
   IF (B4.AND.300.NE.0) B6=B6+4 
   IF (B6.GT.4) ERROR 3/5, GOTO 67
   IF (B6.EQ.2) ERROR 3/6, GOTO 67
   IF (B6.EQ.3) ERROR 3/7, GOTO 67
   ERROR 3/10, GOTO 67
* 
/        PROCESS EXPECTED ERRORS. 
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/        PROCESS UNEXPECTED ERRORS. 
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/        CALL APPROPRIATE DISPLAY SUBMODULE.
* 
74 IF(EC.LT.4000B) CALL 61A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) MSG 1 TO LINE 2
   IF(EC.GE.4000B) CALL 670  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC61A,LSFMD1(16),LOCK
*   5.2.32.1 FMC61A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC61B - PROCESS HIGHER ERROR NUMBERS.
*         FMC98T - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC61.
* 
*         BUFFERS USED- 
*         SAME AS FMC61.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC61 - LOOP 885 BUS TEST (DC=16) 
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC61 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6D005 HEX 
* 
10 FORMAT DATA MISCOMPARE ON LOOP 885 BUS 
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B04, B13, B01, B02, B03, AND A18. 
13 FORMAT B17,B04,B13,B14,B15,B16,B01,B02,B03,AND A18.
* 
/        ERROR NUMBER 6D006 HEX 
* 
14 FORMAT DATA MISCOMPARE ON LOOP 885 BUS (BITS 0, 1, 2). 
15 FORMAT B01, B04, B13, AND A18. 
16 FORMAT B14, B01, B04, B17, B13, AND A18. 
17 FORMAT 
* 
/        ERROR NUMBER 6D007 HEX 
* 
20 FORMAT DATA MISCOMPARE ON LOOP 885 BUS (BITS 3, 4, 5). 
21 FORMAT B02, B04, B13, AND A18. 
22 FORMAT B15, B02, B04, B17, B13, AND A18. 
23 FORMAT 
* 
/        ERROR NUMBER 6D008 HEX 
* 
24 FORMAT DATA MISCOMPARE ON LOOP 885 BUS (BITS 6, 7) 
25 FORMAT B03, B04, B13, AND A18. 
26 FORMAT B16, B03, B04, B17, B13, AND A18. 
27 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC61A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   B7 = SB(63B)             *--*REMOVE IN CTRLR LANGUAGE*--*
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.155) GOTO 45 
   IF (EC.LT.5) GOTO 45 
   IF (EC.GT.10) EXIT TO 61B
* 
/        ERROR NUMBER 6D005 HEX 
* 
40 IF (EC.NE.5) GOTO 41 
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 12 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98T
50 MSG 13 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98T
* 
/        ERROR NUMBER 6D006 HEX 
* 
41 IF (EC.NE.6) GOTO 42 
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 51
   MSG 15 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98T
51 MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98T
* 
/        ERROR NUMBER 6D007 HEX 
* 
42 IF (EC.NE.7) GOTO 43 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 52
   MSG 21 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98T
52 MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98T
* 
/        ERROR NUMBER 6D008 HEX 
* 
43 IF (EC.NE.10) GOTO 45
   MSG 24 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 53
   MSG 25 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98T
53 MSG 26 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98T
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC61B,LSFMD1(16),LOCK
*   5.2.32.2 FMC61B - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC98T - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC61.
* 
*         BUFFERS USED- 
*         SAME AS FMC61.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC61 - LOOP 885 BUS TEST (DC=16) 
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC61 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6D015 HEX 
* 
10 FORMAT DATA PARITY ERROR ON LOOP 885 BUS 
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT B03, B04, B13, AND A18. 
13 FORMAT B16, B03, B04, B13, AND A18.
* 
/         ERROR NUMBER 6D016 HEX
* 
14 FORMAT NO STATUS VALID ON LOOP 885 BUS.
15 FORMAT SUCCESSIVELY REPLACE CARD B04.
16 FORMAT 
17 FORMAT 
* 
/         ERROR NUMBER 6D017 HEX
* 
20 FORMAT NO STATUS PARITY ERROR ON LOOP 885 BUS. 
21 FORMAT SUCCESSIVELY REPLACE CARDS
22 FORMAT B04, B03, A18, AND A20. 
23 FORMAT 
24 FORMAT CHECK P8-885 OPTION INTERFACES PARAMETER. 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC61B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   B7 = SB(63B)             *--*REMOVE IN CTRLR LANGUAGE*--*
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.155) GOTO 45 
   IF (EC.LT.25) GOTO 45
   IF (EC.GT.27) GOTO 45
* 
/        ERROR NUMBER 6D015 HEX 
* 
40 IF (EC.NE.25) GOTO 41
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 11 TO LINE 14
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 12 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98T
50 MSG 13 TO LINE 15
   MSG 24 TO LINE 16
   EXIT TO 98T
* 
/         ERROR NUMBER 6D016 HEX
* 
41 IF(EC.NE.26) GOTO 42 
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98T
* 
/         ERROR NUMBER 6D017 HEX
* 
42 IF (EC.NE.27B) GOTO 45 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 21 TO LINE 14
   MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98T
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC62,LSFMD1(16),LOCK 
** 5.2.33 FMC62 - LOOP 885 WRITE/READ/TAG GATE (DC=16)
* 
*         PURPOSE-
*         FMC62 VERIFIES THE ABILITY TO LOOP GATING SIGNALS 
*         THROUGH THE 885 INTERFACE BOARDS. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 885-1X (DEVICE CODE 16) IS 
*         ASSIGNED TO THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR ALL 885 DEVICE INTERFACES
*           MASTER CLEAR CONTROL LOGIC. 
*           SELECT DEVICE INTERFACE ON NOC 1. 
*           SET SKIP SECTOR MARK. 
*           SEND READ GATE
*           CHECK READ GATE STATUS
*           SEND WRITE GATE AND W/R ECC 
*           CHECK WRITE GATE STATUS 
*           SEND READ GATE AND FAST START 
*           CHECK TAG GATE STATUS 
*           MASTER CLEAR CONTROL LOGIC. 
*           CHECK STATUS VALID. 
*         ENDO
/ 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS 
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS 
* 
*         SUBMODULES REFERENCED-
*         FMC670 - REPORT UNEXPECTED ERRORS 
*         FMC62A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B3 - ERROR COUNT
*         B4 - NOC 4 DATA 
*         B5 - NOC 5 DATA 
*         B7 - 885 DRIVE INTERFACE NUMBER 
*         B8 - LAST 885 DRIVE INTERFACE NUMBER PLUS ONE 
*         B9 - ABORT TYPE INDEX 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         NONE
* 
* 
1  FORMAT FMC62 - LOOP 885 WRT/READ/TAG GATE (DC=16)
2  FORMAT FMC62 - LC=*DECD, EC=*DECD
4  FORMAT FMC62 ERROR(S) = *DECD
6  FORMAT // FMC62 NOT EXECUTED, NEEDS AL=0004, AL=*OCTB // 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE OPT885 TO 40       *OPTIONAL 885 INTERFACES 
* 
/         NORMAL CHANNEL EQUATES
* 
   EQUATE VALID TO 2         *STATUS VALID (NIC 8/9)
   EQUATE WRG9 TO 4 
   EQUATE RDG9 TO 2 
   EQUATE TAG9 TO 1 
* 
/ 
* 
20 MSG 1 TO DISPLAY, PRINT
   IF(AL.GE.4) GOTO 21       *ACCESS LEVEL CHECK
   MSG 6 (AL) TO PRINT, DISPLAY 
   EXIT 
* 
/        INITIALIZE.
* 
21 B0=155                    *TEST NUMBER 6D HEX
   B1=0                      *LOOP COUNT
   B3=0                      *ERROR COUNT 
   B13 = 62D                 *MODULE NUMBER 62D 
   B7=40                     *FIRST 885 INTERFACE NUMBER
   B8=50                     *DETERMINE LAST INTERFACE NO.
   IF(P8.AND.OPT885.NE.0)B8=60
* 
/        PERFORM LOOP 885 WRITE/READ/TAG GATE TEST. 
* 
40 B1=B1+1
44 B9 = 13
   RES CONTROLLER, ABT 70    *RESERVE CONTROLLER
   B9 = 23
   FLAG PULSE CH=1, ABT 70   *MASTER CLEAR CONTROL LOGIC
   B9 = 21
   OUT CH=1,0,B7,ABT 70      *ENABLE 885 INTERFACE
   OUT CH=2,0,100B,ABT 70    *SKIP SECTOR MARK
* 
/         PERFORM LOOP 885 READ GATE TEST 
* 
   B9 = 22
   CONTROL 377,377,100,4,EXECUTE,ABT 70  *SEND READ GATE
   GOSUB 62                  *READ CHANNEL STATUS 
   IF (SB(24).AND.RDG9.EQ.0) ERROR 3/11 GOTO 67 
* 
   GOSUB 63                  *TERMINATE CONTROL WORD SEQ. 
   IF (SB(24).AND.RDG9.NE.0) ERROR 3/14 GOTO 67 
* 
/         PERFORM LOOP 885 WRITE GATE TEST
* 
   B9 = 22
   CONTROL 377,377,104,10,EXECUTE,ABT 70  *SEND WRITE GATE
   GOSUB 62                  *READ CHANNEL STATUS 
   IF (SB(24).AND.WRG9.EQ.0) ERROR 3/12 GOTO 67 
* 
   GOSUB 63                  *TERMINATE CONTROL WORD SEQ. 
   IF (SB(24).AND.WRG9.NE.0) ERROR 3/15 GOTO 67 
* 
/         PERFORM LOOP 885 TAG GATE TEST
* 
   B9 = 22
   CONTROL 377,377,100,24,EXECUTE,ABT 70  *SEND TAG GATE
   GOSUB 62                  *READ CHANNEL STATUS 
   IF (SB(24).AND.TAG9.EQ.0) ERROR 3/13 GOTO 67 
* 
   GOSUB 63                  *TERMINATE CONTROL WORD SEQ. 
   IF (SB(24).AND.TAG9.NE.0) ERROR 3/16 GOTO 67 
* 
/         CHECK FOR STATUS VALID STUCK-AT-ONE 
* 
   B9 = 23
   FLAG PULSE CH=1,ABT 70    *MASTER CLEAR
   B9 = 20
   STATUS CHANNEL,ABT 70     *READ CHANNEL STATUS 
   IF (SB(21).AND.VALID.NE.0) ERROR 3/17 GOTO 67
* 
/        FINALIZE.
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 44 WHILE (B7+1.NE.B8)    *END OF INTERFACE LOOP 
   GOTO 77                       *TERMINATE MODULE
* 
/         CHANNEL STATUS SUBROUTINE 
* 
62 B9 = 20
   STATUS CHANNEL, ABT 64    *READ CHANNEL STATUS 
   RETURN 
* 
/         TERMINATE CONTROL WORD SEQUENCE 
* 
63 B9 = 21
   OUT CH=4,0,0,ABT 64       *CLEAR NOC 4 
   B9 = 23
   FLAG PULSE CH=5,ABT 64    *TERMINATE CONTROL 
   B9 = 21
   OUT CH=5,0,0,ABT 64       *CLEAR NOC 5 
   B9 = 20
   STATUS CHANNEL, ABT 64    *READ CHANNEL STATUS 
   RETURN 
64 ENDSUB GOTO 70 
* 
/        PROCESS EXPECTED ERRORS. 
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/        PROCESS UNEXPECTED ERRORS. 
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
   ENDSUB 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/        CALL APPROPRIATE DISPLAY SUBMODULE.
* 
74 IF(EC.LT.4000B) CALL 62A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) MSG 1 TO LINE 2
   IF(EC.GE.4000B) CALL 670  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC62A,LSFMD1(16),LOCK
*   5.2.33.1 FMC62A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC62B - PROCESS HIGHER ERROR NUMBERS.
*         FMC98T - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC62.
* 
*         BUFFERS USED- 
*         SAME AS FMC62.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC62 - LOOP 885 WRT/READ/TAG GATE (DC=16)
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC62 - LINE *OCT - ERROR NUMBER *H*HE
6  FORMAT SUCCESSIVELY REPLACE CARDS
* 
/        ERROR NUMBER 6D009 HEX 
* 
10 FORMAT LOOP READ GATE A CONSTANT ZERO. 
/         SUCCESSIVELY REPLACE CARDS
11 FORMAT B02, B04, B21, B13, 
12 FORMAT B15,B02,B17,B04,B21,B13,
13 FORMAT B19, B22, A19, AND A21. 
* 
/        ERROR NUMBER 6D00A HEX 
* 
14 FORMAT LOOP WRITE GATE A CONSTANT ZERO.
/         SUCCESSIVELY REPLACE CARDS
15 FORMAT B01, B04, B21, B13, 
16 FORMAT B14,B01,B17,B04,B21,B13,
17 FORMAT CHECK P8-885 OPTION INTERFACES PARAMETER. 
* 
/        ERROR NUMBER 6D00B HEX 
* 
20 FORMAT LOOP TAG GATE A CONSTANT ZERO.
/         SUCCESSIVELY REPLACE CARDS
21 FORMAT B03, B04, B13, AND B19. 
22 FORMAT B16, B03, B17, B04, B13, AND B19. 
23 FORMAT 
* 
/        ERROR NUMBER 6D00C HEX 
* 
24 FORMAT LOOP READ GATE A CONSTANT ONE.
/         SUCCESSIVELY REPLACE CARDS
25 FORMAT B02, B04, B21, B13, 
26 FORMAT B15,B02,B17,B04,B21,B13,
27 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC62A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   B7 = SB(63B)             *--*REMOVE IN CTRLR LANGUAGE*--*
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.155) GOTO 45 
   IF (EC.LT.11) GOTO 45
   IF (EC.GT.14) EXIT TO 62B
* 
/        ERROR NUMBER 6D009 HEX 
* 
40 IF (EC.NE.11) GOTO 41
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 6 TO LINE 13 
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 11 TO LINE 14
   MSG 13 TO LINE 15
   EXIT TO 98T
50 MSG 12 TO LINE 14
   MSG 13 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98T
* 
/        ERROR NUMBER 6D00A HEX 
* 
41 IF (EC.NE.12) GOTO 42
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 51
   MSG 15 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98T
51 MSG 16 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98T
* 
/        ERROR NUMBER 6D00B HEX 
* 
42 IF (EC.NE.13) GOTO 43
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 52
   MSG 21 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98T
52 MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98T
* 
/        ERROR NUMBER 6D00C HEX 
* 
43 IF (EC.NE.14) GOTO 45
   MSG 24 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 53
   MSG 25 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98T
53 MSG 26 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98T
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC62B,LSFMD1(16),LOCK
*   5.2.33.2 FMC62B - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC98T - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC62.
* 
*         BUFFERS USED- 
*         SAME AS FMC62.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC62 - LOOP 885 WRT/READ/TAG GATE (DC=16)
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC62 - LINE *OCT - ERROR NUMBER *H*HE
6  FORMAT SUCCESSIVELY REPLACE CARDS
* 
/        ERROR NUMBER 6D00D HEX 
* 
10 FORMAT LOOP WRITE GATE A CONSTANT ONE. 
/         SUCCESSIVELY REPLACE CARDS
11 FORMAT B01, B04, B21, B13, 
12 FORMAT B14,B01,B17,B04,B21,B13,
13 FORMAT B19, B22, A19, AND A21. 
* 
/        ERROR NUMBER 6D00E HEX 
* 
14 FORMAT LOOP TAG GATE A CONSTANT ONE. 
/         SUCCESSIVELY REPLACE CARDS
15 FORMAT B03, B04, B13, AND B19. 
16 FORMAT B16, B03, B17, B04, B13, AND B19. 
17 FORMAT 
* 
/         ERROR NUMBER 6D00F HEX
* 
20 FORMAT STATUS VALID SET AFTER MASTER CLEAR.
21 FORMAT SUCCESSIVELY REPLACE CARD B04.
22 FORMAT 
23 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC62B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   B7 = SB(63B)             *--*REMOVE IN CTRLR LANGUAGE*--*
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.155) GOTO 45 
   IF (EC.LT.15) GOTO 45
   IF (EC.GT.17) GOTO 45
* 
/        ERROR NUMBER 6D00D HEX 
* 
40 IF (EC.NE.15) GOTO 41
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 50
   MSG 11 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98T
50 MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98T
* 
/        ERROR NUMBER 6D00E HEX 
* 
41 IF (EC.NE.16) GOTO 42
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 6 TO LINE 14 
   IF (B7.AND.10.NE.0) GOTO 51
   MSG 15 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98T
51 MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98T
* 
/         ERROR NUMBER 6D00F HEX
* 
42 IF (EC.NE.17B) GOTO 45 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 21 TO LINE 14
   MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98T
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC63,LSFMD1(16),LOCK 
** 5.2.34  FMC63 - SYNC BYTE SEARCH TEST I (DC=16)
* 
*         PURPOSE-
*         FMC63 VERIFIES THE OPERATION OF THE SYNC BYTE DETECTOR
*         ON THE LOW ORDER DATA PATH BOARD. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 885-1X (DEVICE CODE 16) IS 
*         ASSIGNED TO THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR SYNC BYTE = 20 TO 37 
*           SEEK TO CYL 842 TRK 0 SCT 0.
*           SET CONTROL SELECT ON NOC 8.
*           PLACE SYNC BYTE IN NOC 2
*           WRITE A SYNC BYTE IN THE MIDDLE OF THE SECTOR 
*           CHECK GENERAL STATUS
*           SEEK TO CYL 842 TRK 0 SCT 0.
*           SET CONTROL SELECT ON NOC 8.
*           PLACE SYNC BYTE IN NOC 2
*           READ THE SYNC BYTE AT THE CORRECT TIME (EXPECT NO ERROR)
*           CHECK GENERAL STATUS. 
*           CHECK SYNC BYTE MISCOMPARE STATUS.
*           MASTER CLEAR CONTROL LOGIC
*         ENDO
/ 
*         ENTRY-
*         SECTOR 0, TRACK 0, CYLINDER 842 MUST CONTAIN ALL ZEROES.
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS 
* 
*         SUBMODULES REFERENCED-
*         FMC63A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - (NOT USED) 
*         B5 - CURRENT SYNC BYTE PATTERN
*         B6 - CYLINDER FOR SEEK (842D) 
*         B7 - TRACK FOR SEEK (0) 
*         B8 - SECTOR FOR SEEK (0)
*         B9 - ABORT TYPE INDEX 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         NONE
* 
*         REMARKS-
* 
*         STANDARD SECTOR FORMAT FOR 885-S--
* 
*                      DECIMAL        OCTAL 
*         FIELD      BITS  BYTES   BITS  BYTES  COMMENTS
*         ---------  ----  ----   -----  -----
*         01          400    50     620     62   STARTS AT LEADING EDGE 
*         ADDRESS      40     5      50      5     OF INDEX 
*         ECC          48     6      60      6
*         02          216    27     330     33
*         SYNC BYTE     8     1      10      1
*         DATA       3864   483    7430    743
*         ECC          48     6      60      6
*         PAD          48     6      60      6
*         ---------  ----  ----   -----  -----
*         TOTAL      4672   101   11100   1110
* 
* 
*         WRITE A SYNC BYTE IN THE DATA FIELD-- 
* 
*                              DECIMAL        OCTAL 
*         FIELD              BITS  BYTES   BITS  BYTES  COMMENTS
*         -----------------  ----  -----   ----  -----  --------
*         INDEX MARK START, 
*         PROCESSOR CLOCK.    215     26+   327     32+ 
*         READ GATE AND 
*         PROCESSOR CLOCK.    333     41+   515     51+ 
*         DROP READ GATE, 
*         PROCESSOR CLOCK.   2563    320+  5003    500+ 
*         ECC S.C.,WRT ECC, 
*         WRT GATE, 16-BIT, 
*         WRITE CLOCK.        188     23+   274     27+ 
*         WRT GATE, 16-BIT, 
*         WRT SYNC, WRT CLK.   31      3+    37      3+ 
*         WRT GATE, 16-BIT, 
*         WRT SYNC, WRT CLK.   88     11    130     13
* 
* 
*         READ A SYNC BYTE IN THE DATA FIELD AT CORRECT TIME--
* 
*                              DECIMAL        OCTAL 
*         FIELD              BITS  BYTES   BITS  BYTES  COMMENTS
*         -----------------  ----  -----   ----  -----  --------
*         INDEX MARK START, 
*         PROCESSOR CLOCK.    215     26+   327     32+ 
*         READ GATE AND 
*         PROCESSOR CLOCK.   2939    367+  5573    557+ 
*         FAST START, READ
*         GATE, PROC CLOCK.    57      7+    71      7+ 
*         SYNC BYTE SEARCH, 
*         READ GATE, AND
*         DRIVE CLOCK.        209     26+   321     32+ 
* 
* 
1  FORMAT FMC63 - SYNC BYTE SEARCH TEST I (DC=16) 
2  FORMAT FMC63 - LC=*DECD, EC=*DECD
4  FORMAT FMC63 ERROR(S) = *DECD
5  FORMAT // FMC63 NOT EXECUTED, NEEDS AL=0004, AL=*OCTB // 
6  FORMAT // FMC63 DRIVES DISABLED, P5=XXX1  // 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE BUSY TO 2 
   EQUATE NPAT TO 20         *NUMBER OF DATA PATTERNS 
* 
/         DISPLAY TITLE MESSAGE 
* 
20 MSG 1 TO DISPLAY, PRINT
* 
/         CHECK FOR DRIVES DISABLED.
* 
   IF (P5.AND.1.EQ.0) GOTO 21 
   MSG 6 TO DISPLAY, PRINT
   EXIT 
* 
/         CHECK ACCESS LEVEL
* 
21 IF (AL.GE.4) GOTO 22      *ACCESS LEVEL CHECK
   MSG 5 (AL) TO PRINT,DISPLAY
   EXIT 
* 
/         INITIALIZE. 
* 
22 B0=153                    *TEST NUMBER 6B HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B13 = 63D                 *MODULE NUMBER 63D 
* 
/         RESERVE, CONNECT, ETC.
* 
30 B1 = B1 + 1               *INCREMENT LOOP COUNTER
   B9 = 5 
   RES, DRIVE, ABT 31 
   GOTO 40
31 IF(SB(0).EQ.10B) ERROR 3/6, GOTO 67
   IF(SB(0).NE.5020B) GOTO 70 
   IF(SB(15).AND.377.EQ.0) GOTO 70
   IF(SB(16).AND.32.EQ.20) ERROR 3/7, GOTO 67 
   GOTO 70
* 
/         PERFORM SYNC BYTE SEARCH TEST.
* 
40 B5 = B2 + 20B             *SYNC BYTE PATTERN 
* 
   GOSUB 62                  *SEEK
/                       *WRITE SYNC BYTE IN MIDDLE OF SECTOR
   B9 = 22
   CONTROL 0,327,100,300,ABT 70  *INDEX MK START + PROC CLK 
   CONTROL 1,115,100,4,ABT 70    *RD GATE + PROC CLK
   CONTROL 12,3,100,0,ABT 70     *DROP RD GATE + PROC CLK 
   CONTROL 0,274,24,12,ABT 70    *ECC, WRT GATE + WRT CLK 
   CONTROL 0,37,0,13,ABT 70      *WRT GATE, SYNC, + CLOCK 
   CONTROL 0,130,24,12,ABT 70    *WRT SYNC + WRT CLK
   CONTROL 0,0,0,0,EXECUTE,ABT 70  *EXEC CTRL WD SEQ
* 
   GOSUB 61                  *CHECK GENERAL STATUS
   IF (SB(0).NE.0) ERROR 3/1, GOTO 67 
* 
   GOSUB 62                  *SEEK
/                            *READ SYNC BYTE AT CORRECT TIME
   B9 = 22
   CONTROL 0,327,100,300,ABT 70  *INDEX MK START + PROC CLK 
   CONTROL 13,173,100,4,ABT 70   *RD GATE + PROC CLK
   CONTROL 0,71,100,24,ABT 70    *FAST START, RD GATE + PCLK
   CONTROL 0,321,40,44,ABT 70    *SYNC BYTE SEARCH,RD GATE
   CONTROL 0,0,0,0,EXECUTE,ABT 70  *EXEC CTRL WD SEQ
* 
   GOSUB 61                  *CHECK GENERAL STATUS
   IF (SB(0).NE.0) ERROR 3/2, GOTO 67 
* 
   B9 = 20
   STATUS CHANNEL,ABT 70     *CHECK FOR MISCOMPARE BIT
   IF (SB(4).AND.1.NE.0) ERROR 3/3, GOTO 67 
* 
   B9 = 23
   FLAG PULSE,CH=1,ABT 70    *MASTER CLEAR CONTROL LOGIC
* 
/         FINALIZE. 
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   B9 = 25
   REL, ABT 70                   *RELEASE SUBSYSTEM TO OS 
   GOTO 30 WHILE (B2+1.LT.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 77                   *TERMINATE MODULE
* 
/         GENERAL AND DETAILED STATUS SUBROUTINE
* 
61 B9 = 16
   STATUS GENERAL,ABT 70     *GET GENERAL STATUS
   B9 = 17
   STATUS DETAIL,ABT 70      *GET DETAILED STATUS 
   IF(SB(0).NE.5020B) RETURN
   IF(SB(15).AND.377.EQ.0) RETURN 
   IF(SB(16).AND.32.EQ.20) ERROR 3/7, GOTO 67 
   RETURN 
* 
/         SEEK CYLINDER 842D, TRACK 0, SECTOR 0 
* 
62 B6 = 842D                 *CYLINDER
   B7 = 0                    *TRACK 
   B8 = 0                    *SECTOR
   B9 = 24
   SEEK CYL B6 TRK B7 SEC B8,ABT 70 
   B9 = 21
   OUT,CH=8,0,106,ABT 70     *SET CONTROL SELECT
   OUT,CH=2,0,B5,ABT 70      *SET SYNC BYTE PATTERN 
   RETURN 
* 
/         PROCESS EXPECTED ERRORS.
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/         PROCESS UNEXPECTED ERRORS.
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
   ENDSUB 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 30                   *GO TO REPEAT CONDITION
* 
/         CALL APPROPRIATE DISPLAY SUBMODULE. 
* 
74 CALL 63A                  *EXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 30
* 
/         TERMINATE.
* 
77 IF (ES.AND.RM.NE.0) GOTO 22
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC63A,LSFMD1(16),LOCK
*   5.2.34.1 FMC63A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC63B - PROCESS HIGHER ERROR NUMBERS.
*         FMC670 - REPORT UNEXPECTED ERRORS 
*         FMC98R - DISPLAY DETAILED STATUS
*         FMC98T - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC63.
* 
*         BUFFERS USED- 
*         SAME AS FMC63.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC*D - SYNC BYTE SEARCH TEST I (DC=16) 
3  FORMAT PRESERVICE FORECAST GROUP FMDC OR FMDD
4  FORMAT FMC*D - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6B001 HEX 
* 
10 FORMAT GENERAL STATUS NON-ZERO AFTER SYNC BYTE WRITE.
11 FORMAT SUCCESSIVELY REPLACE CARDS B19 AND B22. 
12 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
13 FORMAT 
* 
/        ERROR NUMBER 6B002 HEX 
* 
14 FORMAT GENERAL STATUS NON-ZERO AFTER SYNC BYTE SEARCH. 
15 FORMAT SUCCESSIVELY REPLACE CARDS B19 AND B22. 
16 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
17 FORMAT 
* 
/        ERROR NUMBER 6B003 HEX 
* 
20 FORMAT SYNC BYTE MISCOMPARE ERROR
21 FORMAT SUCCESSIVELY REPLACE CARDS
22 FORMAT B19, B22, AND A19.
23 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
* 
/        ERROR NUMBER 6B004 HEX 
* 
24 FORMAT GENERAL STATUS NON-ZERO AFTER BAD SYNC BYTE.
25 FORMAT SUCCESSIVELY REPLACE CARDS B19 AND B22. 
26 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
27 FORMAT 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC*DA - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/ 
* 
31 MSG 1 TO LINE 1
   MSG 2 (B13) TO LINE 2
   IF (B15.AND.FLAG1S.NE.0) GOTO 32 
   MSG 4 (B13,EA,B0,EC) TO LINE 3 
   EXIT TO 670               *DISPLAY UNEXPECTED ERRORS 
32 MSG 3 TO LINE 3
   MSG 4(B13,EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.153) GOTO 45 
   IF (EC.EQ.0) GOTO 45 
   IF (EC.GT.4) EXIT TO 63B 
* 
/        ERROR NUMBER 6B001 HEX 
* 
40 IF (EC.NE.1) GOTO 41 
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98R
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98R
* 
/        ERROR NUMBER 6B002 HEX 
* 
41 IF (EC.NE.2) GOTO 42 
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98R
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98R
* 
/        ERROR NUMBER 6B003 HEX 
* 
42 IF (EC.NE.3) GOTO 43 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 21 TO LINE 14
   MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98T
* 
/        ERROR NUMBER 6B004 HEX 
* 
43 IF (EC.NE.4) GOTO 45 
   MSG 24 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98R
   MSG 25 TO LINE 14
   MSG 26 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98R
/ 
45 MSG 30(B13,EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC63B,LSFMD1(16),LOCK
*   5.2.34.2 FMC63B - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC98R - DISPLAY DETAILED STATUS
*         FMC98T - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC63.
* 
*         BUFFERS USED- 
*         SAME AS FMC63.
* 
* 
* 
/        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC*D - SYNC BYTE SEARCH TEST I (DC=16) 
3  FORMAT PRESERVICE FORECAST GROUP FMDC OR FMDD
4  FORMAT FMC*D - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6B005 HEX 
* 
10 FORMAT NO SYNC BYTE MISCOMPARE WHEN FORCED 
11 FORMAT SUCCESSIVELY REPLACE CARDS B19, B22, AND B21. 
12 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
13 FORMAT 
* 
/        ERROR NUMBER 6B006 HEX 
* 
14 FORMAT DRIVE RESERVED BY OPPOSITE ACCESS STATUS
15 FORMAT SUCCESSIVELY REPLACE CARDS B04, B17, B13, AND A20.
16 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
17 FORMAT 
* 
/        ERROR NUMBER 6B007 HEX 
* 
20 FORMAT DRIVE MALFUNCTION/INTERFACE FAULT 
21 FORMAT SUCCESSIVELY REPLACE CARDS B01, B02, B03, B04,
22 FORMAT B14, B15, B16, B17, B22, B19, AND B21.
23 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
24 FORMAT B22, B19, AND B21.
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE UNIT TO 63B 
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC*DB - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   MSG 2 (B13) TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(B13,EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.153) GOTO 45 
   IF (EC.EQ.0) GOTO 45 
   IF (EC.GT.7) GOTO 45 
* 
/        ERROR NUMBER 6B005 HEX 
* 
40 IF (EC.NE.5) GOTO 41 
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98T
* 
/        ERROR NUMBER 6B006 HEX 
* 
41 IF(EC.NE.6) GOTO 42
   MSG 14 TO LINE 12
   IF(P4.AND.4000.EQ.0) EXIT TO 98R 
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98R
* 
/        ERROR NUMBER 6B007 HEX 
* 
42 IF (EC.NE.7) GOTO 45 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98R
   MSG 21 TO LINE 14
   IF(SB(UNIT).AND.10.NE.0)MSG 22 TO LINE 15
   IF(SB(UNIT).AND.10.EQ.0)MSG 24 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98R
/ 
45 MSG 30(B13,EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC64,LSFMD1(16),LOCK 
** 5.2.35  FMC64 - SYNC BYTE SEARCH TEST II (DC=16) 
* 
*         PURPOSE-
*         FMC64 VERIFIES THE OPERATION OF THE SYNC BYTE DETECTOR
*         ON THE LOW ORDER DATA PATH BOARD. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 885-1X (DEVICE CODE 16) IS 
*         ASSIGNED TO THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR SYNC BYTE = 20 TO 37 
*           SEEK TO CYL 842 TRK 0 SCT 0.
*           SET CONTROL SELECT ON NOC 8.
*           PLACE SYNC BYTE IN NOC 2
*           WRITE A SYNC BYTE IN THE MIDDLE OF THE SECTOR 
*           CHECK GENERAL STATUS
*           SEEK TO CYL 842 TRK 0 SCT 0.
*           SET CONTROL SELECT ON NOC 8.
*           PLACE SYNC BYTE IN NOC 2
*           READ THE SYNC BYTE AT THE WRONG TIME (EXPECT NO ERROR)
*           CHECK GENERAL STATUS. 
*           CHECK SYNC BYTE MISCOMPARE STATUS.
*           MASTER CLEAR CONTROL LOGIC
*         ENDO
/ 
*         ENTRY-
*         SECTOR 0, TRACK 0, CYLINDER 842 MUST CONTAIN ALL ZEROES.
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS 
* 
*         SUBMODULES REFERENCED-
*         FMC63A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - (NOT USED) 
*         B5 - CURRENT SYNC BYTE PATTERN
*         B6 - CYLINDER FOR SEEK (842D) 
*         B7 - TRACK FOR SEEK (0) 
*         B8 - SECTOR FOR SEEK (0)
*         B9 - ABORT TYPE INDEX 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         NONE
* 
*         REMARKS-
* 
*         STANDARD SECTOR FORMAT FOR 885-S--
* 
*                      DECIMAL        OCTAL 
*         FIELD      BITS  BYTES   BITS  BYTES  COMMENTS
*         ---------  ----  ----   -----  -----
*         01          400    50     620     62   STARTS AT LEADING EDGE 
*         ADDRESS      40     5      50      5     OF INDEX 
*         ECC          48     6      60      6
*         02          216    27     330     33
*         SYNC BYTE     8     1      10      1
*         DATA       3864   483    7430    743
*         ECC          48     6      60      6
*         PAD          48     6      60      6
*         ---------  ----  ----   -----  -----
*         TOTAL      4672   101   11100   1110
* 
* 
*         WRITE A SYNC BYTE IN THE DATA FIELD-- 
* 
*                              DECIMAL        OCTAL 
*         FIELD              BITS  BYTES   BITS  BYTES  COMMENTS
*         -----------------  ----  -----   ----  -----  --------
*         INDEX MARK START, 
*         PROCESSOR CLOCK.    215     26+   327     32+ 
*         READ GATE AND 
*         PROCESSOR CLOCK.    333     41+   515     51+ 
*         DROP READ GATE, 
*         PROCESSOR CLOCK.   2563    320+  5003    500+ 
*         ECC S.C.,WRT ECC, 
*         WRT GATE, 16-BIT, 
*         WRITE CLOCK.        188     23+   274     27+ 
*         WRT GATE, 16-BIT, 
*         WRT SYNC, WRT CLK.   31      3+    37      3+ 
*         WRT GATE, 16-BIT, 
*         WRT SYNC, WRT CLK.   88     11    130     13
* 
* 
*         READ A SYNC BYTE IN THE DATA FIELD AT INCORRECT TIME--
* 
*                              DECIMAL        OCTAL 
*         FIELD              BITS  BYTES   BITS  BYTES  COMMENTS
*         -----------------  ----  -----   ----  -----  --------
*         INDEX MARK START, 
*         PROCESSOR CLOCK.    215     26+   327     32+ 
*         READ GATE AND 
*         PROCESSOR CLOCK.   3061    382+  5765    576+ 
*         FAST START, READ
*         GATE, PROC CLOCK.   107     13+   153     15+ 
*         SYNC BYTE SEARCH, 
*         READ GATE, AND
*         DRIVE CLOCK.          8      1     10      1
* 
* 
1  FORMAT FMC64 - SYNC BYTE SEARCH TEST II (DC=16)
2  FORMAT FMC64 - LC=*DECD, EC=*DECD
4  FORMAT FMC64 ERROR(S) = *DECD
5  FORMAT // FMC64 NOT EXECUTED, NEEDS AL=0004, AL=*OCTB // 
6  FORMAT // FMC64 DRIVES DISABLED, P5=XXX1  // 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE BUSY TO 2 
   EQUATE NPAT TO 20         *NUMBER OF DATA PATTERNS 
* 
/         DISPLAY TITLE MESSAGE 
* 
20 MSG 1 TO DISPLAY, PRINT
* 
/         CHECK FOR DRIVES DISABLED.
* 
   IF (P5.AND.1.EQ.0) GOTO 21 
   MSG 6 TO DISPLAY, PRINT
   EXIT 
* 
/         CHECK ACCESS LEVEL
* 
21 IF (AL.GE.4) GOTO 22      *ACCESS LEVEL CHECK
   MSG 5 (AL) TO PRINT,DISPLAY
   EXIT 
* 
/         INITIALIZE. 
* 
22 B0 = 153                  *TEST NUMBER 6B HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B13 = 64D                 *MODULE NUMBER 64D 
* 
/         RESERVE, CONNECT, ETC.
* 
30 B1 = B1 + 1               *INCREMENT LOOP COUNTER
   B9 = 5 
   RES, DRIVE, ABT 31 
   GOTO 40
31 IF(SB(0).EQ.10B) ERROR 3/6, GOTO 67
   IF(SB(0).NE.5020B) GOTO 70 
   IF(SB(15).AND.377.EQ.0) GOTO 70
   IF(SB(16).AND.32.EQ.20) ERROR 3/7, GOTO 67 
   GOTO 70
* 
/         PERFORM SYNC BYTE SEARCH TEST.
* 
40 B5 = B2 + 20B             *SYNC BYTE PATTERN 
* 
   GOSUB 62                  *SEEK
/                       *WRITE SYNC BYTE IN MIDDLE OF SECTOR
   B9 = 22
   CONTROL 0,327,100,300,ABT 70  *INDEX MK START + PROC CLK 
   CONTROL 1,115,100,4,ABT 70    *RD GATE + PROC CLK
   CONTROL 12,3,100,0,ABT 70     *DROP RD GATE + PROC CLK 
   CONTROL 0,274,24,12,ABT 70    *ECC, WRT GATE + WRT CLK 
   CONTROL 0,37,0,13,ABT 70      *WRT GATE, SYNC, + CLOCK 
   CONTROL 0,130,24,12,ABT 70    *WRT SYNC + WRT CLK
   CONTROL 0,0,0,0,EXECUTE,ABT 70  *EXEC CTRL WD SEQ
* 
   GOSUB 61                  *CHECK GENERAL STATUS
   IF (SB(0).NE.0) ERROR 3/1, GOTO 67 
   GOSUB 62                  *SEEK
* 
/                            *READ SYNC BYTE AT WRONG TIME
   B9 = 22
   CONTROL 0,327,100,300,ABT 70  *INDEX MK START + PROC CLK 
   CONTROL 13,365,100,4,ABT 70   *RD GATE + PROC CLK
   CONTROL 0,153,100,24,ABT 70   *FAST START,RD GATE,PRC CLK
   CONTROL 0,10,40,44,ABT 70     *SYNC BYTE SEARCH,RD GATE
   CONTROL 0,0,0,0,EXECUTE,ABT 70  *EXEC CTRL WD SEQ
* 
   GOSUB 61                  *CHECK GENERAL STATUS
   IF (SB(0).NE.0) ERROR 3/4, GOTO 67 
* 
   B9 = 20
   STATUS CHANNEL,ABT 70     *CHECK FOR MISCOMPARE BIT
   IF (SB(4).AND.1.EQ.0) ERROR 3/5, GOTO 67 
* 
   B9 = 23
   FLAG PULSE,CH=1,ABT 70    *MASTER CLEAR CONTROL LOGIC
* 
/         FINALIZE. 
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   B9 = 25
   REL, ABT 70                   *RELEASE SUBSYSTEM TO OS 
   GOTO 30 WHILE (B2+1.LT.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 77                   *TERMINATE MODULE
* 
/         GENERAL AND DETAILED STATUS SUBROUTINE
* 
61 B9 = 16
   STATUS GENERAL,ABT 70     *GET GENERAL STATUS
   B9 = 17
   STATUS DETAIL,ABT 70      *GET DETAILED STATUS 
   IF(SB(0).NE.5020B) RETURN
   IF(SB(15).AND.377.EQ.0) RETURN 
   IF(SB(16).AND.32.EQ.20) ERROR 3/7, GOTO 67 
   RETURN 
* 
/         SEEK CYLINDER 842D, TRACK 0, SECTOR 0 
* 
62 B6 = 842D                 *CYLINDER
   B7 = 0                    *TRACK 
   B8 = 0                    *SECTOR
   B9 = 24
   SEEK CYL B6 TRK B7 SEC B8,ABT 70 
   B9 = 21
   OUT,CH=8,0,106,ABT 70     *SET CONTROL SELECT
   OUT,CH=2,0,B5,ABT 70      *SET SYNC BYTE PATTERN 
   RETURN 
* 
/         PROCESS EXPECTED ERRORS.
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/         PROCESS UNEXPECTED ERRORS.
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
   ENDSUB 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 30                   *GO TO REPEAT CONDITION
* 
/         CALL APPROPRIATE DISPLAY SUBMODULE. 
* 
74 CALL 63A                  *EXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 30
* 
/        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 22
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC65,LSFMD1(16),LOCK 
** 5.2.36 FMC65 - ECC REGISTER TEST (DC=16) 
* 
*         PURPOSE-
*         FMC65 VERIFIES THE ABILITY OF THE ECC REGISTER TO RECEIVE,
*         RETAIN, AND RETURN ASSORTED DATA PATTERNS.
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 885-1X (DEVICE CODE 16) IS 
*         ASSIGNED TO THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR ALL PATTERNS 
*           CLEAR ECC REGISTER BY SENDING FLAG PULSE 3
*           LOAD DATA PATTERN INTO NOC-S 12, 13, AND 14 
*           LOAD ECC REGISTER BY SENDING FLAG PULSE 11
*           READ ECC REGISTER 
*           COMPARE CONTENTS WITH DATA PATTERN
*         ENDO
/ 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC65A - REPORT EXPECTED ERRORS 
*         FMC670 - REPORT UNEXPECTED ERRORS 
*         FMC98S - GENERATE 48-BIT DATA PATTERNS
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - TEMPORARY STORAGE
*         B6 - TEMPORARY STORAGE
*         B7 - HEAD INDEX 
*         B8 - REGISTER INDEX 
*         B9 - ABORT TYPE INDEX 
*         B14- TEMPORARY STORAGE
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         OB(3) - OB(10) = 8-BIT DATA RECIEVED
*         OB(11) - OB(14) = PACKED DATA RECIEVED
*         OB(100) - OB(217) = 48-BIT DATA PATTERNS
* 
1  FORMAT FMC65 - ECC REGISTER TEST (DC=16) 
2  FORMAT FMC65 - LC=*DECD, EC=*DECD
4  FORMAT FMC65 ERROR(S) = *DECD
5  FORMAT EXPECTED  *OCT *OCT *OCT *OCT 
6  FORMAT ACTUAL    *OCT *OCT *OCT *OCT 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE NPOL TO 72D        *NUMBER OF POLY. PATTERNS
* 
* 
* 
20 MSG 1 TO DISPLAY, PRINT
* 
/        INITIALIZE.
* 
21 B0=154                    *TEST NUMBER 6C HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B13 = 65D                 *MODULE NUMBER 65D 
   CALL 98S                  *GENERATE 48 BIT DATA PATTERN
* 
/        PERFORM ECC REGISTER TEST. 
* 
40 B1=B1+1
   B9 = 13
   RES CONTROLLER, ABT 70    *RESERVE CONTROLLER
* 
/         CLEAR REGISTER
* 
   B9 = 23
   FLAG PULSE CH=3, ABT 70   *CLEAR ECC REGISTER
* 
/         PACK DATA 
* 
   B5=OB(B2+100).RS.4        *BITS 00 TO 07 
   B14=OB(B2+100).AND.17.LS.4 
   B6=OB(B2+101).RS.8+B14    *BITS 08 TO 15 
   B9 = 21
   OUT CH=12D,B5,B6,ABT 70   *POLYNOMIAL PARCEL I 
* 
   B5=OB(B2+101).AND.377     *BITS 16 TO 23 
   B6=OB(B2+102).RS.4        *BITS 24 TO 31 
   OUT CH=13D,B5,B6,ABT 70   *POLYNOMIAL PARCEL II
* 
   B14=OB(B2+102).AND.17.LS.4 
   B5=OB(B2+103).RS.8+B14    *BITS 32 TO 39 
   B6=OB(B2+103).AND.377     *BITS 40 TO 47 
   OUT CH=14D,B5,B6,ABT 70   *POLYNOMIAL PARCEL III 
* 
/         LOAD REGISTER 
* 
   B8 = 0                    *INIT. REG. INDEX
   B9 = 23
   FLAG PULSE CH=11D,ABT 70  *LOAD ECC REGISTER 
* 
/         READ REGISTER 
* 
   B9 = 21
   OUT CH=3,0,B8,ABT 70      *SELECT BITS 00 TO 15
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ CHANNEL STATUS 
   OB(3)=SB(7)
   OB(4)=SB(8)
* 
   B8 = B8 + 1
   B9 = 21
   OUT CH=3,0,B8,ABT 70      *SELECT BITS 16 TO 31
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ CHANNEL STATUS 
   OB(5)=SB(7)
   OB(6)=SB(8)
* 
   B8 = B8 + 1
   B9 = 21
   OUT CH=3,0,B8,ABT 70      *SELECT BITS 32 TO 47
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ CHANNEL STATUS 
   OB(7)=SB(7)
   OB(10)=SB(8) 
* 
/         UNPACK DATA RECEIVED FROM ECC REGISTER
* 
   B14=OB(3).LS.4 
   OB(11)=OB(4).RS.4+B14
   B14=OB(4).AND.17.LS.8
   OB(12)=OB(5)+B14 
   B14=OB(6).LS.4 
   OB(13)=OB(7).RS.4+B14
   B14=OB(7).AND.17.LS.8
   OB(14)=OB(10)+B14
* 
/         COMPARE DATA
* 
   WC = 4                    *INITIALIZE WORD COUNT 
   COMPARE OB(11) TO OB(B2+100) FOR WC, ABT 65
* 
/         FINALIZE. 
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 40 WHILE (B2+4.LE.NPOL)  *END OF DATA PATTERN LOOP
   GOTO 77                       *TERMINATE MODULE
* 
/         DISPLAY DATA ERRORS 
* 
65 ERROR 3/1
   MSG 5 4 WORDS FROM OB(B2+100) TO LINE 7
   MSG 6 4 WORDS FROM OB(11) TO LINE 10 
*  GOTO 67
* 
/         PROCESS EXPECTED ERRORS.
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/         PROCESS UNEXPECTED ERRORS.
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/         CALL APPROPRIATE DISPLAY SUBMODULE. 
* 
74 IF(EC.LT.4000B) CALL 65A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) MSG 1 TO LINE 2
   IF(EC.GE.4000B) CALL 670  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC65A,LSFMD1(16),LOCK
*   5.2.36.1 FMC65A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-NONE. 
* 
*         REGISTERS USED- 
*         SAME AS FMC65.
* 
*         BUFFERS USED- 
*         SAME AS FMC65.
* 
* 
* 
/         COMMON MESSAGES 
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC65 - ECC REGISTER TEST (DC=16) 
3  FORMAT PRESERVICE FORECAST GROUP FMDC
4  FORMAT FMC*D - LINE *OCT - ERROR NUMBER *H*HE
5  FORMAT FMC66 - ECC REGISTER CLEAR TEST (DC=16) 
* 
/         ERROR NUMBER 6C001/6C005 HEX
* 
10 FORMAT BAD DATA PATTERN READ BACK FROM ECC REGISTER
11 FORMAT SUCCESSIVELY REPLACE CARDS
12 FORMAT A12, A17, A20, A21, AND B22.
13 FORMAT 
* 
/         SOFTWARE ERROR MESSAGES.
* 
30 FORMAT FMC*DA - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
* 
* 
31 MSG 1 TO LINE 1
   IF (B13.EQ.65D) MSG 2 TO LINE 2
   IF (B13.EQ.66D) MSG 5 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(B13,EA,B0,EC) TO LINE 5
* 
* 
* 
   IF (B0.NE.154) GOTO 45 
   IF (EC.EQ.0) GOTO 45 
   IF (EC.GT.10) GOTO 45
* 
/         ERROR NUMBER 6C001/6C005 HEX
* 
40 IF (EC.EQ.1) GOTO 41 
   IF (EC.NE.5) GOTO 45 
41 MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) GOTO 77
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   GOTO 77
* 
45 MSG 30(B13,EA,B0,EC,EM) TO LINE 12 
* 
* 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC66,LSFMD1(16),LOCK 
** 5.2.37 FMC66 - ECC REGISTER CLEAR TEST (DC=16) 
* 
*         PURPOSE-
*         FMC66 VERIFIES THE ABILITY OF THE PROCESSOR TO CLEAR THE
*         CONTENTS OF THE ECC REGISTER. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 885-1X (DEVICE CODE 16) IS 
*         ASSIGNED TO THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR ALL PATTERNS 
*           LOAD DATA PATTERN INTO NOC-S 12, 13, AND 14 
*           LOAD ECC REGISTER BY SENDING FLAG PULSE 11
*           CLEAR ECC REGISTER BY SENDING FLAG PULSE 3
*           READ ECC REGISTER 
*           VERIFY THAT CONTENTS ARE ZERO 
*         ENDO
/ 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC670 - REPORT UNEXPECTED ERRORS 
*         FMC65A - REPORT EXPECTED ERRORS 
*         FMC98S - GENERATE 48-BIT DATA PATTERNS
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - TEMPORARY STORAGE
*         B6 - TEMPORARY STORAGE
*         B7 - HEAD INDEX 
*         B8 - REGISTER INDEX 
*         B9 - ABORT TYPE INDEX 
*         B14- TEMPORARY STORAGE
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
*         IB(0) THROUGH IB(3) ALL CONTAIN ZEROES. 
*         OB(100) - OB(217) = 48-BIT DATA PATTERNS
* 
* 
*         REMARKS-
* 
*         KNOWN LIMITATIONS-
* 
1  FORMAT FMC66 - ECC REGISTER CLEAR TEST (DC=16) 
2  FORMAT FMC66 - LC=*DECD, EC=*DECD
4  FORMAT FMC66 ERROR(S) = *DECD
5  FORMAT EXPECTED  *OCT *OCT *OCT *OCT 
6  FORMAT ACTUAL    *OCT *OCT *OCT *OCT 
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE NPOL TO 72D        *NUMBER OF POLY. PATTERNS
* 
* 
* 
20 MSG 1 TO DISPLAY, PRINT
* 
/         INITIALIZE. 
* 
21 B0=154                    *TEST NUMBER 6C HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   B13 = 66D                 *MODULE NUMBER 66D 
   CALL 98S                  *GENERATE 48 BIT DATA PATTERN
* 
/         PERFORM ECC REGISTER CLEAR TEST.
* 
40 B1=B1+1
   B9 = 13
   RES CONTROLLER, ABT 70    *RESERVE CONTROLLER
   B5=OB(B2+100).RS.4        *BITS 00 TO 07 
   B14=OB(B2+100).AND.17.LS.4 
   B6=OB(B2+101).RS.8+B14    *BITS 08 TO 15 
   B9 = 21
   OUT CH=12D,B5,B6,ABT 70   *POLYNOMIAL PARCEL I 
* 
   B5=OB(B2+101).AND.377     *BITS 16 TO 23 
   B6=OB(B2+102).RS.4        *BITS 24 TO 31 
   OUT CH=13D,B5,B6,ABT 70   *POLYNOMIAL PARCEL II
* 
   B14=OB(B2+102).AND.17.LS.4 
   B5=OB(B2+103).RS.8+B14    *BITS 32 TO 39 
   B6=OB(B2+103).AND.377     *BITS 40 TO 47 
   OUT CH=14D,B5,B6,ABT 70   *POLYNOMIAL PARCEL III 
* 
/         LOAD REGISTER 
* 
   B8 = 0                    *INIT. REG. INDEX
   B9 = 23
   FLAG PULSE CH=11D,ABT 70  *LOAD ECC REGISTER 
* 
/         CLEAR REGISTER
* 
   FLAG PULSE CH=3,ABT 70    *CLEAR ECC REGISTER
* 
/         READ REGISTER 
* 
   B9 = 21
   OUT CH=3,0,B8,ABT 70      *SELECT BITS 00 TO 15
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ CHANNEL STATUS 
   OB(3)=SB(7)
   OB(4)=SB(8)
* 
   B8 = B8 + 1
   B9 = 21
   OUT CH=3,0,B8,ABT 70      *SELECT BITS 16 TO 31
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ CHANNEL STATUS 
   OB(5)=SB(7)
   OB(6)=SB(8)
* 
   B8 = B8 + 1
   B9 = 21
   OUT CH=3,0,B8,ABT 70      *SELECT BITS 32 TO 47
   B9 = 20
   STATUS CHANNEL, ABT 70    *READ CHANNEL STATUS 
   OB(7)=SB(7)
   OB(10)=SB(8) 
* 
/         UNPACK DATA RECEIVED FROM ECC REGISTER
* 
   B14=OB(3).LS.4 
   OB(11)=OB(4).RS.4+B14
   B14=OB(4).AND.17.LS.8
   OB(12)=OB(5)+B14 
   B14=OB(6).LS.4 
   OB(13)=OB(7).RS.4+B14
   B14=OB(7).AND.17.LS.8
   OB(14)=OB(10)+B14
* 
/         COMPARE DATA
* 
   WC = 4                    *INITIALIZE WORD COUNT 
   COMPARE OB(11) TO IB(0) FOR WC, ABT 65 
* 
/         FINALIZE. 
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 40 WHILE (B2+4.LE.NPOL)  *END OF DATA PATTERN LOOP
   GOTO 77                       *TERMINATE MODULE
* 
/         DISPLAY DATA ERRORS 
* 
65 ERROR 3/5
   MSG 5 4 WORDS FROM IB(0) TO LINE 7 
   MSG 6 4 WORDS FROM OB(11) TO LINE 10 
*  GOTO 67
* 
/         PROCESS EXPECTED ERRORS.
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/         PROCESS UNEXPECTED ERRORS.
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/         CALL APPROPRIATE DISPLAY SUBMODULE. 
* 
74 IF(EC.LT.4000B) CALL 65A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) MSG 1 TO LINE 2
   IF(EC.GE.4000B) CALL 670  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/         TERMINATE.
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC67,LSFMD1(16),LOCK 
** 5.2.38 FMC67 - ECC FUNCTIONAL TEST (DC=16) 
* 
*         PURPOSE-
*         FMC67 VERIFIES THAT THE ECC LOGIC FUNCTIONS PROPERLY. 
*         IT USES THE READ FUNCTION TO CHECK THE CHECKWORD OF ALL 
*         THE SECTORS ON THE CE (PRE-ALLOCATED) CYLINDER (842D).
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 885-1X (DEVICE CODE 16) IS 
*         ASSIGNED TO THE DIAGNOSTIC. 
* 
*         METHOD- 
*         RESERVE CONTROLLER
*         CHECK DRIVE SELECTED AND RESERVED STATUS. 
*         RESERVE DRIVE.
*         CHECK GENERAL AND DETAILED STATUS.
*         WRITE 8 SECTORS.
*         READ 8 SECTORS. 
*         IF READ OR WRITE ABORT, CHECK GENERAL AND DETAILED STATUS.
/ 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC670 - REPORT UNEXPECTED ERRORS 
*         FMC67A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - DIFFERENCE BETWEEN ACTUAL AND EXPECTED VALUES
*         B5 - NUMBER OF SECTORS TO READ
*         B6 - CYLINDER ADDRESS (842D)
*         B7 - TRACK ADDRESS (0)
*         B8 - SECTOR ADDRESS (0) 
*         B9 - ABORT TYPE INDEX 
*         B10- TEMPORARY STORAGE
*         B11- TEMPORARY STORAGE
*         ES, EC, EM, EA - STANDARD USAGE 
* 
*         BUFFERS USED- 
* 
*         REMARKS-
* 
*         KNOWN LIMITATIONS-
* 
1  FORMAT FMC67 - ECC FUNCTIONAL TEST (DC=16) 
2  FORMAT FMC67 - LC=*DECD, EC=*DECD
4  FORMAT FMC67 ERROR(S) = *DECD
5  FORMAT // FMC67 NOT EXECUTED, NEEDS AL.LT.21B // 
6  FORMAT // FMC67 DRIVES DISABLED, P5=XXX1 //
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE DSR TO 20B         *DRIVE SELECTED AND RESERVED 
* 
/         CHECK FOR DRIVES DISABLED.
* 
20 MSG 1 TO DISPLAY, PRINT
   IF (P5.AND.1.EQ.0) GOTO 21 
   MSG 6 TO DISPLAY, PRINT
   EXIT 
* 
/         CHECK FOR AL.LT.21
* 
21 IF (AL.LT.21) GOTO 22
   MSG 5 TO DISPLAY, PRINT
   EXIT 
* 
/         INITIALIZE. 
* 
22 B0=154                    *TEST NUMBER 6C HEX
   B1=0                      *LOOP COUNT
   B3=0                      *ERROR COUNT 
   B13 = 67D                 *MODULE NUMBER 67D 
   B6=842D                   *CYLINDER
* 
/         TEST DRIVE SELECTED AND RESERVED HARDWARE.
* 
40 B1 = B1 + 1               *INCREMENT LOOP COUNTER
   B9 = 13
   RES CONTROLLER, ABT 70 
   B9 = 23
   FLAG PULSE CH=1,ABT 70    *MASTER CLEAR CONTROLLER 
   B9 = 20
   STATUS CHANNEL, ABT 70    *COPY CHANNEL STATUS 
   IF(SB(21).AND.DSR.NE.0) ERROR 3/12, GOTO 67
   B9 = 5 
   RES DRIVE, ABT 41         *RESERVE DRIVE TEST
   GOTO 43
41 MSG EM TO LINE 7 
   IF(SB(0).EQ.10) ERROR 3/15, GOTO 67
   IF(SB(0).NE.5020B) GOTO 42 
   IF(SB(15).AND.377.EQ.0) GOTO 70
   IF(SB(16).AND.32.EQ.20) ERROR 3/16, GOTO 67
42 IF(SB(0).NE.2) GOTO 70 
   IF(SB(15).AND.1000.NE.0) ERROR 17/17, GOTO 67
   GOTO 70
* 
/         WRITE 8 SECTORS.
* 
43 B7 = 0                    *TRACK 
   B8=0                      *SECTOR
   B5=8D                     *NUMBER OF SECTORS 
   B9 = 14
   WRITE B5 SECTORS AT CYL B6, TRK B7, SEC B8, ABT 50 
* 
/         READ 8 SECTORS. 
* 
   B7=0                      *TRACK 
   B8=0                      *SECTOR
   B5=8D                     *NUMBER OF SECTORS 
   B9 = 15
   READ B5 SECTORS AT CYL B6, TRK B7, SEC B8, ABT 50
* 
/         FINALIZE. 
* 
   IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 77                       *TERMINATE MODULE
* 
/         PROCESS ABORT ON WRITE OR READ COMMAND. 
* 
50 IF (LF.AND.776.NE.4) GOTO 51       *IF ABT AFTER STATUS
   B10 = B9 
   B9 = 16
   STATUS GENERAL, ABT 70             *GENERAL STATUS 
   B9 = 17
   STATUS DETAIL, ABT 70              *DETAILED STATUS
   B9 = B10 
51 B5 = 0 
   IF(SB(25) NE 0) B5=25              *IF RETRY ATTEMPTED 
   MSG EM TO LINE 7 
   IF(SB(B5+2).AND.4000.NE.0) ERROR 7/11, GOTO 67 
   IF(SB(B5+1).AND.10.NE.0) ERROR 3/13, GOTO 67 
   IF(SB(B5+2).AND.1000.NE.0) ERROR 10/11, GOTO 67
   IF(SB(B5+21).AND.4.NE.0) ERROR 3/14, GOTO 67 
   IF(SB(B5).NE.5000B) GOTO 70
   IF(SB(B5+20).AND.4000.NE.0) ERROR 15/20, GOTO 67 
   IF(SB(B5+20).AND.40.NE.0) ERROR 16/17, GOTO 67 
   GOTO 70
* 
/         PROCESS EXPECTED ERRORS.
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/         PROCESS UNEXPECTED ERRORS.
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/         CALL APPROPRIATE DISPLAY SUBMODULE. 
* 
74 IF(EC.LT.4000B) CALL 67A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) MSG 1 TO LINE 2
   IF(EC.GE.4000B) CALL 670  *UNEXPECTED ERROR DISPLAY
* 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/        TERMINATE. 
* 
77 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   EXIT 
   END 20 
COMPILE 
   MODULE FMC67A,LSFMD1(16),LOCK
*   5.2.38.1 FMC67A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC67B - PROCESS HIGHER ERROR NUMBERS.
*         FMC98R - DISPLAY DETAILED STATUS
*         FMC98T - DISPLAY CHANNEL STATUS.
* 
*         REGISTERS USED- 
*         SAME AS FMC67.
* 
*         BUFFERS USED- 
*         SAME AS FMC67.
* 
* 
* 
*        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC67 - ECC FUNCTIONAL TEST (DC=16) 
3  FORMAT PRESERVICE FORECAST GROUP FMDC OR FMDD
4  FORMAT FMC67 - LINE *OCT - ERROR NUMBER *H*HE
* 
/         ERROR NUMBER 6C009 HEX
* 
7  FORMAT ADDRESS CHECKWORD ERROR 
10 FORMAT DATA CHECKWORD ERROR
11 FORMAT IF THE CE CYLINDER IS KNOWN TO BE WITHOUT FLAW AND
12 FORMAT PROPERLY FORMATTED, SUCCESSIVELY REPLACE CARDS
13 FORMAT A*D, B*D, B20, A17, AND A21.
* 
/         ERROR NUMBER 6C00A HEX
* 
14 FORMAT DRIVE SELECTED AND RESERVED STATUS STUCK-AT-ONE 
15 FORMAT SUCCESSIVELY REPLACE CARDS B01, B14, AND A18. 
16 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
17 FORMAT 
* 
/         ERROR NUMBER 6C00B HEX
* 
20 FORMAT ADDRESS ERROR (DETAILED STATUS WORD 1)
21 FORMAT SUCCESSIVELY REPLACE CARDS
22 FORMAT B20, B19, AND A20.
23 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
* 
/         ERROR NUMBER 6C00C HEX
* 
24 FORMAT CONTROLLER CHANNEL ACTIVE ERROR 
25 FORMAT SUCCESSIVELY REPLACE CARDS
26 FORMAT A15, B22, B20, AND R/T CARD(A01/A02/A03/A04). 
27 FORMAT 
* 
/         SOFTWARE ERROR MESSAGES.
* 
30 FORMAT FMC67A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
* 
* 
   IF (B0.NE.154) GOTO 45 
   IF (EC.LT.11) GOTO 45
   IF (EC.GT.14) EXIT TO 67B
* 
/         ERROR NUMBER 6C009 HEX
* 
40 IF (EC.NE.11) GOTO 41
   MSG EM TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98R
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 (12D,22D) TO LINE 16
   EXIT TO 98R
* 
/         ERROR NUMBER 6C00A HEX
* 
41 IF(EC.NE.12) GOTO 42 
   MSG 14 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98T
   MSG 15 TO LINE 14
   MSG 16 TO LINE 15
   MSG 17 TO LINE 16
   EXIT TO 98T
* 
/         ERROR NUMBER 6C00B HEX
* 
42 IF(EC.NE.13) GOTO 43 
   MSG 20 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98R
   MSG 21 TO LINE 14
   MSG 22 TO LINE 15
   MSG 23 TO LINE 16
   EXIT TO 98R
* 
/         ERROR NUMBER 6C00C HEX
* 
43 IF (EC.NE.14B) GOTO 45 
   MSG 24 TO LINE 12
   IF(P4.AND.4000.EQ.0) EXIT TO 98R 
   MSG 25 TO LINE 14
   MSG 26 TO LINE 15
   MSG 27 TO LINE 16
   EXIT TO 98R
* 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC67B,LSFMD1(16),LOCK
*   5.2.38.2 FMC67B - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC98R - DISPLAY DETAILED STATUS
* 
*         REGISTERS USED- 
*         SAME AS FMC67.
* 
*         BUFFERS USED- 
*         SAME AS FMC67.
* 
* 
* 
*        COMMON MESSAGES
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC67 - ECC FUNCTIONAL TEST (DC=16) 
3  FORMAT PRESERVICE FORECAST GROUP FMDC OR FMDD
4  FORMAT FMC67 - LINE *OCT - ERROR NUMBER *H*HE
* 
/         ERROR NUMBER 6C00D HEX
* 
5  FORMAT DRIVE RESERVED BY OPPOSITE ACCESS STATUS
6  FORMAT SUCCESSIVELY REPLACE CARDS
7  FORMAT B04, B17, B13, AND A20. 
10 FORMAT POSSIBLE BAD DRIVE CABLE OR DRIVE FAILURE.
* 
/         ERROR NUMBER 6C00E HEX
* 
11 FORMAT DRIVE MALFUNCTION/INTERFACE FAULT 
12 FORMAT SUCCESSIVELY REPLACE CARDS B01, B02, B03, B04,
13 FORMAT B14, B15, B16, B17, B22, B19, AND B21.
14 FORMAT B22, B19, AND B21.
* 
/         ERROR NUMBER 6C00F/6C010 HEX
* 
15 FORMAT CONTROLLER LOST DRIVE CLOCK ERROR 
16 FORMAT CONTROLLER PROCESSOR INSTRUCTION TIMEOUT ERROR
17 FORMAT CONTROLLER AND/OR DRIVE BUSY
20 FORMAT B*D AND B*D.
21 FORMAT B02, B21, B22, B19, B20, A19, A18, AND A21. 
22 FORMAT B01 AND A18.
23 FORMAT B*D, B*D, AND B*D.
24 FORMAT B15,B02,B21,B22,B19,B20,A19,A18,AND A21.
25 FORMAT B14, B01, AND A18.
26 FORMAT B*D, B*D, B*D, B*D, AND B*D.
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE UNIT TO 63B 
* 
/         SOFTWARE ERROR MESSAGES.
* 
30 FORMAT FMC67B - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
   IF (B0.NE.154) GOTO 45 
   IF (EC.LT.15) GOTO 45
   IF (EC.GT.20) GOTO 45
* 
/         ERROR NUMBER 6C00D HEX
* 
40 IF (EC.NE.15) GOTO 41
   MSG 5 TO LINE 12 
   IF(P4.AND.4000.EQ.0) EXIT TO 98R 
   MSG 6 TO LINE 14 
   MSG 7 TO LINE 15 
   MSG 10 TO LINE 16
   EXIT TO 98R
* 
/         ERROR NUMBER 6C00E HEX
* 
41 IF (EC.NE.16) GOTO 42
   MSG 11 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98R
   MSG 12 TO LINE 14
   IF(SB(UNIT).AND.10.NE.0)MSG 13 TO LINE 15
   IF(SB(UNIT).AND.10.EQ.0)MSG 14 TO LINE 15
   MSG 10 TO LINE 16
   EXIT TO 98R
* 
/         ERROR NUMBER 6C00F HEX
* 
42 IF (EC.NE.17) GOTO 43
   MSG EM TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98R
   MSG 6 TO LINE 14 
   B10 = EM + 3 
   IF(SB(UNIT).AND.10.NE.0) B10 = B10 + 3 
   MSG B10 TO LINE 15 
   MSG 10 TO LINE 16
   EXIT TO 98R
* 
/         ERROR NUMBER 6C010 HEX
* 
43 IF (EC.NE.20) GOTO 45
   MSG EM TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98R
   MSG 6 TO LINE 14 
   IF(SB(UNIT).AND.10.EQ.0)MSG 20(01D,22D) TO LINE 15 
   IF(SB(UNIT).AND.10.NE.0)MSG 23(14D,01D,22D) TO LINE 15 
   IF (B9.EQ.15) GOTO 44      *IF READ ABORT, 
   IF (SB(21).AND.1.NE.0) GOTO 44   *IF WRITE ADDRESS ERROR,
   IF(SB(UNIT).AND.10.EQ.0)MSG 23(3D,01D,22D) TO LINE 15
   IF(SB(UNIT).AND.10.EQ.0) GOTO 44 
   MSG 26 (16D,03D,14D,01D,22D) TO LINE 15
44 MSG 10 TO LINE 16
   EXIT TO 98R
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC670,LSFMD1(16),LOCK
*   5.2.38.3 FMC670 - REPORT UNEXPECTED ERRORS
* 
*         PURPOSE-
*         FMC670 DISPLAYS INFORMATION EXPANDING ON ALL
*         ERRORS OTHER THAN THOSE WHICH CAN BE INTERPRETED
*         FOR ISOLATION.
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-NONE. 
* 
*         REGISTERS USED- 
*         SAME AS FMC67.
* 
*         BUFFERS USED- 
*         SAME AS FMC67.
* 
* 
* 
* 
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
4  FORMAT FMC*D - LINE *OCTB - ERROR NUMBER *H*HEH
5  FORMAT ABORT ON .RES DRIVE. COMMAND
/ 
6  FORMAT LF = *OCTB      WORD  DETAILED STATUS (OCTAL) 
7  FORMAT                   1   *OCT *OCT *OCT *OCT *OCT
8  FORMAT    GENERAL        6   *OCT *OCT *OCT *OCT *OCT
9  FORMAT STATUS = *OCTB   11D  *OCT *OCT *OCT *OCT *OCT
12 FORMAT                  16D  *OCT *OCT *OCT *OCT *OCT
13 FORMAT ABORT ON .RES CONTROLLER. COMMAND 
14 FORMAT ABORT ON .WRITE. COMMAND
15 FORMAT ABORT ON .READ. COMMAND 
16 FORMAT ABORT ON .STATUS GENERAL. COMMAND 
17 FORMAT ABORT ON .STATUS DETAIL. COMMAND
20 FORMAT ABORT ON .STATUS CHANNEL. COMMAND 
21 FORMAT ABORT ON .OUT CH. COMMAND 
22 FORMAT ABORT ON .CONTROL. COMMAND
23 FORMAT ABORT ON .FLAG PULSE. COMMAND 
24 FORMAT ABORT ON .SEEK. COMMAND 
25 FORMAT ABORT ON .REL. COMMAND
30 FORMAT UNEXPECTED ERROR
31 MSG 1 TO LINE 1
   MSG 4 (B13,EA,B0,EC) TO LINE 3 
   MSG 30 TO LINE 5 
   MSG B9 TO LINE 6 
   MSG EM TO LINE 7 
   MSG 6 (LF) TO LINE 11
   MSG 7 (SB(1),SB(2),SB(3),SB(4),SB(5)) TO LINE 12 
   MSG 8 (SB(6),SB(7),SB(8),SB(9),SB(12)) TO LINE 13
   MSG 9(SB(0),SB(13),SB(14),SB(15),SB(16),SB(17))TO LINE 14
   MSG 12(SB(20),SB(21),SB(22),SB(23),SB(24)) TO LINE 15
   PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC69,LSFMD2(16),LOCK 
** 5.2.39 FMC69 - WRITE VERIFY TEST (DC=16) 
* 
*         PURPOSE-
*         FMC69 USES A WRITE VERIFY OPERATION TO ESTABLISH A FINAL
*         CONFIDENCE IN THE OPERABILITY OF THE CONTROLLER.  IT DOES NOT 
*         RELY ON ANY CONTROLLER LOGIC WHICH HAS NOT BEEN PREVIOUSLY
*         VERIFIED TO SOME EXTENT.  IF FMC69 FAILS, EITHER THE DRIVE OR 
*         CONTROLLER COULD BE AT FAULT. 
*         THIS MODULE ALLOWS THE CONTROLLER HARDWARE TO BE TESTED AT A
*         LOWER ACCESS LEVEL WHEN AN 885-1X (DEVICE CODE 16) IS 
*         ASSIGNED TO THE DIAGNOSTIC. 
* 
*         METHOD- 
*         DO FOR ALL PATTERNS 
*           FILL THE BUFFER 
*           WRITE A SECTOR
*           WRITE VERIFY THE SECTOR 
*           IF GENERAL STATUS IS NOT ZERO, THEN 
*             REPORT ERROR
*           ENDIF 
*           INVERT A BIT
*           WRITE VERIFY THE SECTOR 
*           IF GENERAL STATUS DOES NOT INCLUDE ABNORMAL 
*           TERMINATION BIT, THEN 
*             REPORT ERROR
*           ENDIF 
*           IF DETAILED STATUS DOES NOT INCLUDE WRITE VERIFY
*           ERROR BIT, THEN 
*             REPORT ERROR
*           ENDIF 
*         ENDO
/ 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS.
* 
*         EXIT-NO SPECIAL EXIT CONDITIONS.
* 
*         SUBMODULES REFERENCED-
*         FMC690 - REPORT UNEXPECTED ERRORS 
*         FMC69A - REPORT EXPECTED ERRORS 
* 
*         REGISTERS USED- 
*         B0 - TEST NUMBER
*         B1 - LOOP COUNT 
*         B2 - DATA PATTERN INDEX 
*         B3 - ERROR COUNT
*         B4 - NUMBER OF SECTORS
*         B5 - CYLINDER ADDRESS (842D)
*         B6 - TRACK ADDRESS (0)
*         B7 - SECTOR ADDRESS (0) 
*         B9 - ABORT TYPE INDEX 
*         B15- FLAG WORD
*         ES, EC, EM, EA - STANDARD USAGE 
* 
1  FORMAT FMC69 - WRITE VERIFY TEST (DC=16) 
2  FORMAT FMC69 - LC=*DECD, EC=*DECD
4  FORMAT FMC69 ERROR(S) = *DECD
5  FORMAT ID-SWITCH - CONTROLLER = *H HEX, DRIVE = *H HEX 
6  FORMAT // FMC69 DRIVES DISABLED, P5=XXX1 //
* 
/         FLAG EQUATES
* 
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775
* 
/         MISCELLANEOUS EQUATES 
* 
   EQUATE NPAT TO 07         *NUMBER OF DATA PATTERNS 
* 
/ 
* 
20 MSG 1 TO DISPLAY, PRINT
   IF (P5.AND.1.EQ.0) GOTO 21 
   MSG 6 TO DISPLAY, PRINT
   GOTO 77
* 
/        INITIALIZE.
* 
21 B0=157                    *TEST NUMBER 6F HEX
   B1=0                      *LOOP COUNT
   B2=0                      *DATA PATTERN INDEX
   B3=0                      *ERROR COUNT 
   WC=502 
   BA=0 
   B4=1                      *NUMBER OF SECTORS 
   B5=842D                   *CYLINDER NUMBER 
   B6=0                      *TRACK NUMBER
   B7=0                      *SECTOR NUMBER 
24 IF(B2.EQ.0)DUP 0000B TO OB FOR 502B   0000 PATTERN 
   IF(B2.EQ.1)DUP 7777B TO OB FOR 502B   7777 PATTERN 
   IF(B2.EQ.2)DUP 2525B TO OB FOR 502B   2525 PATTERN 
   IF(B2.EQ.3)DUP 5252B TO OB FOR 502B   5252 PATTERN 
   IF(B2.EQ.4)DUP 1111B TO OB FOR 502B   1111 PATTERN 
   IF(B2.EQ.5)DUP 2222B TO OB FOR 502B   2222 PATTERN 
   IF(B2.EQ.6)DUP 4444B TO OB FOR 502B   4444 PATTERN 
   IF(B2.EQ.7)RANDOM TO OB FOR 502B      RANDOM PATERN
* 
/        PERFORM WRITE VERIFY TEST. 
* 
40 B1=B1+1
   B9 = 13
   RES DRIVE, ABT 70
   B9 = 14
   WRITE B4 SECTORS AT CYL B5, TRK B6, SEC B7, ABT 70 
   B4=1 
   B9 = 15
   VERIFY B4 SECTORS AT CYL B5, TRK B6, SEC B7, ABT 55
   IF (SB(0).NE.0) ERROR 3/1, GOTO 67 
   OB(100)=OB(100).XOR.40    *INVERT A BIT IN THE SECTOR
   B4=1 
   B9 = 15
   VERIFY B4 SECTORS AT CYL B5, TRK B6, SEC B7, ABT 50
   B9 = 16
   STATUS GENERAL, ABT 70 
   B9 = 17
   STATUS DETAIL, ABT 70
   ERROR 3/2, GOTO 67 
* 
50 B9 = 16
   STATUS GENERAL, ABT 70 
   B9 = 17
   STATUS DETAIL, ABT 70
   IF (SB(20).AND.1.EQ.0) ERROR 3/3, GOTO 67
   GOTO 60
55 IF (SB(0).EQ.0) GOTO 70
   ERROR 3/1, GOTO 67 
* 
/        FINALIZE.
* 
60 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 76                       *TERMINATE 
* 
/        PROCESS EXPECTED ERRORS. 
* 
67 B15=B15.OR.FLAG1S         *SET FLAG 1
   GOTO 71
* 
/        PROCESS UNEXPECTED ERRORS. 
* 
70 B15=B15.AND.FLAG1C        *CLEAR FLAG 1
71 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
* 
/        CALL APPROPRIATE DISPLAY SUBMODULE.
* 
74 IF(EC.LT.4000B) CALL 69A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 690  *UNEXPECTED ERROR DISPLAY
/ 
75 IF (ES.AND.RC.NE.0) GOTO 40
* 
/ 
/         TERMINATE.
* 
76 IF (ES.AND.RM.NE.0) GOTO 21
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE 
   IF (SB(4).EQ.0) GOTO 77   *IF NO DETAILED STATUS, EXIT 
   B10=SB(24).AND.377        *MASK FOR CONTROLLER ID-SWITCH 
   B11=SB(7).AND.3.LS.6      *JUSTIFY UPPER 3-BITS DRIVE ID 
   B11=SB(10).RS.6+B11       *MAKE 8-BIT DRIVE ID-SWITCH
   MSG 5 (B10,B11) TO DISPLAY, PRINT, DAYFILE 
77 END 20 
COMPILE 
   MODULE FMC69A,LSFMD2(16),LOCK
*   5.2.39.1 FMC69A - REPORT EXPECTED ERRORS
* 
*         PURPOSE-
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-
*         FMC98Q - DISPLAY GENERAL AND DETAILED STATUS. 
* 
*         REGISTERS USED- 
*         SAME AS FMC69.
* 
*         BUFFERS USED- 
*         SAME AS FMC69.
* 
* 
* 
/        COMMON MESSAGES
* 
5  FORMAT SUCCESSIVELY REPLACE CARDS
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC69 - WRITE VERIFY TEST (DC=16) 
3  FORMAT PRESERVICE FORECAST GROUP FMDC OR FMDD
4  FORMAT FMC69 - LINE *OCT - ERROR NUMBER *H*HE
* 
/        ERROR NUMBER 6F001 HEX 
* 
10 FORMAT WRITE VERIFY FAILED.
11 FORMAT B19, B20, A20, B22, B01, AND B14 (IF PRESENT).
12 FORMAT FAILURE IN EITHER DRIVE OR CONTROLLER.
13 FORMAT DIAGNOSTIC FMD MAY HELP ISOLATE FAILURE.
* 
/        ERROR NUMBER 6F002 HEX 
* 
14 FORMAT FORCING A WRITE VERIFY ERROR DID NOT CAUSE A
15 FORMAT GENERAL STATUS OF 5000. 
16 FORMAT UNKNOWN FAILURE IN EITHER DRIVE OR CONTROLLER.
17 FORMAT DIAGNOSTIC FMD MAY HELP ISOLATE FAILURE.
* 
/        ERROR NUMBER 6F003 HEX 
* 
20 FORMAT FORCING A WRITE VERIFY ERROR DID NOT SET THE
21 FORMAT WRITE VERIFY ERROR BIT IN DETAILED STATUS.
22 FORMAT UNKNOWN FAILURE IN EITHER DRIVE OR CONTROLLER.
23 FORMAT DIAGNOSTIC FMD MAY HELP ISOLATE FAILURE.
* 
/        SOFTWARE ERROR MESSAGES. 
* 
30 FORMAT FMC69A - S/W ERROR, EA=*OCT, EN=*H*HE, EM=*OCT
* 
/ 
* 
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 TO LINE 3
   MSG 4(EA,B0,EC) TO LINE 5
* 
/ 
* 
   IF (B0.NE.157) GOTO 45 
   IF (EC.EQ.0) GOTO 45 
   IF (EC.GT.3) GOTO 45 
* 
/        ERROR NUMBER 6F001 HEX 
* 
40 IF (EC.NE.1) GOTO 41 
   MSG 10 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98Q
   MSG 5 TO LINE 13 
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98Q               *DISPLAY STATUS
* 
/        ERROR NUMBER 6F002 HEX 
* 
41 IF (EC.NE.2) GOTO 42 
   MSG 14 TO LINE 11
   MSG 15 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98Q
   MSG 5 TO LINE 13 
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98Q               *DISPLAY STATUS
* 
/        ERROR NUMBER 6F003 HEX 
* 
42 IF (EC.NE.3) GOTO 45 
   MSG 20 TO LINE 11
   MSG 21 TO LINE 12
   IF (P4.AND.4000.EQ.0) EXIT TO 98Q
   MSG 5 TO LINE 13 
   MSG 11 TO LINE 14
   MSG 12 TO LINE 15
   MSG 13 TO LINE 16
   EXIT TO 98Q
/ 
45 MSG 30(EA,B0,EC,EM) TO LINE 12 
* 
/ 
* 
77 PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC690,LSFMD2(16),LOCK
*   5.2.39.2 FMC690 - REPORT UNEXPECTED ERRORS
* 
*         PURPOSE-
*         FMC690 DISPLAYS INFORMATION EXPANDING ON ALL
*         ERRORS OTHER THAN THOSE WHICH CAN BE INTERPRETED
*         FOR ISOLATION.
* 
*         METHOD- 
* 
*         ENTRY-
* 
*         EXIT- 
* 
*         SUBMODULES REFERENCED-NONE. 
* 
*         REGISTERS USED- 
*         SAME AS FMC69.
* 
*         BUFFERS USED- 
*         SAME AS FMC69.
* 
* 
* 
/ 
* 
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC69 - WRITE VERIFY TEST (DC=16) 
4  FORMAT FMC69 - LINE *OCT - ERROR NUMBER *H*HE
/ 
6  FORMAT LF=*OCTB        WORD  DETAILED STATUS (OCTAL) 
7  FORMAT                   1   *OCT *OCT *OCT *OCT *OCT
8  FORMAT    GENERAL        6   *OCT *OCT *OCT *OCT *OCT
9  FORMAT STATUS = *OCTB   11D  *OCT *OCT *OCT *OCT *OCT
12 FORMAT                  16D  *OCT *OCT *OCT *OCT *OCT
13 FORMAT ABORT ON .RES DRIVE. COMMAND
14 FORMAT ABORT ON .WRITE. COMMAND
15 FORMAT ABORT ON .VERIFY. COMMAND 
16 FORMAT ABORT ON .STATUS GENERAL. COMMAND 
17 FORMAT ABORT ON .STATUS DETAIL. COMMAND
22 FORMAT UNEXPECTED ERROR
31 MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 4 (EA,B0,EC) TO LINE 3 
   MSG 22 TO LINE 5 
   MSG B9 TO LINE 6 
   MSG EM TO LINE 7 
   MSG 6 (LF) TO LINE 11
   MSG 7 (SB(1),SB(2),SB(3),SB(4),SB(5)) TO LINE 12 
   MSG 8 (SB(6),SB(7),SB(8),SB(9),SB(12)) TO LINE 13
   MSG 9(SB(0),SB(13),SB(14),SB(15),SB(16),SB(17))TO LINE 14
   MSG 12(SB(20),SB(21),SB(22),SB(23),SB(24)) TO LINE 15
   PICTURE
   HALT 
   BLANK
   EXIT 
   END 31 
COMPILE 
   MODULE FMC75,6000(05,07,16),LOCK 
** 5.2.40 FMC75 - CONNECT TEST
* 
*         PURPOSE-
*         FMC75 VERIFIES THAT EVERY SELECTED CHANNEL ACCESS CAN CONNECT 
*         TO THE 7155 AND THAT EVERY SELECTED CHANNEL ACCESS CAN CLEAR   FMC015 
*         EVERY OTHER ONE-S CONNECT.  IT MAKES NO ATTEMPT TO MAKE 
*         SIMULTANEOUS CONNECTS.                                         FMC015 
*         THIS MODULE DOES NOT SUPPORT REPEAT CONDITION.
*                                                                        FMC
*         METHOD-                                                        FMC
*         THE SAME NUMBER OF COPIES OF THIS TEST ARE USED AS THERE ARE   FMC
*         SELECTED ACCESSES TO BE TESTED.  SUBMODULE FMC75I, J, K, OR L 
*         IS EXECUTED DEPENDING ON WHETHER THIS IS COPY 0, 1, 2, OR 3,   FMC015 
*         RESPECTIVELY.  SEE THE HEADER OF EACH OF THESE SUBMODULES FOR  FMC015 
*         THE PROCEDURES FOLLOWED.                                       FMC015 
/                                                                        FMC
*         ENTRY-NO SPECIAL ENTRY CONDITIONS                              FMC
*                                                                        FMC
*         EXIT-NO SPECIAL EXIT CONDITIONS                                FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-                                         FMC
*         FMC750 - REPORT UNEXPECTED ERRORS 
*         FMC75A - REPORT EXPECTED ERRORS 
*         FMC75G - CHECK PARAMETERS AND BUILD DISPLAY 
*         FMC75I - CONNECT TEST FOR COPY 0
*         FMC75J - CONNECT TEST FOR COPY 1
*         FMC75K - CONNECT TEST FOR COPY 2
*         FMC75L - CONNECT TEST FOR COPY 3
*         FMC981 - REPORT REPEAT MODULE ERROR 
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         B0 - TEST NUMBER                                               FMC
*         B1 - LOOP COUNT                                                FMC
*         B2 - NUMBER OF ACCESSES BEING TESTED                           FMC
*         B3 - ERROR COUNT                                               FMC
*         B4 - THIS ACCESS NUMBER                                        FMC
*         B5 - THIS TEST COPY NUMBER                                     FMC
*         B6 - NUMBER OF ACCESSES AVAILABLE                              FMC
*         B7 - TEMPORARY STORAGE                                         FMC
*         ES, EC, EM, EA - STANDARD USAGE                                FMC
*                                                                        FMC
*         BUFFERS USED-NONE.                                             FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT FMC75 - CONNECT TEST
4  FORMAT FMC75 ERROR(S) = *DECD
*                                                                        FMC
/         FLAG EQUATES                                                   FMC
*                                                                        FMC
   EQUATE FLAG TO 504                                                    FMC
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC
*                                                                        FMC
/         FUNCTION CODE EQUATES                                          FMC
*                                                                        FMC
   EQUATE CLCON TO 0042      *CLEAR COUPLER CONNECT 
*                                                                        FMC
/         MISCELLANEOUS EQUATES                                          FMC
*                                                                        FMC
   EQUATE DOPIN TO 0010      *DISABLE OPERATOR INTERVENTION              FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
20 MSG 1 TO DISPLAY, PRINT
   IF (P5.AND.DOPIN.EQ.0) GOTO 21                                        FMC
   IF (ES.AND.RM.EQ.0) GOTO 21                                           FMC
   EXIT TO 981                                                           FMC
*                                                                        FMC
/        INITIALIZE.                                                     FMC
*                                                                        FMC
21 B0=160                    *TEST NUMBER 70 HEX                         FMC
   B1=0                      *LOOP COUNT                                 FMC
   B3=0                      *ERROR COUNT                                FMC
*                                                                        FMC
/        PERFORM CONNECT TEST.                                           FMC
*                                                                        FMC
40 CALL 75G                  *CHECK PARAMETERS AND DISPLAY
/                                                                        FMC
   IF (B5.NE.0) GOTO 45 
   CALL 75I 
   GOTO 60                                                               FMC
/                                                                        FMC
45 IF (B5.NE.1) GOTO 50 
   CALL 75J 
   GOTO 60                                                               FMC
/                                                                        FMC
50 IF (B5.NE.2) GOTO 55 
   CALL 75K 
   GOTO 60                                                               FMC
/                                                                        FMC
55 CALL 75L 
* 
/         PROCESS ERRORS. 
* 
60 IF (EC.EQ.0) GOTO 77      *IF NO ERRORS,TERMINATE
* 
/         CALL APPROPRIATE DISPLAY SUBMODULE. 
* 
74 IF(EC.LT.4000B) CALL 75A  *EXPECTED ERROR DISPLAY
   IF(EC.GE.4000B) CALL 750  *UNEXPECTED ERROR DISPLAY
*                                                                        FMC
/        TERMINATE.                                                      FMC
*                                                                        FMC
77 IF (ES.AND.RM.NE.0) GOTO 21                                           FMC
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE                    FMC
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC75A,6000(05,07,16),LOCK
*   5.2.40.1 FMC75A - REPORT EXPECTED ERRORS
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC75.
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC75.
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC75 - CONNECT TEST
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC75 - LINE *OCT - ERROR NUMBER *H*HE
*                                                                        FMC
/        ERROR NUMBER 70001 HEX                                          FMC
*                                                                        FMC
10 FORMAT COPY 0 UNABLE TO RESERVE CONTROLLER.                           FMC
11 FORMAT VERIFY THAT NO OTHER ACCESSES ARE USING THE 7155               FMC
12 FORMAT AND RERUN FMC75.  IF IT STILL FAILS, REPLACE THE
13 FORMAT R/T CARD FOR THIS ACCESS.                                      FMC
*                                                                        FMC
/        ERROR NUMBER 70002 HEX                                          FMC
*                                                                        FMC
14 FORMAT COPY 0 UNABLE TO SEE COPY 1-S RESERVE.                         FMC
15 FORMAT SUCCESSIVELY REPLACE R/T CARDS FOR ACCESSES BEING              FMC
16 FORMAT TESTED BY COPIES 1 AND 0.                                      FMC
17 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 70003 HEX                                          FMC
*                                                                        FMC
20 FORMAT COPY 0 UNABLE TO CLEAR COPY 1-S RESERVE.                       FMC
22 FORMAT TESTED BY COPIES 0 AND 1.                                      FMC
23 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 70004 HEX                                          FMC
*                                                                        FMC
24 FORMAT COPY 0 UNABLE TO SEE COPY 2-S RESERVE.                         FMC
26 FORMAT TESTED BY COPIES 2 AND 0.                                      FMC
27 FORMAT                                                                FMC
*                                                                        FMC
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC75A - S/W ERROR, EC=*OCT, EN=*H*HE, EM=*OCT
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC
/                                                                        FMC
   IF (B0.NE.160) GOTO 45                                                FMC
   IF (EC.EQ.0) GOTO 45                                                  FMC
   IF (EC.GT.4) EXIT TO 75B 
*                                                                        FMC
/        ERROR NUMBER 70001 HEX                                          FMC
*                                                                        FMC
40 IF (EC.NE.1) GOTO 41                                                  FMC
   MSG 10 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 70002 HEX                                          FMC
*                                                                        FMC
41 IF (EC.NE.2) GOTO 42                                                  FMC
   MSG 14 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 15 TO LINE 14                                                     FMC
   MSG 16 TO LINE 15                                                     FMC
   MSG 17 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 70003 HEX                                          FMC
*                                                                        FMC
42 IF (EC.NE.3) GOTO 43                                                  FMC
   MSG 20 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 15 TO LINE 14                                                     FMC
   MSG 22 TO LINE 15                                                     FMC
   MSG 23 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 70004 HEX                                          FMC
*                                                                        FMC
43 IF (EC.NE.4) GOTO 45                                                  FMC
   MSG 24 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 15 TO LINE 14                                                     FMC
   MSG 26 TO LINE 15                                                     FMC
   MSG 27 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
/                                                                        FMC
45 MSG 30 (EA,B0,EC,EM) TO LINE 12                                       FMC
/                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC75B,6000(05,07,16),LOCK
*   5.2.40.2 FMC75B - REPORT EXPECTED ERRORS
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC75.
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC75.
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC75 - CONNECT TEST
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC75 - LINE *OCT - ERROR NUMBER *H*HE
*                                                                        FMC
/        ERROR NUMBER 70005 HEX                                          FMC
*                                                                        FMC
10 FORMAT COPY 0 UNABLE TO CLEAR COPY 2-S RESERVE.                       FMC
11 FORMAT SUCCESSIVELY REPLACE R/T CARDS FOR ACCESSES BEING              FMC
12 FORMAT TESTED BY COPIES 0 AND 2.                                      FMC
13 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 70006 HEX                                          FMC
*                                                                        FMC
14 FORMAT COPY 0 UNABLE TO SEE COPY 3-S RESERVE.                         FMC
16 FORMAT TESTED BY COPIES 3 AND 0.                                      FMC
17 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 70007 HEX                                          FMC
*                                                                        FMC
20 FORMAT COPY 0 UNABLE TO CLEAR COPY 3-S RESERVE.                       FMC
22 FORMAT TESTED BY COPIES 0 AND 3.                                      FMC
23 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 70008 HEX                                          FMC
*                                                                        FMC
24 FORMAT COPY 1 UNABLE TO SEE COPY 0-S RESERVE.                         FMC
26 FORMAT TESTED BY COPIES 0 AND 1.                                      FMC
27 FORMAT                                                                FMC
*                                                                        FMC
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC75B - S/W ERROR, EC=*OCT, EN=*H*HE, EM=*OCT
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC
/                                                                        FMC
   IF (B0.NE.160) GOTO 45                                                FMC
   IF (EC.EQ.0) GOTO 45                                                  FMC
   IF (EC.GT.10) EXIT TO 75C
*                                                                        FMC
/        ERROR NUMBER 70005 HEX                                          FMC
*                                                                        FMC
40 IF (EC.NE.5) GOTO 41                                                  FMC
   MSG 10 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 70006 HEX                                          FMC
*                                                                        FMC
41 IF (EC.NE.6) GOTO 42                                                  FMC
   MSG 14 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 16 TO LINE 15                                                     FMC
   MSG 17 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 70007 HEX                                          FMC
*                                                                        FMC
42 IF (EC.NE.7) GOTO 43                                                  FMC
   MSG 20 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 22 TO LINE 15                                                     FMC
   MSG 23 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 70008 HEX                                          FMC
*                                                                        FMC
43 IF (EC.NE.10) GOTO 45                                                 FMC
   MSG 24 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 26 TO LINE 15                                                     FMC
   MSG 27 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
/                                                                        FMC
45 MSG 30 (EA,B0,EC,EM) TO LINE 12                                       FMC
/                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC75C,6000(05,07,16),LOCK
*   5.2.40.3 FMC75C - REPORT EXPECTED ERRORS
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC75.
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC75.
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC75 - CONNECT TEST
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC75 - LINE *OCT - ERROR NUMBER *H*HE
*                                                                        FMC
/        ERROR NUMBER 70009 HEX                                          FMC
*                                                                        FMC
10 FORMAT COPY 1 UNABLE TO CLEAR COPY 0-S RESERVE.                       FMC
11 FORMAT SUCCESSIVELY REPLACE R/T CARDS FOR ACCESSES BEING              FMC
12 FORMAT TESTED BY COPIES 1 AND 0.                                      FMC
13 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 7000A HEX                                          FMC
*                                                                        FMC
14 FORMAT COPY 1 UNABLE TO SEE COPY 2-S RESERVE.                         FMC
16 FORMAT TESTED BY COPIES 2 AND 1.                                      FMC
17 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 7000B HEX                                          FMC
*                                                                        FMC
20 FORMAT COPY 1 UNABLE TO CLEAR COPY 2-S RESERVE.
22 FORMAT TESTED BY COPIES 1 AND 2.                                      FMC
23 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 7000C HEX                                          FMC
*                                                                        FMC
24 FORMAT COPY 1 UNABLE TO SEE COPY 3-S RESERVE.                         FMC
26 FORMAT TESTED BY COPIES 3 AND 1.                                      FMC
27 FORMAT                                                                FMC
*                                                                        FMC
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC75C - S/W ERROR, EC=*OCT, EN=*H*HE, EM=*OCT
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC
/                                                                        FMC
   IF (B0.NE.160) GOTO 45                                                FMC
   IF (EC.EQ.0) GOTO 45                                                  FMC
   IF (EC.GT.14) EXIT TO 75D
*                                                                        FMC
/        ERROR NUMBER 70009 HEX                                          FMC
*                                                                        FMC
40 IF (EC.NE.11) GOTO 41                                                 FMC
   MSG 10 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 7000A HEX                                          FMC
*                                                                        FMC
41 IF (EC.NE.12) GOTO 42                                                 FMC
   MSG 14 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 16 TO LINE 15                                                     FMC
   MSG 17 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 7000B HEX                                          FMC
*                                                                        FMC
42 IF (EC.NE.13) GOTO 43                                                 FMC
   MSG 20 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 22 TO LINE 15                                                     FMC
   MSG 23 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 7000C HEX                                          FMC
*                                                                        FMC
43 IF (EC.NE.14) GOTO 45                                                 FMC
   MSG 24 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 26 TO LINE 15                                                     FMC
   MSG 27 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
/                                                                        FMC
45 MSG 30 (EA,B0,EC,EM) TO LINE 12                                       FMC
/                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC75D,6000(05,07,16),LOCK
*   5.2.40.4 FMC75D - REPORT EXPECTED ERRORS
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC75.
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC75.
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC75 - CONNECT TEST
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC75 - LINE *OCT - ERROR NUMBER *H*HE
*                                                                        FMC
/        ERROR NUMBER 7000D HEX                                          FMC
*                                                                        FMC
10 FORMAT COPY 1 UNABLE TO CLEAR COPY 3-S RESERVE.                       FMC
11 FORMAT SUCCESSIVELY REPLACE R/T CARDS FOR ACCESSES BEING              FMC
12 FORMAT TESTED BY COPIES 1 AND 3.                                      FMC
13 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 7000E HEX                                          FMC
*                                                                        FMC
14 FORMAT COPY 2 UNABLE TO SEE COPY 0-S RESERVE.                         FMC
16 FORMAT TESTED BY COPIES 0 AND 2.                                      FMC
17 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 7000F HEX                                          FMC
*                                                                        FMC
20 FORMAT COPY 2 UNABLE TO CLEAR COPY 0-S RESERVE.                       FMC
22 FORMAT TESTED BY COPIES 2 AND 0.                                      FMC
23 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 70010 HEX                                          FMC
*                                                                        FMC
24 FORMAT COPY 2 UNABLE TO SEE COPY 1-S RESERVE.                         FMC
26 FORMAT TESTED BY COPIES 1 AND 2.                                      FMC
27 FORMAT                                                                FMC
*                                                                        FMC
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC75D - S/W ERROR, EC=*OCT, EN=*H*HE, EM=*OCT
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC
/                                                                        FMC
   IF (B0.NE.160) GOTO 45                                                FMC
   IF (EC.EQ.0) GOTO 45                                                  FMC
   IF (EC.GT.20) EXIT TO 75E
*                                                                        FMC
/        ERROR NUMBER 7000D HEX                                          FMC
*                                                                        FMC
40 IF (EC.NE.15) GOTO 41                                                 FMC
   MSG 10 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 7000E HEX                                          FMC
*                                                                        FMC
41 IF (EC.NE.16) GOTO 42                                                 FMC
   MSG 14 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 16 TO LINE 15                                                     FMC
   MSG 17 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 7000F HEX                                          FMC
*                                                                        FMC
42 IF (EC.NE.17) GOTO 43                                                 FMC
   MSG 20 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 22 TO LINE 15                                                     FMC
   MSG 23 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 70010 HEX                                          FMC
*                                                                        FMC
43 IF (EC.NE.20) GOTO 45                                                 FMC
   MSG 24 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 26 TO LINE 15                                                     FMC
   MSG 27 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
/                                                                        FMC
45 MSG 30 (EA,B0,EC,EM) TO LINE 12                                       FMC
/                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC75E,6000(05,07,16),LOCK
*   5.2.40.5 FMC75E - REPORT EXPECTED ERRORS
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC75.
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC75.
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC75 - CONNECT TEST
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC75 - LINE *OCT - ERROR NUMBER *H*HE
*                                                                        FMC
/        ERROR NUMBER 70011 HEX                                          FMC
*                                                                        FMC
10 FORMAT COPY 2 UNABLE TO CLEAR COPY 1-S RESERVE.                       FMC
11 FORMAT SUCCESSIVELY REPLACE R/T CARDS FOR ACCESSES BEING              FMC
12 FORMAT TESTED BY COPIES 2 AND 1.                                      FMC
13 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 70012 HEX                                          FMC
*                                                                        FMC
14 FORMAT COPY 2 UNABLE TO SEE COPY 3-S RESERVE.                         FMC
16 FORMAT TESTED BY COPIES 3 AND 2.                                      FMC
17 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 70013 HEX                                          FMC
*                                                                        FMC
20 FORMAT COPY 2 UNABLE TO CLEAR COPY 3-S RESERVE.                       FMC
22 FORMAT TESTED BY COPIES 2 AND 3.                                      FMC
23 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 70014 HEX                                          FMC
*                                                                        FMC
24 FORMAT COPY 3 UNABLE TO SEE COPY 0-S RESERVE.                         FMC
26 FORMAT TESTED BY COPIES 0 AND 3.                                      FMC
27 FORMAT                                                                FMC
*                                                                        FMC
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC75E - S/W ERROR, EC=*OCT, EN=*H*HE, EM=*OCT
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC
/                                                                        FMC
   IF (B0.NE.160) GOTO 45                                                FMC
   IF (EC.EQ.0) GOTO 45                                                  FMC
   IF (EC.GT.24) EXIT TO 75F
*                                                                        FMC
/        ERROR NUMBER 70011 HEX                                          FMC
*                                                                        FMC
40 IF (EC.NE.21) GOTO 41                                                 FMC
   MSG 10 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 70012 HEX                                          FMC
*                                                                        FMC
41 IF (EC.NE.22) GOTO 42                                                 FMC
   MSG 14 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 16 TO LINE 15                                                     FMC
   MSG 17 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 70013 HEX                                          FMC
*                                                                        FMC
42 IF (EC.NE.23) GOTO 43                                                 FMC
   MSG 20 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 22 TO LINE 15                                                     FMC
   MSG 23 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 70014 HEX                                          FMC
*                                                                        FMC
43 IF (EC.NE.24) GOTO 45                                                 FMC
   MSG 24 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 26 TO LINE 15                                                     FMC
   MSG 27 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
/                                                                        FMC
45 MSG 30 (EA,B0,EC,EM) TO LINE 12                                       FMC
/                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC75F,6000(05,07,16),LOCK
*   5.2.40.6 FMC75F - REPORT EXPECTED ERRORS
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC75.
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC75.
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC75 - CONNECT TEST
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC75 - LINE *OCT - ERROR NUMBER *H*HE
*                                                                        FMC
/        ERROR NUMBER 70015 HEX                                          FMC
*                                                                        FMC
10 FORMAT COPY 3 UNABLE TO CLEAR COPY 0-S RESERVE.                       FMC
11 FORMAT SUCCESSIVELY REPLACE R/T CARDS FOR ACCESSES BEING              FMC
12 FORMAT TESTED BY COPIES 3 AND 0.                                      FMC
13 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 70016 HEX                                          FMC
*                                                                        FMC
14 FORMAT COPY 3 UNABLE TO SEE COPY 2-S RESERVE.                         FMC
16 FORMAT TESTED BY COPIES 2 AND 3.                                      FMC
17 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 70017 HEX                                          FMC
*                                                                        FMC
20 FORMAT COPY 3 UNABLE TO CLEAR COPY 2-S RESERVE.                       FMC
22 FORMAT TESTED BY COPIES 3 AND 2.                                      FMC
23 FORMAT                                                                FMC
*                                                                        FMC
/        ERROR NUMBER 70018 HEX                                          FMC
*                                                                        FMC
24 FORMAT COPY 3 UNABLE TO SEE COPY 1-S RESERVE.                         FMC
26 FORMAT TESTED BY COPIES 1 AND 3.                                      FMC
27 FORMAT                                                                FMC
*                                                                        FMC
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC75F - S/W ERROR, EC=*OCT, EN=*H*HE, EM=*OCT
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC
/                                                                        FMC
   IF (B0.NE.160) GOTO 45                                                FMC
   IF (EC.EQ.0) GOTO 45                                                  FMC
   IF (EC.GT.30) EXIT TO 75Z
*                                                                        FMC
/        ERROR NUMBER 70015 HEX                                          FMC
*                                                                        FMC
40 IF (EC.NE.25) GOTO 41                                                 FMC
   MSG 10 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 70016 HEX                                          FMC
*                                                                        FMC
41 IF (EC.NE.26) GOTO 42                                                 FMC
   MSG 14 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 16 TO LINE 15                                                     FMC
   MSG 17 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 70017 HEX                                          FMC
*                                                                        FMC
42 IF (EC.NE.27) GOTO 43                                                 FMC
   MSG 20 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 22 TO LINE 15                                                     FMC
   MSG 23 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
*                                                                        FMC
/        ERROR NUMBER 70018 HEX                                          FMC
*                                                                        FMC
43 IF (EC.NE.30) GOTO 45                                                 FMC
   MSG 24 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 26 TO LINE 15                                                     FMC
   MSG 27 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
/                                                                        FMC
45 MSG 30 (EA,B0,EC,EM) TO LINE 12                                       FMC
/                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC75Z,6000(05,07,16),LOCK
*   5.2.40.7 FMC75Z - REPORT EXPECTED ERRORS
*                                                                        FMC
*         PURPOSE-                                                       FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC75.
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC75.
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC75 - CONNECT TEST
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
4  FORMAT FMC75 - LINE *OCT - ERROR NUMBER *H*HE
*                                                                        FMC
/        ERROR NUMBER 70019 HEX                                          FMC
*                                                                        FMC
10 FORMAT COPY 3 UNABLE TO CLEAR COPY 1-S RESERVE.                       FMC
11 FORMAT SUCCESSIVELY REPLACE R/T CARDS FOR ACCESSES BEING              FMC
12 FORMAT TESTED BY COPIES 3 AND 1.                                      FMC
13 FORMAT                                                                FMC
*                                                                        FMC
/        SOFTWARE ERROR MESSAGES.                                        FMC
*                                                                        FMC
30 FORMAT FMC75Z - S/W ERROR, EC=*OCT, EN=*H*HE, EM=*OCT
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4(EA,B0,EC) TO LINE 5                                             FMC
/                                                                        FMC
   IF (B0.NE.160) GOTO 45                                                FMC
   IF (EC.EQ.0) GOTO 45                                                  FMC
   IF (EC.GT.31) GOTO 45                                                 FMC
*                                                                        FMC
/        ERROR NUMBER 70019 HEX                                          FMC
*                                                                        FMC
40 IF (EC.NE.31) GOTO 45                                                 FMC
   MSG 10 TO LINE 12                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 11 TO LINE 14                                                     FMC
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
   GOTO 77                                                               FMC
/                                                                        FMC
45 MSG 30 (EA,B0,EC,EM) TO LINE 12                                       FMC
/                                                                        FMC
77 PICTURE                                                               FMC
   HALT                                                                  FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC750,6000(05,07,16),LOCK
*   5.2.40.8 FMC750 - REPORT UNEXPECTED ERRORS
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC750 DISPLAYS INFORMATION EXPANDING ON ALL
*         ERRORS OTHER THAN THOSE WHICH CAN BE INTERPRETED               FMC
*         FOR ISOLATION.                                                 FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC75.
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC75.
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC75 - CONNECT TEST
4  FORMAT FMC75 - LINE *OCT - ERROR NUMBER *H*HE
*         THE NEXT CARD IS A *CALL FMCXX0                                FMC012 
*CALL FMCXX0                                                             FMC012 
   MODULE FMC75G,6000(05,07,16),LOCK
*   5.2.40.9 FMC75G/FMC75H - CHECK PARAMETERS AND BUILD DISPLAY 
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC75G AND FMC75H CHECK THE PARAMETERS P8 AND P9 WHICH ARE
*         SUPPLIED BY THE OPERATOR AND ASSURE THAT THERE ARE NO UNUSED   FMC
*         BITS SET OR CONTRADICTIONS IN THE VALUES.  FURTHER, THEY       FMC015 
*         INTERPRET THE SELECTIONS AND DISPLAY THEIR MEANING ON THE K/L  FMC015 
*         DISPLAY.                                                       FMC015 
/                                                                        FMC
*         ENTRY-                                                         FMC
*         P8 AND P9 HAVE THE MEANING DESCRIBED IN SECTION 3.2 AND        FMC015 
*         MODULE 99B                                                     FMC015 
*                                                                        FMC
*         EXIT-NO SPECIAL EXIT CONDITIONS                                FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC75.
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC75.
*                                                                        FMC
*                                                                        FMC
1  FORMAT CHECK P9 - UNUSED BITS SET. 
2  FORMAT CHECK P9 - NO OTHER ACCESSES ARE BEING TESTED.
3  FORMAT CHECK P8 - UNUSED BITS SET. 
10 FORMAT THIS IS COPY NUMBER *H OF FMC AND TESTS ACCESS*A. 
11 FORMAT CHANNEL ACCESSES AVAILABLE(FROM P8)--*A*A*A*A 
12 FORMAT TO CHANGE THIS INFORMATION, MODIFY
13 FORMAT PARAMETERS P8 AND P9 AND RERUN FMC75. 
17 FORMAT PARAMETER ENTRY ERROR                                          FMC
20 FORMAT CHECK P8 - THIS ACCESS IS NOT AVAILABLE.
21 FORMAT CHECK P9 - THIS COPY NUMBER IS GREATER THAN THE 
22 FORMAT            NUMBER OF OTHER ACCESSES BEING TESTED. 
23 FORMAT CHECK P8/P9 - THE NUMBER OF ACCESSES BEING TESTED 
24 FORMAT               IS GREATER THAN THE NUMBER AVAILABLE
/                                                                        FMC
30 BLANK                                                                 FMC
   B7 = 6                    *INITIALIZE LINE INDEX 
   B4=P8.RS.6.AND.3          *THIS ACCESS NUMBER                         FMC
   B2=P9.AND.3+1             *NO. OF ACCESSES BEING TESTED               FMC
   B5=P9.RS.6.AND.3          *THIS TEST COPY NUMBER                      FMC
*                                                                        FMC
/         CHECK FOR THIS ACCESS BEING AVAILABLE.                         FMC
*                                                                        FMC
   B6=1.LS.B4                                                            FMC
   IF (P8.AND.B6.EQ.0) ERROR 1/20, GOSUB 70 
*                                                                        FMC
/         CHECK FOR THIS COPY NUMBER BEING TOO HIGH.                     FMC
*                                                                        FMC
   IF (B5.LT.B2) GOTO 32
   ERROR 1/21, GOSUB 70 
   ERROR 1/22, GOSUB 70 
*                                                                        FMC
/         CHECK THAT THE NUMBER OF ACCESSES BEING TESTED                 FMC
/         .LE. THE NUMBER OF ACCESSES AVAILABLE.                         FMC
*                                                                        FMC
32 B6 = 0                    *NUMBER OF ACCESSES AVAILABLE
   IF (P8.AND.1.NE.0) B6=B6+1                                            FMC
   IF (P8.AND.2.NE.0) B6=B6+1                                            FMC
   IF (P8.AND.4.NE.0) B6=B6+1                                            FMC
   IF (P8.AND.10.NE.0) B6=B6+1                                           FMC
/                                                                        FMC
   IF (B6.GE.B2) GOTO 34
   ERROR 1/23, GOSUB 70 
   ERROR 1/24, GOSUB 70 
*                                                                        FMC
/         CHECK FOR UNUSED BITS IN P9 BEING SET                          FMC
*                                                                        FMC
34 IF (P9.AND.7474B.NE.0) ERROR 1/1, GOSUB 70 
*                                                                        FMC
/         CHECK FOR TOO FEW ACCESSES BEING TESTED                        FMC
*                                                                        FMC
   IF (P9.AND.3.EQ.0) ERROR 1/2, GOSUB 70 
*                                                                        FMC
/         CHECK FOR UNUSED BITS IN P8 BEING SET                          FMC
*                                                                        FMC
   IF (P8.AND.7460B.NE.0) ERROR 1/3, GOSUB 70 
*                                                                        FMC
/         POST ERROR MESSAGES                                            FMC
*                                                                        FMC
40 IF (EC.EQ.0) GOTO 50 
   MSG 17 TO LINE 5 
   ERROR 1/12, GOSUB 70 
   ERROR 1/13, GOSUB 70 
*                                                                        FMC
/         POST AVAILABLE ACCESSES                                        FMC
*                                                                        FMC
50 B10 = 0                   *INITIALIZE OB INDEX 
60 OB(B10) = 5555B           *BLANK FILL OB 
   GOTO 60 WHILE (B10+1.LT.4) 
   B10 = 0                   *INITIALIZE OB INDEX 
   B11 = 5501B               *INITIALIZE ACCESS NAME
   IF (P8.AND.1.NE.0) GOSUB 71
   B11 = B11 + 1             *INCREMENT ACCESS NAME 
   IF (P8.AND.2.NE.0) GOSUB 71
   B11 = B11 + 1             *INCREMENT ACCESS NAME 
   IF (P8.AND.4.NE.0) GOSUB 71
   B11 = B11 + 1             *INCREMENT ACCESS NAME 
   IF (P8.AND.10.NE.0) GOSUB 71 
   MSG 11 4 WORDS FROM OB TO LINE 4 
*                                                                        FMC
/         POST COPY NUMBER AND ACCESS BEING TESTED. 
*                                                                        FMC
   B4 = B4 + 5501B           *FORM ACCESS LETTER
   MSG 10 (B5,B4) TO LINE 3 
/                                                                        FMC
   EXIT TO 75H
/         ERROR MESSAGE SUBROUTINE
70 MSG EC TO LINE B7
   B7 = B7 + 1               *INCREMENT LINE INDEX
   RETURN 
/         AVAILABLE ACCESS SUBROUTINE 
71 OB(B10) = B11             *POST AVAILABLE ACCESS 
   B10 = B10 + 1             *INCREMENT OB INDEX
   RETURN 
   END 30                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC75H,6000(05,07,16),LOCK
1  FORMAT P8 = XXX1  ACCESS A IS AVAILABLE                               FMC
2  FORMAT      XXX2  ACCESS B IS AVAILABLE                               FMC
3  FORMAT      XXX4  ACCESS C IS AVAILABLE                               FMC
4  FORMAT      XX10  ACCESS D IS AVAILABLE                               FMC
5  FORMAT      XAXX  A IS THE ACCESS TESTED BY                           FMC
6  FORMAT            THIS COPY OF THE TEST.                              FMC
7  FORMAT            A = 0 FOR ACCESS A                                  FMC
10 FORMAT            A = 1 FOR ACCESS B                                  FMC
11 FORMAT            A = 2 FOR ACCESS C                                  FMC
12 FORMAT            A = 3 FOR ACCESS D                                  FMC
13 FORMAT P9 = 0Y0Z  Y = THIS TEST COPY NUMBER                           FMC
14 FORMAT                (0, 1, 2, OR 3)                                 FMC
15 FORMAT            Z = THE NUMBER OF OTHER                             FMC
16 FORMAT                ACCESSES BEING TESTED                           FMC
17 FORMAT                (1, 2, OR 3)                                    FMC
20 FORMAT -PAUSE-TYPE GO TO BEGIN TEST
21 FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
22 FORMAT FMC75 - CONNECT TEST
23 FORMAT -PAUSE-PARAMETER ENTRY ERROR
/                                                                        FMC
/                                                                        FMC
/                                                                        FMC
/                                                                        FMC
/                                                                        FMC
/         POST UNCHANGING MESSAGES                                       FMC
/                                                                        FMC
30 MSG 21 TO LINE 1 
   MSG 22 TO LINE 2                                                      FMC
   IF (ES.AND.TM.NE.0) GOTO 50  *IF TERMINAL MODE,
   B7 = B7 + 1               *INSERT BLANK LINE 
/                                                                        FMC
   B10 = 1                   *INITIALIZE FORMAT INDEX 
40 MSG B10 TO LINE B7        *DISPLAY PARAMETERS
   B7 = B7 + 1               *INCREMENT LINE INDEX
   GOTO 40 WHILE (B10+1.LT.20B) 
/                                                                        FMC
50 PICTURE                   *POST MESSAGES 
   IF (EC.EQ.0) MSG 20 TO DISPLAY, PRINT
   IF (EC.NE.0) MSG 23 TO DISPLAY, PRINT
   PAUSE                                                                 FMC
   IF (EC.NE.0) GOTO 77      *IF PARAM ERR, END 
   BLANK                                                                 FMC
   EXIT                                                                  FMC
77 END 30 
COMPILE                                                                  FMC
   MODULE FMC75I,6000(05,07,16),LOCK
**  5.2.40.10 FMC75I - CONNECT TEST FOR COPY 0
*                                                                        FMC
*         PURPOSE-SEE PURPOSE OF FMC75. 
*                                                                        FMC
*         METHOD-                                                        FMC
*         CONNECT (EXPECT NO ERROR)                                      FMC
*         IF THE NUMBER OF OTHER ACCESSES BEING TESTED .GE. 1, THEN      FMC
*           PAUSE AND TELL THE OPERATOR TO START COPY 1 OF THE TEST      FMC
*           CONNECT (EXPECT AN ERROR)                                    FMC
*           CLEAR CONNECTS                                               FMC
*           CONNECT (EXPECT NO ERROR)                                    FMC
*           IF THE NUMBER OF OTHER ACCESSES BEING TESTED .GE. 2, THEN    FMC
*             PAUSE AND TELL THE OPERATOR TO START COPY 2 OF THE TEST    FMC
*             CONNECT (EXPECT AN ERROR)                                  FMC
*             CLEAR CONNECTS                                             FMC
*             CONNECT (EXPECT NO ERROR)                                  FMC
*             IF THE NUMBER OF OTHER ACCESSES BEING TESTED .GE. 3, THEN  FMC
*               PAUSE AND TELL THE OPERATOR TO START COPY 3 OF THE TEST  FMC
*               CONNECT (EXPECT AN ERROR)                                FMC
*               CLEAR CONNECTS                                           FMC
*               CONNECT (EXPECT NO ERROR)                                FMC
*             ENDIF                                                      FMC
*           ENDIF                                                        FMC
*         ENDIF                                                          FMC
*         TELL THE OPERATOR TO DROP ALL OTHER COPIES OF THE TEST         FMC
/                                                                        FMC
*         ENTRY-                                                         FMC
*         P9 AS DESCRIBED IN SECTION 3.2 OR FMC99B.                      FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*         CONTROLLER IS CONNECTED.                                       FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-NONE.                                           FMC
*                                                                        FMC
*         BUFFERS USED-NONE.                                             FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC75 - CONNECT TEST
3  FORMAT COPY *H, ACCESS*A 
4  FORMAT START COPY 0 OF THE FMC CONNECT TEST (FMC75). 
5  FORMAT START COPY 1 OF THE FMC CONNECT TEST (FMC75). 
6  FORMAT START COPY 2 OF THE FMC CONNECT TEST (FMC75). 
7  FORMAT START COPY 3 OF THE FMC CONNECT TEST (FMC75). 
10 FORMAT DROP ALL OTHER COPIES OF TEST AND TYPE GO.                     FMC
11 FORMAT -PAUSE- OPERATOR INSTRUCTIONS 
   EQUATE CGS TO 0012                                                    FMC
   EQUATE CLCON TO 0042                                                  FMC
   EQUATE GENSTAT TO 504                                                 FMC
   EQUATE CRSVD TO 2000                                                  FMC
/                                                                        FMC
/                                                                        FMC
20 B7 = B4
   MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 (B5,B7) TO LINE 3
   RES, ABT 70
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND.CRSVD.NE.0) ERROR 3/1, GOTO 67                    FMC
/                                                                        FMC
   IF (P9.AND.3.LT.1) GOTO 60                                            FMC
   MSG 5 TO LINE 5
   PICTURE
   MSG 11 TO DISPLAY, PRINT 
   PAUSE                                                                 FMC
   RES, ABT 70                                                           FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND CRSVD.EQ.0) GOTO 25                               FMC
   FUNC CLCON, ABT 70                                                    FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND.CRSVD.NE.0) GOTO 26                               FMC
   GOTO 27                                                               FMC
/                                                                        FMC
25 ERROR 3/2, GOTO 67                                                    FMC
26 ERROR 3/3, GOTO 67                                                    FMC
/                                                                        FMC
27 IF (P9.AND.3.LT.2) GOTO 60 
   MSG 6 TO LINE 5
   PICTURE
   MSG 11 TO DISPLAY, PRINT 
   PAUSE                                                                 FMC
   RES, ABT 70                                                           FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND CRSVD.EQ.0) GOTO 35                               FMC
   FUNC CLCON, ABT 70                                                    FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND.CRSVD.NE.0) GOTO 36                               FMC
   GOTO 37                                                               FMC
/                                                                        FMC
35 ERROR 3/4, GOTO 67                                                    FMC
36 ERROR 3/5, GOTO 67                                                    FMC
/                                                                        FMC
37 IF (P9.AND.3.LT.3) GOTO 60 
   MSG 7 TO LINE 5
   PICTURE
   MSG 11 TO DISPLAY, PRINT 
   PAUSE                                                                 FMC
   RES, ABT 70                                                           FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND CRSVD.EQ.0) GOTO 45                               FMC
   FUNC CLCON, ABT 70                                                    FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND.CRSVD.NE.0) GOTO 46                               FMC
   GOTO 60
/                                                                        FMC
45 ERROR 3/6, GOTO 67                                                    FMC
46 ERROR 3/7, GOTO 67                                                    FMC
/                                                                        FMC
60 MSG 10 TO LINE 5 
   PICTURE
   MSG 11 TO DISPLAY, PRINT 
   PAUSE                                                                 FMC
67 EXIT                      *EXPECTED ERROR                             FMC
70 EXIT                      *UNEXPECTED ERROR                           FMC
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC75J,6000(05,07,16),LOCK
**  5.2.40.11 FMC75J - CONNECT TEST FOR COPY 1
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         SEE PURPOSE OF FMC75. 
*                                                                        FMC
*         METHOD-                                                        FMC
*         CONNECT (EXPECT AN ERROR)                                      FMC
*         CLEAR CONNECT                                                  FMC
*         CONNECT (EXPECT NO ERROR)                                      FMC
*         PAUSE AND TELL OPERATOR TO START COPY 0 OF THE TEST            FMC
*         IF THE NUMBER OF OTHER ACCESSES BEING TESTED .GE. 2, THEN      FMC
*           CONNECT (EXPECT AN ERROR)                                    FMC
*           CLEAR CONNECT                                                FMC
*           CONNECT (EXPECT NO ERROR)                                    FMC
*           PAUSE AND TELL OPERATOR TO START COPY 2 OF THE TEST          FMC
*           IF THE NUMBER OF OTHER ACCESSES BEING TESTED .GE. 3, THEN    FMC
*             CONNECT (EXPECT AN ERROR)                                  FMC
*             CLEAR CONNECT                                              FMC
*             CONNECT (EXPECT NO ERROR)                                  FMC
*             PAUSE AND TELL OPERATOR TO START COPY 3 OF THE TEST        FMC
*           ENDIF                                                        FMC
*         ENDIF                                                          FMC
/                                                                        FMC
*         ENTRY-                                                         FMC
*         P9 AS DESCRIBED IN SECTION 3.2 OR FMC99B.                      FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*         CONTROLLER IS CONNECTED.                                       FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-NONE.                                           FMC
*                                                                        FMC
*         BUFFERS USED-NONE.                                             FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC75 - CONNECT TEST
3  FORMAT COPY *H, ACCESS*A 
4  FORMAT START COPY 0 OF THE FMC CONNECT TEST (FMC75). 
5  FORMAT START COPY 1 OF THE FMC CONNECT TEST (FMC75). 
6  FORMAT START COPY 2 OF THE FMC CONNECT TEST (FMC75). 
7  FORMAT START COPY 3 OF THE FMC CONNECT TEST (FMC75). 
11 FORMAT -PAUSE- OPERATOR INSTRUCTIONS 
   EQUATE CGS TO 0012                                                    FMC
   EQUATE CLCON TO 0042                                                  FMC
   EQUATE GENSTAT TO 504                                                 FMC
   EQUATE CRSVD TO 2000                                                  FMC
/                                                                        FMC
/                                                                        FMC
/                                                                        FMC
20 B7 = B4
   MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 (B5,B7) TO LINE 3
   RES, ABT 70
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND CRSVD.EQ.0) GOTO 25                               FMC
   FUNC CLCON, ABT 70                                                    FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND.CRSVD.NE.0) GOTO 26                               FMC
   GOTO 27                                                               FMC
/                                                                        FMC
25 ERROR 3/10, GOTO 67                                                   FMC
26 ERROR 3/11, GOTO 67                                                   FMC
27 MSG 4 TO LINE 5
   PICTURE
   MSG 11 TO DISPLAY, PRINT 
   PAUSE                                                                 FMC
   RES, ABT 70                                                           FMC
/                                                                        FMC
   IF (P9.AND.3.LT.2) GOTO 60                                            FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND CRSVD.EQ.0) GOTO 35                               FMC
   FUNC CLCON, ABT 70                                                    FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND.CRSVD.NE.0) GOTO 36                               FMC
   GOTO 37                                                               FMC
/                                                                        FMC
35 ERROR 3/12, GOTO 67                                                   FMC
36 ERROR 3/13, GOTO 67                                                   FMC
37 MSG 6 TO LINE 5
   PICTURE
   MSG 11 TO DISPLAY, PRINT 
   PAUSE                                                                 FMC
   RES, ABT 70                                                           FMC
/                                                                        FMC
   IF (P9.AND.3.LT 3) GOTO 60                                            FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND CRSVD.EQ.0) GOTO 45                               FMC
   FUNC CLCON, ABT 70                                                    FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND.CRSVD.NE.0) GOTO 46                               FMC
   GOTO 47                                                               FMC
/                                                                        FMC
45 ERROR 3/14, GOTO 67                                                   FMC
46 ERROR 3/15, GOTO 67                                                   FMC
47 MSG 7 TO LINE 5
   PICTURE
/                                                                        FMC
60 EXIT                                                                  FMC
67 EXIT                      *EXPECTED ERROR                             FMC
70 EXIT                      *UNEXPECTED ERROR                           FMC
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC75K,6000(05,07,16),LOCK
**  5.2.40.12 FMC75K - CONNECT TEST FOR COPY 2
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         SEE PURPOSE OF FMC75. 
*                                                                        FMC
*         METHOD-                                                        FMC
*         CONNECT (EXPECT AN ERROR)                                      FMC
*         CLEAR CONNECT                                                  FMC
*         CONNECT (EXPECT NO ERROR)                                      FMC
*         PAUSE AND TELL OPERATOR TO START COPY 1 OF THE TEST            FMC
*         CONNECT (EXPECT AN ERROR)                                      FMC
*         CLEAR CONNECT                                                  FMC
*         CONNECT (EXPECT NO ERROR)                                      FMC
*         PAUSE AND TELL OPERATOR TO START COPY 0 OF THE TEST            FMC
*         IF THE NUMBER OF OTHER ACCESSES BEING TESTED .GE. 3, THEN      FMC
*           CONNECT (EXPECT AN ERROR)                                    FMC
*           CLEAR CONNECT                                                FMC
*           CONNECT (EXPECT NO ERROR)                                    FMC
*           PAUSE AND TELL OPERATOR TO START COPY 3 OF THE TEST          FMC
*         ENDIF                                                          FMC
/                                                                        FMC
*         ENTRY-                                                         FMC
*         P9 AS DESCRIBED IN SECTION 3.2 OR FMC99B.                      FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*         CONTROLLER IS CONNECTED.                                       FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-NONE.                                           FMC
*                                                                        FMC
*         BUFFERS USED-NONE.                                             FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC75 - CONNECT TEST
3  FORMAT COPY *H, ACCESS*A 
4  FORMAT START COPY 0 OF THE FMC CONNECT TEST (FMC75). 
5  FORMAT START COPY 1 OF THE FMC CONNECT TEST (FMC75). 
6  FORMAT START COPY 2 OF THE FMC CONNECT TEST (FMC75). 
7  FORMAT START COPY 3 OF THE FMC CONNECT TEST (FMC75). 
11 FORMAT -PAUSE- OPERATOR INSTRUCTIONS 
   EQUATE CGS TO 0012                                                    FMC
   EQUATE CLCON TO 0042                                                  FMC
   EQUATE GENSTAT TO 504                                                 FMC
   EQUATE CRSVD TO 2000                                                  FMC
/                                                                        FMC
/                                                                        FMC
/                                                                        FMC
20 B7 = B4
   MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 (B5,B7) TO LINE 3
   RES, ABT 70
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND CRSVD.EQ.0) GOTO 25                               FMC
   FUNC CLCON, ABT 70                                                    FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND.CRSVD.NE.0) GOTO 26                               FMC
   GOTO 27                                                               FMC
/                                                                        FMC
25 ERROR 3/16, GOTO 67                                                   FMC
26 ERROR 3/17, GOTO 67                                                   FMC
27 MSG 5 TO LINE 5
   PICTURE
   MSG 11 TO DISPLAY, PRINT 
   PAUSE                                                                 FMC
   RES, ABT 70                                                           FMC
/                                                                        FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND CRSVD.EQ.0) GOTO 35                               FMC
   FUNC CLCON, ABT 70                                                    FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND.CRSVD.NE.0) GOTO 36                               FMC
   GOTO 37                                                               FMC
/                                                                        FMC
35 ERROR 3/20, GOTO 67                                                   FMC
36 ERROR 3/21, GOTO 67                                                   FMC
37 MSG 4 TO LINE 5
   PICTURE
   MSG 11 TO DISPLAY, PRINT 
   PAUSE                                                                 FMC
   RES, ABT 70                                                           FMC
   IF (P9.AND.3.LT.3) GOTO 60                                            FMC
/                                                                        FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND CRSVD.EQ.0) GOTO 45                               FMC
   FUNC CLCON, ABT 70                                                    FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND.CRSVD.NE.0) GOTO 46                               FMC
   GOTO 47                                                               FMC
/                                                                        FMC
45 ERROR 3/22, GOTO 67                                                   FMC
46 ERROR 3/23, GOTO 67                                                   FMC
47 MSG 7 TO LINE 5
   PICTURE
   MSG 11 TO DISPLAY, PRINT 
   PAUSE                                                                 FMC
   RES, ABT 70                                                           FMC
/                                                                        FMC
60 EXIT                                                                  FMC
67 EXIT                      *EXPECTED ERROR                             FMC
70 EXIT                      *UNEXPECTED ERROR                           FMC
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC75L,6000(05,07,16),LOCK
**  5.2.40.13 FMC75L - CONNECT TEST FOR COPY 3
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         SEE PURPOSE OF FMC75. 
*                                                                        FMC
*         METHOD-                                                        FMC
*         CONNECT (EXPECT AN ERROR)                                      FMC
*         CLEAR CONNECT                                                  FMC
*         CONNECT (EXPECT NO ERROR)                                      FMC
*         PAUSE AND TELL OPERATOR TO START COPY 2 OF THE TEST            FMC
*         CONNECT (EXPECT AN ERROR)                                      FMC
*         CLEAR CONNECT                                                  FMC
*         CONNECT (EXPECT NO ERROR)                                      FMC
*         PAUSE AND TELL OPERATOR TO START COPY 1 OF THE TEST            FMC
*         CONNECT (EXPECT AN ERROR)                                      FMC
*         CLEAR CONNECT                                                  FMC
*         CONNECT (EXPECT NO ERROR)                                      FMC
*         PAUSE AND TELL OPERATOR TO START COPY 0 OF THE TEST            FMC
/                                                                        FMC
*         ENTRY-                                                         FMC
*         P9 AS DESCRIBED IN SECTION 3.2 OR FMC99B.                      FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*         CONTROLLER IS CONNECTED.                                       FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-NONE.                                           FMC
*                                                                        FMC
*         BUFFERS USED-NONE.                                             FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC75 - CONNECT TEST
3  FORMAT COPY *H, ACCESS*A 
4  FORMAT START COPY 0 OF THE FMC CONNECT TEST (FMC75). 
5  FORMAT START COPY 1 OF THE FMC CONNECT TEST (FMC75). 
6  FORMAT START COPY 2 OF THE FMC CONNECT TEST (FMC75). 
7  FORMAT START COPY 3 OF THE FMC CONNECT TEST (FMC75). 
11 FORMAT -PAUSE- OPERATOR INSTRUCTIONS 
   EQUATE CGS TO 0012                                                    FMC
   EQUATE CLCON TO 0042                                                  FMC
   EQUATE GENSTAT TO 504                                                 FMC
   EQUATE CRSVD TO 2000                                                  FMC
/                                                                        FMC
/                                                                        FMC
/                                                                        FMC
20 B7 = B4
   MSG 1 TO LINE 1
   MSG 2 TO LINE 2
   MSG 3 (B5,B7) TO LINE 3
   RES, ABT 70
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND CRSVD.EQ.0) GOTO 25                               FMC
   FUNC CLCON, ABT 70                                                    FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND.CRSVD.NE.0) GOTO 26                               FMC
   GOTO 27                                                               FMC
/                                                                        FMC
25 ERROR 3/24, GOTO 67                                                   FMC
26 ERROR 3/25, GOTO 67                                                   FMC
27 MSG 6 TO LINE 5
   PICTURE
   MSG 11 TO DISPLAY, PRINT 
   PAUSE                                                                 FMC
   RES, ABT 70                                                           FMC
/                                                                        FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND CRSVD.EQ.0) GOTO 35                               FMC
   FUNC CLCON, ABT 70                                                    FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND.CRSVD.NE.0) GOTO 36                               FMC
   GOTO 37                                                               FMC
/                                                                        FMC
35 ERROR 3/26, GOTO 67                                                   FMC
36 ERROR 3/27, GOTO 67                                                   FMC
37 MSG 5 TO LINE 5
   PICTURE
   MSG 11 TO DISPLAY, PRINT 
   PAUSE                                                                 FMC
   RES, ABT 70                                                           FMC
/                                                                        FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND CRSVD.EQ.0) GOTO 45                               FMC
   FUNC CLCON, ABT 70                                                    FMC
   FUNC CGS, ABT 70                                                      FMC
   IN 1 WORDS TO IB(GENSTAT), ABT 70                                     FMC
   IF (IB(GENSTAT).AND.CRSVD.NE.0) GOTO 46                               FMC
   GOTO 47                                                               FMC
/                                                                        FMC
45 ERROR 3/30, GOTO 67                                                   FMC
46 ERROR 3/31, GOTO 67                                                   FMC
47 MSG 4 TO LINE 5
   PICTURE
   MSG 11 TO DISPLAY, PRINT 
   PAUSE                                                                 FMC
   RES, ABT 70                                                           FMC
/                                                                        FMC
60 EXIT                                                                  FMC
67 EXIT                      *EXPECTED ERROR                             FMC
70 EXIT                      *UNEXPECTED ERROR                           FMC
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC76,6000(05,07,16),LOCK 
** 5.2.41 FMC76 - NOC 0 LED TEST
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC76 VERIFIES THAT THE NORMAL OUTPUT CHANNEL 0 LED-S ARE 
*         OPERATIONAL BY SETTING THEM TO A SERIES OF PATTERNS AND HAVING FMC
*         THE OPERATOR VISUALLY VERIFY THEM.                             FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*         A NUMBER OF PATTERNS ARE DISPLAYED IN SEQUENCE FOR ABOUT .25   FMC
*         SECONDS EACH ON THE LED-S.  THE .25 SECOND DELAY IS            FMC015 
*         ACCOMPLISHED BY USING THE CHANNEL TIMING FUNCTION CODE (0055)  FMC015 
*         TO TIME THE DEAD MAN TIMER BIT WHICH DOES NOT SET WITHIN THE   FMC015 
*         MAXIMUM ALLOWABLE TIME OF ABOUT .25 SECONDS.                   FMC015 
/                                                                        FMC
*         ENTRY-NO SPECIAL ENTRY CONDITIONS.                             FMC
*                                                                        FMC
*         EXIT-NO SPECIAL EXIT CONDITIONS.                               FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-                                         FMC
*         FMC760 - REPORT UNEXPECTED ERRORS 
*         FMC76G - DISPLAY OPERATOR INTERVENTION INSTRUCTIONS 
*         FMC981 - REPORT REPEAT MODULE ERRORS
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         B0 - TEST NUMBER                                               FMC
*         B1 - LOOP COUNT                                                FMC
*         B2 - DATA PATTERN INDEX                                        FMC
*         B3 - ERROR COUNT                                               FMC
*         B4 - OPNCPRM INDEX                                             FMC
*         B6 - UPPER 8 BITS OF NOC 0                                     FMC
*         B7 - LOWER 8 BITS OF NOC 0                                     FMC
*         ES, EC, EM, EA - STANDARD USAGE                                FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         OB(103) - CONTAINS THE DATA PATTERNS TO BE                     FMC
*                     DISPLAYED ON THE LED-S                             FMC
*         OB(504) - FLAG BITS                                            FMC
*           FLAG1 - EXPECTED (SET)/UNEXPECTED (CLEAR)                    FMC
*                   ERROR FLAG BIT                                       FMC
*         OB(100) - CONTAINS THE PARAMETERS WHICH                        FMC
*                     ARE SENT OUT FOLLOWING THE OUTPUT                  FMC
*                     ON PROCESSOR NORMAL CHANNEL                        FMC
*                     FUNCTION CODE.                                     FMC
*                                                                        FMC
*         REMARKS-                                                       FMC
*         BECAUSE OF THE OPERATION OF NOC-S 4 AND 5, THE                 FMC
*         LAST DATA PATTERN USED SHOULD BE ZERO.                         FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT FMC76 - NOC 0 LED TEST
2  FORMAT FMC76 - LC=*DECD, EC=*DECD
4  FORMAT FMC76 ERROR(S) = *DECD
5  FORMAT -PAUSE- SET REPEAT MODULE AND TYPE GO.
*                                                                        FMC
*         DATA PATTERNS                                                  FMC
*                                                                        FMC
   DATA (OB(103),CON) 000,377                                            FMC
   DATA (OB(105),CON) 001,002,004,010                                    FMC
   DATA (OB(111),CON) 020,040,100,200                                    FMC
   DATA (OB(115),CON) 177,277,337,357                                    FMC
   DATA (OB(121),CON) 367,373,375,376                                    FMC
   DATA (OB(125),CON) 377,000                                            FMC
*                                                                        FMC
*         FLAG EQUATES                                                   FMC
*                                                                        FMC
   EQUATE FLAG TO 504                                                    FMC
   EQUATE FLAG1S TO 0002, FLAG1C TO 7775                                 FMC
*                                                                        FMC
*         FUNCTION CODE EQUATES                                          FMC
*                                                                        FMC
   EQUATE OPCOM TO 0010      *CLEAR COUPLER CONNECT 
   EQUATE OPNC TO 0050                                                   FMC
   EQUATE ENOC TO 0053                                                   FMC
   EQUATE ITIME TO 0055                                                  FMC
*                                                                        FMC
*         BUFFER EQUATES                                                 FMC
*                                                                        FMC
   EQUATE SAVEU TO 502, SAVEL TO 503                                     FMC
   EQUATE OPNCPRM TO 100                                                 FMC
   EQUATE DATPAT TO 103                                                  FMC
   EQUATE TEMP TO 500                                                    FMC
*                                                                        FMC
*         MISCELLANEOUS EQUATES                                          FMC
*                                                                        FMC
   EQUATE NPAT TO 24         *NUMBER OF DATA PATTERNS                    FMC
*                                                                        FMC
*         PARAMETER EQUATES                                              FMC
*                                                                        FMC
   EQUATE DOPIN TO 0010      *DISABLE OPERATOR INTERVENTION              FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
20 MSG 1 TO DISPLAY, PRINT
   IF (P5.AND.DOPIN.EQ.0) GOTO 21                                        FMC
   IF (ES.AND.RM.EQ.0) EXIT                                              FMC
   EXIT TO 981                                                           FMC
*                                                                        FMC
21 MSG 5 TO DISPLAY, PRINT
   PAUSE                                                                 FMC
   MSG 1 TO DISPLAY, PRINT
   CALL 76G 
*                                                                        FMC
*        INITIALIZE.                                                     FMC
*                                                                        FMC
22 B0=161                    *TEST NUMBER 66 HEX                         FMC
   B1=0                      *LOOP COUNT                                 FMC
   B2=0                      *DATA PATTERN INDEX                         FMC
   B3=0                      *ERROR COUNT                                FMC
   B4=0                      *OPNCPRM INDEX                              FMC
   OB(B4+OPNCPRM)=0          *NOC NUMBER                                 FMC
*                                                                        FMC
24 PASS                      *BEGINNING OF PATTERN LOOP                  FMC
*                                                                        FMC
*        RESERVE, CONNECT, ETC.                                          FMC
*                                                                        FMC
30 RES, ABT 70                                                           FMC
   FUNC ENOC, ABT 70                                                     FMC
   STATUS 32D WORDS TO SB(0), ABT 70                                     FMC
   OB(SAVEU)=SB(0)                                                       FMC
   OB(SAVEL)=SB(1)                                                       FMC
   B6=SB(0).AND.374                                                      FMC
   B7=SB(1).AND.3                                                        FMC
*                                                                        FMC
*        PERFORM NOC 0 LED TEST.                                         FMC
*                                                                        FMC
40 B1=B1+1                                                               FMC
   RES, ABT 70                                                           FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
   B6=OB(B2+DATPAT).RS.6+B6                                              FMC
   B7=OB(B2+DATPAT).LS.2+B7                                              FMC
   B7=B7.AND.377                                                         FMC
*                                                                        FMC
*         BUILD PARAMETER WORDS                                          FMC
*                                                                        FMC
   B4=1                                                                  FMC
   OB(B4+OPNCPRM)=B6                                                     FMC
   B4=2                                                                  FMC
   OB(B4+OPNCPRM)=B7                                                     FMC
*                                                                        FMC
*         INITIATE TIMING (TO CAUSE A .5 SEC CONTROLLER                  FMC
*         HANG TO MAKE PATTERNS VISIBLE).                                FMC
*                                                                        FMC
   OB(TEMP)=0400             *DEAD MAN TIMEOUT BIT                       FMC
   FUNC ITIME, ABT 70                                                    FMC
   ACN, ABT 70                                                           FMC
   OUT 1 WORDS FROM OB(TEMP), ABT 70                                     FMC
*                                                                        FMC
*         OUTPUT ON NOC 0                                                FMC
*                                                                        FMC
   FUNC OPNC, ABT 70                                                     FMC
   ACN, ABT 70                                                           FMC
   OUT 3 WORDS FROM OB(OPNCPRM), ABT 70                                  FMC
   DELAY 510D MSEC                                                       FMC
*                                                                        FMC
*        FINALIZE.                                                       FMC
*                                                                        FMC
46 IF (ES.AND.RC.NE.0) GOTO 73   *IF REPEAT CONDITION SET 
   GOTO 24 WHILE (B2+1.LE.NPAT)  *END OF DATA PATTERN LOOP
   GOTO 75                       *TERMINATE                              FMC
*                                                                        FMC
*        PROCESS UNEXPECTED ERRORS.                                      FMC
*                                                                        FMC
70 B3 = B3 + 1               *INCREMENT ERROR COUNT 
72 IF(ES.AND.SL.EQ.0) GOTO 74  *IF SCOPE LOOP IS CLEAR, 
73 MSG 2 (B1,B3) TO DISPLAY  *SCOPE LOOP MESSAGE
   GOTO 40                   *GO TO REPEAT CONDITION
*                                                                        FMC
*        CALL APPROPRIATE DISPLAY SUBMODULE.                             FMC
*                                                                        FMC
*                                                                        FMC
74 CALL 760                  *UNEXPECTED ERROR DISPLAY
*                                                                        FMC
   IF (ES.AND.RC.NE.0) GOTO 40   *IF REPEAT CONDITION SET 
*                                                                        FMC
*        TERMINATE.                                                      FMC
*                                                                        FMC
75 B4=1                                                                  FMC
   OB(B4+OPNCPRM)=OB(SAVEU)                                              FMC
   B4=2                                                                  FMC
   OB(B4+OPNCPRM)=OB(SAVEL)                                              FMC
   RES, ABT 70                                                           FMC
   FUNC OPNC, ABT 70                                                     FMC
   ACN, ABT 70                                                           FMC
   OUT 3 WORDS FROM OB(OPNCPRM), ABT 70                                  FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
   RES, ABT 77
   FUNC OPCOM, ABT 77        *CLEAR COUPLER CONNECT 
77 IF (ES.AND.RM.NE.0) GOTO 22
   BLANK                                                                 FMC
   IF (B3.NE.0) MSG 4 (B3) TO DISPLAY, PRINT, DAYFILE                    FMC
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC76G,6000(05,07,16),LOCK
*   5.2.50.1 FMC76G - DISPLAY OPERATOR INSTRUCTIONS 
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC76G DISPLAYS INSTRUCTIONS TO THE OPERATOR TO TELL WHAT TO
*         DO IN THE EVENT OF A FAILURE OR NO FAILURE.                    FMC015 
/                                                                        FMC
*         ENTRY-NO SPECIAL ENTRY CONDITIONS.                             FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*         PP DISPLAY BUFFER UPDATED.                                     FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-NONE.                                           FMC
*                                                                        FMC
*         BUFFERS USED-NONE.                                             FMC
*                                                                        FMC
*                                                                        FMC
/        COMMON MESSAGES                                                 FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC76 - NOC 0 LED TEST
3  FORMAT PRESERVICE FORECAST GROUP FMDC                                 FMC
/                                                                        FMC
10 FORMAT OPERATOR INTERVENTION INSTRUCTION                              FMC
11 FORMAT VERIFY THAT LED-S ON CARD A16 TURN ON AND OFF.                 FMC
12 FORMAT IF NOT, SUCCESSIVELY REPLACE CARDS A16 AND A20.                FMC
13 FORMAT CLEAR REPEAT MODULE TO EXIT THIS MODULE.                       FMC
/                                                                        FMC
   EQUATE DATPAT TO 103                                                  FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
31 MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
/                                                                        FMC
40 MSG 10 TO LINE 12                                                     FMC
   MSG 11 TO LINE 14                                                     FMC
   IF (P4.AND.4000.EQ.0) GOTO 77                                         FMC
   MSG 12 TO LINE 15                                                     FMC
   MSG 13 TO LINE 16                                                     FMC
/                                                                        FMC
77 PICTURE
   EXIT 
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC760,6000(05,07,16),LOCK
*   5.2.50.2 FMC760 - REPORT UNEXPECTED ERRORS
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC760 DISPLAYS INFORMATION EXPANDING ON ALL
*         ERRORS OTHER THAN THOSE WHICH CAN BE INTERPRETED               FMC
*         FOR ISOLATION.                                                 FMC
*                                                                        FMC
*         METHOD-                                                        FMC
*                                                                        FMC
*         ENTRY-                                                         FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         SAME AS FMC76.
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         SAME AS FMC76.
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
/                                                                        FMC
*                                                                        FMC
1  FORMAT FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
2  FORMAT FMC76 - NOC 0 LED TEST
4  FORMAT FMC76 - LINE *OCT - ERROR NUMBER *H*HE
*         THE NEXT CARD IS A *CALL FMCXX0                                FMC012 
*CALL FMCXX0                                                             FMC012 
   MODULE FMC981,6000(05,07,16),LOCK
**  5.4.2 FMC981 - REPORT REPEAT MODULE ERROR                            FMC
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC981 DISPLAYS INSTRUCTIONS TO THE OPERATOR WHO SELECTED      FMC015 
*         REPEAT MODULE AND NOT OPERATOR INTERVENTION WHEN RUNNING A     FMC015 
*         MODULE REQUIRING OPERATOR INTERVENTION.                        FMC015 
/                                                                        FMC
*         ENTRY-NO SPECIAL ENTRY CONDITIONS                              FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*         FMC981 EXECUTES AN END STATEMENT.                              FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-NONE.                                           FMC
*                                                                        FMC
*         BUFFERS USED-NONE.                                             FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT AN ATTEMPT WAS MADE TO RUN A MODULE WHICH                      FMC
2  FORMAT REQUIRES OPERATOR INTERVENTION WITH THE DISABLE                FMC
3  FORMAT OPERATOR INTERVENTION BIT SET (P5 = XX1X) AND                  FMC
4  FORMAT REPEAT MODULE SET (SETSW RM).                                  FMC
5  FORMAT                                                                FMC
6  FORMAT CLEAR ONE OF THESE CONDITIONS BEFORE ATTEMPTING TO             FMC
7  FORMAT RUN THE MODULE AGAIN.                                          FMC
10 FORMAT -PAUSE- REPEAT MODULE CONFLICT
/                                                                        FMC
/                                                                        FMC
/                                                                        FMC
21 BLANK                                                                 FMC
   MSG 1 TO LINE 1                                                       FMC
   MSG 2 TO LINE 2                                                       FMC
   MSG 3 TO LINE 3                                                       FMC
   MSG 4 TO LINE 4                                                       FMC
   MSG 5 TO LINE 5                                                       FMC
   MSG 6 TO LINE 6                                                       FMC
   MSG 7 TO LINE 7                                                       FMC
   PICTURE
   MSG 10 TO DISPLAY, PRINT 
   PAUSE                                                                 FMC
   BLANK                                                                 FMC
   END 21                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC982,6000(05,07,16),LOCK
** 5.4.3  FMC982 - LOOP DATA THROUGH MAINTENANCE LOOP 
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC982 SETS MAINTENANCE LOOP AND LOOPS                         FMC
*         AN ENTIRE SECTOR OF DATA FROM THE BUFFER, THROUGH              FMC
*         THE LOOP, AND BACK INTO THE BUFFER.                            FMC
/ 
*         ENTRY-                                                         FMC
*         THE DATA MUST ALREADY BE WRITTEN INTO THE BUFFER MEMORY OF THE FMC
*         CONTROLLER.                                                    FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*         THE DATA IS LOOPED TO THE SAME ADDRESS IN THE BUFFER AS IT     FMC
*         WAS ORIGINALLY.                                                FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-                                                FMC
*         B13 - LOOP INDEX (CONTENTS ARE DESTROYED)                      FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         OB(502) - OB(504)  PARAMETERS FOR OUTPUTS ON PROCESSOR NORMAL  FMC
*                            CHANNELS AND CONTROL WORD SEQUENCES.        FMC
*                                                                        FMC
*                                                                        FMC
   EQUATE OPNC TO 0050                                                   FMC
   EQUATE ECWS TO 0051                                                   FMC
   EQUATE IPFP TO 0054       *ISSUE PROCESSOR FLAG PULSE
   EQUATE MCCL TO 0001       *MASTER CLEAR CONTROL LOGIC
* 
*         ISSUE MASTER CLEAR TO CLEAR DRIVE SELECT. 
* 
20 OB(502) = MCCL 
   RES, ABT 70
   FUNC IPFP, ABT 70         *ISSUE PROC FLAG PULSE 
   OUT 1 WORDS FROM OB(502), ABT 70 
/                                                                        FMC
/         OUTPUT ON NOC 6 TO SET WRITE, SET READ, 
/         SET LOAD (BUFFER ADDRESS AND UP/DOWN COUNT), AND
/         SET THE BUFFER ADDRESSES TO 13000B (FWA OF BUFFER). 
/                                                                        FMC
   OB(502)=6                                                             FMC
   OB(503)=266
   OB(504)=0                                                             FMC
   FUNC OPNC, ABT 70
   OUT 3 WORDS FROM OB(502), ABT 70 
   OB(503) = 326
   OB(504) = 20 
   FUNC OPNC, ABT 70                                                     FMC
   OUT 3 WORDS FROM OB(502), ABT 70                                      FMC
/                                                                        FMC
/         OUTPUT ON NOC 7 TO SET MAINTENANCE LOOP, DISABLE               FMC
/         PROCESSOR TO BUFFER, AND SET THE UP/DOWN COUNTER               FMC
*         TO 11B. 
/                                                                        FMC
   OB(502) = 7
   OB(503) = 340B 
   OB(504) = 11B
   IF(B12.EQ.0) OB(504) = 1 
   FUNC OPNC, ABT 70                                                     FMC
   OUT 3 WORDS FROM OB(502), ABT 70                                      FMC
* 
*         SEND ZEROES TO NOC 6. 
* 
   OB(502) = 6
   OB(503) = 0
   OB(504) = 0
   FUNC OPNC, ABT 70
   OUT 3 WORDS FROM OB(502), ABT 70 
/                                                                        FMC
/         CONTROL WORD SEQUENCE                                          FMC
/                                                                        FMC
   OB(502) = 3               *NUMBER OF CONTROL WORD PAIRS
/                                                                        FMC
/         BIT COUNT = 0400B 
/                                                                        FMC
   OB(503)=1
   OB(504)=0
   FUNC ECWS, ABT 70                                                     FMC
   OUT CHAIN 3 WORDS FROM OB(502), ABT 70                                FMC
/                                                                        FMC
/         CONTROLWORD = 40416B (PROCESSOR CLOCK, ENABLE 
/                       DATA TO BUFFER, WRITE GATE, 
/                       READ GATE, AND 16-BIT MODE).
/                                                                        FMC
   OB(502)=101                                                           FMC
   IF(B12.EQ.0) OB(502)=100  *FOR NIC 2 TEST
   OB(503)=16 
   OUT CHAIN 2 WORDS FROM OB(502), ABT 70                                FMC
* 
*         DELAY CONTROLWORD.
* 
   OB(502) = 0
   OB(503) = 100B 
   OB(504) = 0
   OUT CHAIN 2 WORDS FROM OB(502), ABT 70 
   OUT CHAIN 2 WORDS FROM OB(503), ABT 70 
/                                                                        FMC
/         BIT COUNT = 0, CONTROLWORD = 0.                                FMC
/                                                                        FMC
   OB(502)=0                                                             FMC
   OB(503)=0                                                             FMC
/                                                                        FMC
/         FILL OUT ALL 49D WORDS                                         FMC
/                                                                        FMC
   B13=0                                                                 FMC
50 OUT CHAIN 2 WORDS FROM OB(502), ABT 70                                FMC
   GOTO 50 WHILE (B13+1.LT.19D) 
   OUT 2 WORDS FROM OB(502), ABT 70                                      FMC
/ 
/         CLEAR DISABLE PROCESSOR TO BUFFER, ET. AL.
/ 
   OB(502) = 7
   OB(503) = 0
   OB(504) = 0
   FUNC OPNC, ABT 70
   OUT 3 WORDS FROM OB(502), ABT 70 
   EXIT                      *RETURN TO MODULE 20 
70 B9 = B9 + 40B             *SET MOD. 982 ERR FLAG 
   EXIT                      *RETURN TO MODULE 20 
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC983,6000(05,07,16),LOCK
**  5.4.4 FMC983 - GENERATE 48 BIT DATA PATTERNS                         FMC
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC983 FILLS THE OUTPUT BUFFER WITH ASSORTED 48 BIT DATA       FMC015 
*         PATTERNS.                                                      FMC015 
/                                                                        FMC
*         ENTRY-NO SPECIAL CONDITIONS.                                   FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*         THE OUTPUT BUFFER CONTAINS THE PATTERNS.                       FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-NONE.                                           FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         OB(100) - OB(217)                                              FMC
*                                                                        FMC
*         REMARKS-                                                       FMC
*                                                                        FMC
*         DRIVE         NOC                                              FMC
*         TYPE  PARCEL  NO.   VALUE                                      FMC
*         ----- ------  ---  -------                                     FMC
*          844    1     12D  124513B  DIVIDE POLYNOMIAL                  FMC
*                 2     13D  001320B  5224 5402 6400 0000                FMC
*                                                                        FMC
*          885    1     12D  120405B  DIVIDE POLYNOMIAL                  FMC
*                 2     13D  000240B  5020 2400 5000 0030                FMC
*                 3     14D  000030B                                     FMC
*                                                                        FMC
*          844    1     12D  013201B  REVERSED DIVIDE POLY.              FMC
*                 2     13D  122452B  0550 0645 1240 0000                FMC
*                                                                        FMC
*          885    1     12D  030001B  REVERSED DIVIDE POLY.              FMC
*                 2     13D  005000B  1400 0412 0004 0412                FMC
*                 3     14D  040412B                                     FMC
*                                                                        FMC
*                                                                        FMC
/                                                                        FMC
/         48 BIT POLYNOMIAL PATTERNS                                     FMC
/                                                                        FMC
   DATA (OB(100),CON) 0000,0000,0000,0000                                FMC
   DATA (OB(114),CON) 7777,7777,7777,7777                                FMC
   DATA (OB(110),CON) 2525,2525,2525,2525                                FMC
   DATA (OB(124),CON) 5252,5252,5252,5252                                FMC
   DATA (OB(120),CON) 7760,0377,7760,0377                                FMC
   DATA (OB(134),CON) 0017,7400,0017,7400                                FMC
   DATA (OB(130),CON) 0020,0401,0020,0401                                FMC
   DATA (OB(144),CON) 0040,1002,0040,1002                                FMC
   DATA (OB(140),CON) 0100,2004,0100,2004                                FMC
   DATA (OB(154),CON) 0200,4010,0200,4010                                FMC
   DATA (OB(150),CON) 0401,0020,0401,0020                                FMC
   DATA (OB(164),CON) 1002,0040,1002,0040                                FMC
   DATA (OB(160),CON) 2004,0100,2004,0100                                FMC
   DATA (OB(174),CON) 4010,0200,4010,0200                                FMC
/                                                                        FMC
/         DIVIDE AND REVERSED DIVIDE POLYNOMIALS                         FMC
/                                                                        FMC
   DATA (OB(200),CON) 5224,5402,6400,0000                                FMC
   DATA (OB(204),CON) 5020,2400,5000,0030                                FMC
   DATA (OB(210),CON) 0550,0645,1240,0000                                FMC
   DATA (OB(214),CON) 1400,0412,0004,0412                                FMC
20 EXIT                                                                  FMC
   END 20                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC985,6000(05,07,16),LOCK
** 5.4.6  FMC985 - DISPLAY STATUS                                        FMC008 
*                                                                        FMC008 
*         PURPOSE-                                                       FMC008 
*         FMC985 DISPLAYS GENERAL AND DETAILED STATUS IN                 FMC008 
*         OCTAL BEGINNING ON LINE 20.  IT IS MEANT TO BE                 FMC008 
*         EXITTED TO FROM AN ERROR DISPLAY SUBMODULE.                    FMC008 
*                                                                        FMC008 
*                                                                        FMC008 
/ 
*         THE NEXT CARD IS A *CALL FMCDS                                 FMC008 
*CALL FMCDS                                                              FMC008 
*IF -DEF,MVE
   MODULE FMC986,FMDFT(07,16),LOCK
** 5.4.7  FMC986 - DISPLAY STATUS                                        FMC010 
*                                                                        FMC010 
*         PURPOSE-                                                       FMC010 
*         FMC986 DISPLAYS GENERAL AND DETAILED STATUS IN                 FMC010 
*         OCTAL BEGINNING ON LINE 20.  IT IS MEANT TO BE                 FMC010 
*         EXITTED TO FROM AN ERROR DISPLAY SUBMODULE.                    FMC010 
*                                                                        FMC010 
*                                                                        FMC010 
/ 
*         THE NEXT CARD IS A *CALL FMCDS                                 FMC010 
*CALL FMCDS                                                              FMC010 
   MODULE FMC987,FMDHT(07,16),LOCK
** 5.4.8  FMC987 - DISPLAY STATUS 
*                                                                        FMC012 
*         PURPOSE-                                                       FMC012 
*         FMC987 DISPLAYS GENERAL AND DETAILED STATUS IN
*         OCTAL BEGINNING ON LINE 20.  IT IS MEANT TO BE                 FMC012 
*         EXITTED TO FROM AN ERROR DISPLAY SUBMODULE.                    FMC012 
*                                                                        FMC012 
*                                                                        FMC012 
/ 
*         THE NEXT CARD IS A *CALL FMCDS                                 FMC012 
*CALL FMCDS                                                              FMC012 
*ENDIF
   MODULE FMC989,6000(05,07,16),LOCK
**  5.4.10 FMC989 - CHECK SCRATCH FILE
* 
*         PURPOSE-
*         FMC989 CHECKS THAT VALID CONTROLWARE RESIDES ON SCRATCH FILE. 
/ 
*         ENTRY-
*         SCRATCH FILE ASSIGNED TO CONTROLWARE FILE 
* 
*         EXIT- 
*         B4 AND B5 INITIALIZED.
* 
*         SUBMODULES CALLED-NONE. 
* 
* 
*         REGISTERS USED- 
*         B4 - NUMBER OF CONTROLWARE BLOCKS.
*         B5 - RESIDUE (SIZE OF LAST BLOCK) 
* 
* 
/ 
* 
5  FORMAT CHECKING C-WARE LENGTH--*DECD BLOCKS READ 
/ 
   EQUATE MBLOCK TO 65, NBLOCK TO 56
* 
/        CHECK CONTROLWARE ON SCRATCH FILE
* 
20 SYSREW                          *REWIND SCRATCH FILE 
   B4=0 
22 SYSRD, STATUS TO B2
   IF (WT.EQ.0) GOTO 26            *IF NO WORDS XMIT, 
   IF (B4.NE.0) GOTO 25            *IF NOT FIRST BLOCK, 
   B8 = NBLOCK                     *7230D 16-BIT WORDS
   IF (IB.EQ.7700) GOTO 24         *IF 77-TABLE PRESENT,
   IF(IB(5).EQ.11)B8=MBLOCK        *8435D 16-BIT WORDS
   IF (IB.XOR.IB(1).EQ.140) GOTO 25 
23 ERROR 3/7, GOTO 27              *BAD CONTROLWARE 
24 IF(IB(125).EQ.11)B8=MBLOCK      *8435D 16-BIT WORDS
   IF(IB(120).XOR.IB(121).NE.140) GOTO 23 
25 B5 = WT                         *RESIDUE 
   MSG 5(B4) TO DISPLAY            *DISPLAY BLOCK COUNT 
   GOTO 22 WHILE (B4+1.LE.B8)      *B4 = NUMBER OF BLOCKS 
   ERROR 7/1, GOTO 27              *CONTROLWARE TOO LONG
* 
26 IF(B4.EQ.0) ERROR 3/6, GOTO 27  *SCRATCH EMPTY 
   IF(B4.NE.B8) ERROR 10/1, GOTO 27  *CWARE TOO SHORT 
* 
/         EXIT
* 
27 EXIT 
   END 20 
COMPILE 
   MODULE FMC98E,844HT(05),LOCK 
** 5.4.13 FMC98E - DISPLAY STATUS 
* 
*         PURPOSE-
*         FMC98E DISPLAYS GENERAL AND DETAILED STATUS IN
*         OCTAL BEGINNING ON LINE 20.  IT IS MEANT TO BE
*         EXITTED TO FROM AN ERROR DISPLAY SUBMODULE. 
* 
* 
/ 
*         THE NEXT CARD IS A *CALL FMCDS
*CALL FMCDS 
   MODULE FMC98F,844FT(05),LOCK 
** 5.4.14 FMC98F - DISPLAY STATUS 
* 
*         PURPOSE-
*         FMC98F DISPLAYS GENERAL AND DETAILED STATUS IN
*         OCTAL BEGINNING ON LINE 20.  IT IS MEANT TO BE
*         EXITTED TO FROM AN ERROR DISPLAY SUBMODULE. 
* 
* 
/ 
*         THE NEXT CARD IS A *CALL FMCDS
*CALL FMCDS 
   MODULE FMC98I,844HT(05),LOCK 
**  5.4.15 FMC98I - GENERATE 48 BIT DATA PATTERNS 
* 
*         PURPOSE-
*         FMC98I FILLS THE OUTPUT BUFFER WITH ASSORTED 48 BIT DATA
*         PATTERNS. 
/ 
*         ENTRY-NO SPECIAL CONDITIONS.
* 
*         EXIT- 
*         THE OUTPUT BUFFER CONTAINS THE PATTERNS.
* 
*         SUBMODULES REFERENCED-NONE. 
* 
*         REGISTERS USED-NONE.
* 
*         BUFFERS USED- 
*         OB(100) - OB(217) 
* 
*         REMARKS-
* 
*         DRIVE         NOC 
*         TYPE  PARCEL  NO.   VALUE 
*         ----- ------  ---  -------
*          844    1     12D  124513B  DIVIDE POLYNOMIAL 
*                 2     13D  001320B  5224 5402 6400 0000 
* 
*          885    1     12D  120405B  DIVIDE POLYNOMIAL 
*                 2     13D  000240B  5020 2400 5000 0030 
*                 3     14D  000030B
* 
*          844    1     12D  013201B  REVERSED DIVIDE POLY. 
*                 2     13D  122452B  0550 0645 1240 0000 
* 
*          885    1     12D  030001B  REVERSED DIVIDE POLY. 
*                 2     13D  005000B  1400 0412 0004 0412 
*                 3     14D  040412B
* 
* 
/ 
/         48 BIT POLYNOMIAL PATTERNS
/ 
   DATA (OB(100),CON) 0000,0000,0000,0000 
   DATA (OB(114),CON) 7777,7777,7777,7777 
   DATA (OB(110),CON) 2525,2525,2525,2525 
   DATA (OB(124),CON) 5252,5252,5252,5252 
   DATA (OB(120),CON) 7760,0377,7760,0377 
   DATA (OB(134),CON) 0017,7400,0017,7400 
   DATA (OB(130),CON) 0020,0401,0020,0401 
   DATA (OB(144),CON) 0040,1002,0040,1002 
   DATA (OB(140),CON) 0100,2004,0100,2004 
   DATA (OB(154),CON) 0200,4010,0200,4010 
   DATA (OB(150),CON) 0401,0020,0401,0020 
   DATA (OB(164),CON) 1002,0040,1002,0040 
   DATA (OB(160),CON) 2004,0100,2004,0100 
   DATA (OB(174),CON) 4010,0200,4010,0200 
/ 
/         DIVIDE AND REVERSED DIVIDE POLYNOMIALS
/ 
   DATA (OB(200),CON) 5224,5402,6400,0000 
   DATA (OB(204),CON) 5020,2400,5000,0030 
   DATA (OB(210),CON) 0550,0645,1240,0000 
   DATA (OB(214),CON) 1400,0412,0004,0412 
20 EXIT 
   END 20 
COMPILE 
*IF -DEF,MVE
   MODULE FMC98K,FMDHT(07),LOCK 
**  5.4.16 FMC98K - GENERATE 48 BIT DATA PATTERNS 
* 
*         PURPOSE-
*         FMC98K FILLS THE OUTPUT BUFFER WITH ASSORTED 48 BIT DATA
*         PATTERNS. 
/ 
*         ENTRY-NO SPECIAL CONDITIONS.
* 
*         EXIT- 
*         THE OUTPUT BUFFER CONTAINS THE PATTERNS.
* 
*         SUBMODULES REFERENCED-NONE. 
* 
*         REGISTERS USED-NONE.
* 
*         BUFFERS USED- 
*         OB(100) - OB(217) 
* 
*         REMARKS-
* 
*         DRIVE         NOC 
*         TYPE  PARCEL  NO.   VALUE 
*         ----- ------  ---  -------
*          844    1     12D  124513B  DIVIDE POLYNOMIAL 
*                 2     13D  001320B  5224 5402 6400 0000 
* 
*          885    1     12D  120405B  DIVIDE POLYNOMIAL 
*                 2     13D  000240B  5020 2400 5000 0030 
*                 3     14D  000030B
* 
*          844    1     12D  013201B  REVERSED DIVIDE POLY. 
*                 2     13D  122452B  0550 0645 1240 0000 
* 
*          885    1     12D  030001B  REVERSED DIVIDE POLY. 
*                 2     13D  005000B  1400 0412 0004 0412 
*                 3     14D  040412B
* 
* 
/ 
/         48 BIT POLYNOMIAL PATTERNS
/ 
   DATA (OB(100),CON) 0000,0000,0000,0000 
   DATA (OB(114),CON) 7777,7777,7777,7777 
   DATA (OB(110),CON) 2525,2525,2525,2525 
   DATA (OB(124),CON) 5252,5252,5252,5252 
   DATA (OB(120),CON) 7760,0377,7760,0377 
   DATA (OB(134),CON) 0017,7400,0017,7400 
   DATA (OB(130),CON) 0020,0401,0020,0401 
   DATA (OB(144),CON) 0040,1002,0040,1002 
   DATA (OB(140),CON) 0100,2004,0100,2004 
   DATA (OB(154),CON) 0200,4010,0200,4010 
   DATA (OB(150),CON) 0401,0020,0401,0020 
   DATA (OB(164),CON) 1002,0040,1002,0040 
   DATA (OB(160),CON) 2004,0100,2004,0100 
   DATA (OB(174),CON) 4010,0200,4010,0200 
/ 
/         DIVIDE AND REVERSED DIVIDE POLYNOMIALS
/ 
   DATA (OB(200),CON) 5224,5402,6400,0000 
   DATA (OB(204),CON) 5020,2400,5000,0030 
   DATA (OB(210),CON) 0550,0645,1240,0000 
   DATA (OB(214),CON) 1400,0412,0004,0412 
20 EXIT 
   END 20 
COMPILE 
*ENDIF
   MODULE FMC98L,6000(05,07),LOCK 
** 5.4.17 FMC98L - NORMAL INPUT CHANNEL STATUS DISPLAY
* 
*         PURPOSE-
*         FMC98L DISPLAYS NORMAL INPUT CHANNEL STATUS IN
*         HEXADECIMAL BEGINNING ON LINE 20.  IT IS MEANT
*         TO BE EXITTED TO FROM AN ERROR DISPLAY SUBMODULE. 
/ 
*         ENTRY-
*         SB(1)-SB(40) CONTAINS NORMAL INPUT CHANNEL STATUS 
* 
*         EXIT-NONE.
* 
*         SUBMODULES REFERENCED-NONE. 
* 
*         REGISTERS USED-NONE.
* 
*         BUFFERS USED-SB.
* 
1  FORMAT NORMAL INPUT CHANNEL STATUS(HEXADECIMAL)
2  FORMAT NIC 00D - 03D    *H*HH *H*HH *H*HH *H*HH
3  FORMAT NIC 04D - 07D    *H*HH *H*HH *H*HH *H*HH
4  FORMAT NIC 08D - 11D    *H*HH *H*HH *H*HH *H*HH
5  FORMAT NIC 12D - 15D    *H*HH *H*HH *H*HH *H*HH
6  FORMAT NORMAL OUTPUT CHANNEL STATUS(HEXADECIMAL) 
/ 
30 IF (ES.AND.TM.EQ.0) GOTO 40
   PICTURE
   HALT 
   IF (P5.AND.4000.NE.0) GOTO 60
   MSG 1 TO LINE 12 
   IF (LF.EQ.53) MSG 6 TO LINE 12 
   MSG 2 10 WORDS FROM SB(1) TO LINE 13 
   MSG 3 10 WORDS FROM SB(11) TO LINE 14
   MSG 4 10 WORDS FROM SB(21) TO LINE 15
   MSG 5 10 WORDS FROM SB(31) TO LINE 16
   GOTO 50
40 IF (P5.AND.4000.NE.0) GOTO 50
   MSG 1 TO LINE 20 
   IF (LF.EQ.53) MSG 6 TO LINE 20 
   MSG 2 10 WORDS FROM SB(1) TO LINE 21 
   MSG 3 10 WORDS FROM SB(11) TO LINE 22
   MSG 4 10 WORDS FROM SB(21) TO LINE 23
   MSG 5 10 WORDS FROM SB(31) TO LINE 24
50 PICTURE
   HALT 
60 BLANK
   EXIT 
   END 30 
COMPILE 
   MODULE FMC98M,844HT(05),LOCK 
** 5.4.18 FMC98M - NORMAL INPUT CHANNEL STATUS DISPLAY
* 
*         PURPOSE-
*         FMC98M DISPLAYS NORMAL INPUT CHANNEL STATUS IN
*         HEXADECIMAL BEGINNING ON LINE 20.  IT IS MEANT
*         TO BE EXITTED TO FROM AN ERROR DISPLAY SUBMODULE. 
/ 
*         ENTRY-
*         SB(1)-SB(40) CONTAINS NORMAL INPUT CHANNEL STATUS 
* 
*         EXIT-NONE.
* 
*         SUBMODULES REFERENCED-NONE. 
* 
*         REGISTERS USED-NONE.
* 
*         BUFFERS USED-SB.
* 
1  FORMAT NORMAL INPUT CHANNEL STATUS(HEXADECIMAL)
2  FORMAT NIC 00D - 03D    *H*HH *H*HH *H*HH *H*HH
3  FORMAT NIC 04D - 07D    *H*HH *H*HH *H*HH *H*HH
4  FORMAT NIC 08D - 11D    *H*HH *H*HH *H*HH *H*HH
5  FORMAT NIC 12D - 15D    *H*HH *H*HH *H*HH *H*HH
6  FORMAT NORMAL OUTPUT CHANNEL STATUS(HEXADECIMAL) 
/ 
30 IF (ES.AND.TM.EQ.0) GOTO 40
   PICTURE
   HALT 
   IF (P5.AND.4000.NE.0) GOTO 60
   MSG 1 TO LINE 12 
   IF (LF.EQ.53) MSG 6 TO LINE 12 
   MSG 2 10 WORDS FROM SB(1) TO LINE 13 
   MSG 3 10 WORDS FROM SB(11) TO LINE 14
   MSG 4 10 WORDS FROM SB(21) TO LINE 15
   MSG 5 10 WORDS FROM SB(31) TO LINE 16
   GOTO 50
40 IF (P5.AND.4000.NE.0) GOTO 50
   MSG 1 TO LINE 20 
   IF (LF.EQ.53) MSG 6 TO LINE 20 
   MSG 2 10 WORDS FROM SB(1) TO LINE 21 
   MSG 3 10 WORDS FROM SB(11) TO LINE 22
   MSG 4 10 WORDS FROM SB(21) TO LINE 23
   MSG 5 10 WORDS FROM SB(31) TO LINE 24
50 PICTURE
   HALT 
60 BLANK
   EXIT 
   END 30 
COMPILE 
*IF -DEF,MVE
   MODULE FMC98N,FMDHT(07),LOCK 
** 5.4.19 FMC98N - NORMAL INPUT CHANNEL STATUS DISPLAY
* 
*         PURPOSE-
*         FMC98N DISPLAYS NORMAL INPUT CHANNEL STATUS IN
*         HEXADECIMAL BEGINNING ON LINE 20.  IT IS MEANT
*         TO BE EXITTED TO FROM AN ERROR DISPLAY SUBMODULE. 
/ 
*         ENTRY-
*         SB(1)-SB(40) CONTAINS NORMAL INPUT CHANNEL STATUS 
* 
*         EXIT-NONE.
* 
*         SUBMODULES REFERENCED-NONE. 
* 
*         REGISTERS USED-NONE.
* 
*         BUFFERS USED-SB.
* 
1  FORMAT NORMAL INPUT CHANNEL STATUS(HEXADECIMAL)
2  FORMAT NIC 00D - 03D    *H*HH *H*HH *H*HH *H*HH
3  FORMAT NIC 04D - 07D    *H*HH *H*HH *H*HH *H*HH
4  FORMAT NIC 08D - 11D    *H*HH *H*HH *H*HH *H*HH
5  FORMAT NIC 12D - 15D    *H*HH *H*HH *H*HH *H*HH
6  FORMAT NORMAL OUTPUT CHANNEL STATUS(HEXADECIMAL) 
/ 
30 IF (ES.AND.TM.EQ.0) GOTO 40
   PICTURE
   HALT 
   IF (P5.AND.4000.NE.0) GOTO 60
   MSG 1 TO LINE 12 
   IF (LF.EQ.53) MSG 6 TO LINE 12 
   MSG 2 10 WORDS FROM SB(1) TO LINE 13 
   MSG 3 10 WORDS FROM SB(11) TO LINE 14
   MSG 4 10 WORDS FROM SB(21) TO LINE 15
   MSG 5 10 WORDS FROM SB(31) TO LINE 16
   GOTO 50
40 IF (P5.AND.4000.NE.0) GOTO 50
   MSG 1 TO LINE 20 
   IF (LF.EQ.53) MSG 6 TO LINE 20 
   MSG 2 10 WORDS FROM SB(1) TO LINE 21 
   MSG 3 10 WORDS FROM SB(11) TO LINE 22
   MSG 4 10 WORDS FROM SB(21) TO LINE 23
   MSG 5 10 WORDS FROM SB(31) TO LINE 24
50 PICTURE
   HALT 
60 BLANK
   EXIT 
   END 30 
COMPILE 
*ENDIF
   MODULE FMC98Q,LSFMD2(16),LOCK
** 5.4.7  FMC98Q - DISPLAY STATUS 
* 
*         PURPOSE-
*         FMC98Q DISPLAYS GENERAL AND DETAILED STATUS IN
*         OCTAL BEGINNING ON LINE 20.  IT IS MEANT TO BE
*         EXITTED TO FROM AN ERROR DISPLAY SUBMODULE. 
* 
* 
/ 
*         THE NEXT CARD IS A *CALL FMCDS
*CALL FMCDS 
   MODULE FMC98R,LSFMD1(16),LOCK
** 5.4.8  FMC98R - DISPLAY STATUS 
* 
*         PURPOSE-
*         FMC98R DISPLAYS GENERAL AND DETAILED STATUS IN
*         OCTAL BEGINNING ON LINE 20.  IT IS MEANT TO BE
*         EXITTED TO FROM AN ERROR DISPLAY SUBMODULE. 
* 
* 
/ 
*         THE NEXT CARD IS A *CALL FMCDS
*CALL FMCDS 
   MODULE FMC98S,LSFMD1(16),LOCK
**  5.4.16 FMC98S - GENERATE 48 BIT DATA PATTERNS 
* 
*         PURPOSE-
*         FMC98S FILLS THE OUTPUT BUFFER WITH ASSORTED 48 BIT DATA
*         PATTERNS. 
/ 
*         ENTRY-NO SPECIAL CONDITIONS.
* 
*         EXIT- 
*         THE OUTPUT BUFFER CONTAINS THE PATTERNS.
* 
*         SUBMODULES REFERENCED-NONE. 
* 
*         REGISTERS USED-NONE.
* 
*         BUFFERS USED- 
*         OB(100) - OB(217) 
* 
*         REMARKS-
* 
*         DRIVE         NOC 
*         TYPE  PARCEL  NO.   VALUE 
*         ----- ------  ---  -------
*          844    1     12D  124513B  DIVIDE POLYNOMIAL 
*                 2     13D  001320B  5224 5402 6400 0000 
* 
*          885    1     12D  120405B  DIVIDE POLYNOMIAL 
*                 2     13D  000240B  5020 2400 5000 0030 
*                 3     14D  000030B
* 
*          844    1     12D  013201B  REVERSED DIVIDE POLY. 
*                 2     13D  122452B  0550 0645 1240 0000 
* 
*          885    1     12D  030001B  REVERSED DIVIDE POLY. 
*                 2     13D  005000B  1400 0412 0004 0412 
*                 3     14D  040412B
* 
* 
/ 
/         48 BIT POLYNOMIAL PATTERNS
/ 
   DATA (OB(100),CON) 0000,0000,0000,0000 
   DATA (OB(114),CON) 7777,7777,7777,7777 
   DATA (OB(110),CON) 2525,2525,2525,2525 
   DATA (OB(124),CON) 5252,5252,5252,5252 
   DATA (OB(120),CON) 7760,0377,7760,0377 
   DATA (OB(134),CON) 0017,7400,0017,7400 
   DATA (OB(130),CON) 0020,0401,0020,0401 
   DATA (OB(144),CON) 0040,1002,0040,1002 
   DATA (OB(140),CON) 0100,2004,0100,2004 
   DATA (OB(154),CON) 0200,4010,0200,4010 
   DATA (OB(150),CON) 0401,0020,0401,0020 
   DATA (OB(164),CON) 1002,0040,1002,0040 
   DATA (OB(160),CON) 2004,0100,2004,0100 
   DATA (OB(174),CON) 4010,0200,4010,0200 
/ 
/         DIVIDE AND REVERSED DIVIDE POLYNOMIALS
/ 
   DATA (OB(200),CON) 5224,5402,6400,0000 
   DATA (OB(204),CON) 5020,2400,5000,0030 
   DATA (OB(210),CON) 0550,0645,1240,0000 
   DATA (OB(214),CON) 1400,0412,0004,0412 
20 EXIT 
   END 20 
COMPILE 
   MODULE FMC98T,LSFMD1(16),LOCK
** 5.4.19 FMC98T - NORMAL INPUT CHANNEL STATUS DISPLAY
* 
*         PURPOSE-
*         FMC98T DISPLAYS NORMAL INPUT CHANNEL STATUS IN
*         HEXADECIMAL BEGINNING ON LINE 20.  IT IS MEANT
*         TO BE EXITTED TO FROM AN ERROR DISPLAY SUBMODULE. 
/ 
*         ENTRY-
*         SB(1)-SB(40) CONTAINS NORMAL INPUT CHANNEL STATUS 
* 
*         EXIT-NONE.
* 
*         SUBMODULES REFERENCED-NONE. 
* 
*         REGISTERS USED-NONE.
* 
*         BUFFERS USED-SB.
* 
1  FORMAT NORMAL INPUT CHANNEL STATUS(HEXADECIMAL)
2  FORMAT NIC 00D - 03D    *H*HH *H*HH *H*HH *H*HH
3  FORMAT NIC 04D - 07D    *H*HH *H*HH *H*HH *H*HH
4  FORMAT NIC 08D - 11D    *H*HH *H*HH *H*HH *H*HH
5  FORMAT NIC 12D - 15D    *H*HH *H*HH *H*HH *H*HH
6  FORMAT NORMAL OUTPUT CHANNEL STATUS(HEXADECIMAL) 
/ 
30 IF (ES.AND.TM.EQ.0) GOTO 40
   PICTURE
   HALT 
   IF (P5.AND.4000.NE.0) GOTO 60
   MSG 1 TO LINE 12 
   IF (LF.EQ.53) MSG 6 TO LINE 12 
   MSG 2 10 WORDS FROM SB(1) TO LINE 13 
   MSG 3 10 WORDS FROM SB(11) TO LINE 14
   MSG 4 10 WORDS FROM SB(21) TO LINE 15
   MSG 5 10 WORDS FROM SB(31) TO LINE 16
   GOTO 50
40 IF (P5.AND.4000.NE.0) GOTO 50
   MSG 1 TO LINE 20 
   IF (LF.EQ.53) MSG 6 TO LINE 20 
   MSG 2 10 WORDS FROM SB(1) TO LINE 21 
   MSG 3 10 WORDS FROM SB(11) TO LINE 22
   MSG 4 10 WORDS FROM SB(21) TO LINE 23
   MSG 5 10 WORDS FROM SB(31) TO LINE 24
50 PICTURE
   HALT 
60 BLANK
   EXIT 
   END 30 
COMPILE 
   MODULE FMC98Y,6000(05,07,16),LOCK
** 5.4.20 FMC98Y - BUFFER DUMP
* 
*         PURPOSE-
*         FMC98Y DUMPS PARAMETERS, REGISTERS, AND BUFFERS                FMC
*         TO THE PRINT FILE.  TO USE, INSERT AN EXIT TO 98Y IN
*         THE MODULE WHOSE REGISTERS AND BUFFERS ARE TO BE DUMPED.
*         BECAUSE OF THE AMOUNT OF DATA PRESENTED BY THIS MODULE, THE 
*         K/L DISPLAY OR HARD-COPY PRINT TERMINAL SHOULD BE USED. 
/                                                                        FMC
*         CALLING SEQUENCE- 
*         EXIT TO 98Y 
* 
*         ENTRY-NO SPECIAL ENTRY CONDITIONS.                             FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*         THE CONTENTS OF B13, B14, AND B15 ARE DESTROYED.               FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-NONE.                                           FMC
*                                                                        FMC
*         BUFFERS USED-ALL.                                              FMC
*                                                                        FMC
*                                                                        FMC
1  FORMAT FMC98Y- BUFFER DUMP                                            FMC
2  FORMAT INPUT BUFFER                                                   FMC
3  FORMAT STATUS BUFFER                                                  FMC
6  FORMAT OUTPUT BUFFER                                                  FMC
7  FORMAT B0 - B3  *OCT *OCT *OCT *OCT                                   FMC
10 FORMAT B4 - B7  *OCT *OCT *OCT *OCT                                   FMC
11 FORMAT BA=*OCT   WC=*OCT   LF=*OCT   WT=*OCT                          FMC
13 FORMAT P0 - P4  *OCT *OCT *OCT *OCT *OCT                              FMC
14 FORMAT P5 - P9  *OCT *OCT *OCT *OCT *OCT                              FMC
15 FORMAT EA=*OCT   EC=*OCT   EM=*OCT   ES=*OCT                          FMC
16 FORMAT REGISTERS                                                      FMC
17 FORMAT PARAMETERS                                                     FMC
20 FORMAT B8 - B11 *OCT *OCT *OCT *OCT                                   FMC
21 FORMAT B12- B15 *OCT *OCT *OCT *OCT                                   FMC
23 FORMAT *OCT *OCT *OCT *OCT *OCT *OCT *OCT *OCT                        FMC
24 FORMAT                                                                FMC
*                                                                        FMC
/         EQUATES                                                        FMC
*                                                                        FMC
30 PICTURE                                                               FMC
   BLANK                                                                 FMC
   MSG 1 TO DISPLAY, PRINT, DAYFILE                                      FMC
*                                                                        FMC
/         DISPLAY REGISTERS                                              FMC
*                                                                        FMC
   MSG 24 TO PRINT                                                       FMC
   MSG 16 TO PRINT                                                       FMC
   MSG 24 TO PRINT                                                       FMC
   MSG 7 (B0,B1,B2,B3) TO PRINT                                          FMC
   MSG 10 (B4,B5,B6,B7) TO PRINT                                         FMC
   MSG 20 (B8,B9,B10,B11) TO PRINT                                       FMC
   MSG 21 (B12,B13,B14,B15) TO PRINT                                     FMC
   MSG 24 TO PRINT                                                       FMC
   MSG 11 (BA,WC,LF,WT) TO PRINT                                         FMC
   MSG 15(EA,EC,EM,ES) TO PRINT                                          FMC
*                                                                        FMC
/         DISPLAY PARAMETERS                                             FMC
*                                                                        FMC
   MSG 24 TO PRINT                                                       FMC
   MSG 17 TO PRINT                                                       FMC
   MSG 24 TO PRINT                                                       FMC
   MSG 13(P0,P1,P2,P3,P4) TO PRINT                                       FMC
   MSG 14(P5,P6,P7,P8,P9) TO PRINT                                       FMC
*                                                                        FMC
/         DUMP STATUS BUFFER                                             FMC
*                                                                        FMC
   B13=0                                                                 FMC
   MSG 24 TO PRINT                                                       FMC
   MSG 3 TO PRINT                                                        FMC
   MSG 24 TO PRINT                                                       FMC
35 MSG 23 10 WORDS FROM SB(B13) TO PRINT                                 FMC
   GOTO 35 WHILE (B13+10.LT.70)                                          FMC
   MSG 23 4 WORDS FROM SB(70) TO PRINT                                   FMC
*                                                                        FMC
/         DUMP INPUT BUFFER                                              FMC
*                                                                        FMC
   B14=0                                                                 FMC
   MSG 24 TO PRINT                                                       FMC
   MSG 2 TO PRINT                                                        FMC
37 MSG 24 TO PRINT                                                       FMC
   B13=0                                                                 FMC
40 B15=B14.LS.6.+B13                                                     FMC
   MSG 23 10 WORDS FROM IB(B15) TO PRINT                                 FMC
   GOTO 40 WHILE (B13+10.LT 100)                                         FMC
   GOTO 37 WHILE (B14+1.LT.5)                                            FMC
   MSG 23 5 WORDS FROM IB(500) TO PRINT                                  FMC
*                                                                        FMC
/         DUMP OUTPUT BUFFER                                             FMC
*                                                                        FMC
   B14=0                                                                 FMC
   MSG 24 TO PRINT                                                       FMC
   MSG 6 TO PRINT                                                        FMC
47 MSG 24 TO PRINT                                                       FMC
   B13=0                                                                 FMC
50 B15=B14.LS.6.+B13                                                     FMC
   MSG 23 10 WORDS FROM OB(B15) TO PRINT                                 FMC
   GOTO 50 WHILE (B13+10.LT 100)                                         FMC
   GOTO 47 WHILE (B14+1.LT.5)                                            FMC
   MSG 23 5 WORDS FROM OB(500) TO PRINT                                  FMC
/                                                                        FMC
77 PASS                                                                  FMC
   EXIT                                                                  FMC
   END 30                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC98Z,6000(05,07,16),LOCK
** 5.4.21 FMC98Z - MEMORY/REGISTER DUMP 
*                                                                        FMC
*         PURPOSE-                                                       FMC
*         FMC98Z DUMPS PARAMETERS, REGISTERS, BUFFERS, AND               FMC
*         NORMAL CHANNELS TO THE DISPLAY BUFFER, PRINTS THE              FMC
*         INFORMATION, AND PAUSES.                                       FMC
*         BECAUSE OF THE AMOUNT OF DATA PRESENTED BY THIS MODULE, THE 
*         K/L DISPLAY OR HARD-COPY PRINT TERMINAL SHOULD BE USED.  THE
*         AMOUNT AND KINDS OF DATA DISPLAYED IS CONTROLLED THRU THE 
*         USE OF PASS AND GOTO STATEMENTS.
/                                                                        FMC
*         CALLING SEQUENCE- 
*         EXIT TO 98Z 
* 
*         ENTRY-                                                         FMC
*         THE USER MUST DELETE SOME OF THE LINES TO ENABLE               FMC
*         NORMAL CHANNEL DISPLAYS.                                       FMC
*                                                                        FMC
*         EXIT-                                                          FMC
*         THE CONTENTS OF IB(377) THROUGH IB(440) ARE DESTROYED.         FMC
*                                                                        FMC
*         SUBMODULES REFERENCED-NONE.                                    FMC
*                                                                        FMC
*         REGISTERS USED-NONE.                                           FMC
*                                                                        FMC
*         BUFFERS USED-                                                  FMC
*         IB(400) THROUGH IB(436) HOLD THE NORMAL CHANNEL                FMC
*         VALUES IF THEY ARE SELECTED TO BE DISPLAYED.                   FMC
*                                                                        FMC
/         REMARKS-                                                       FMC
/                                                                        FMC
/         DATA PACKING-                                                  FMC
/                                                                        FMC
/                                IB(B0+2)                                FMC
/                                                                        FMC
/                            AAA ABB BBB BBB                             FMC
/             IB(B0+1)           /         /                             FMC
/                               /         /                              FMC
/         AAA ABB BBB BBB      /         /                               FMC
/               \\  \\  \\    /         /                                FMC
/        XXX XXB BBB BBB \\  /         /                                 FMC
/                         \\/         /                                  FMC
/            IB(B0)    XXX BBB BBB BBB                                   FMC
/                                                                        FMC
/                          IB(B0+1)                                      FMC
/                                                                        FMC
/                                                                        FMC
1  FORMAT FMC98Z- MEMORY/REGISTER DUMP                                   FMC
2  FORMAT INPUT BUFFER  IB(0) - IB(37)                                   FMC
3  FORMAT STATUS BUFFER                                                  FMC
4  FORMAT INPUT CHANNEL STATUS                                           FMC
5  FORMAT OUTPUT CHANNEL STATUS                                          FMC
6  FORMAT OUTPUT BUFFER  OB(0) - OB(37)                                  FMC
7  FORMAT B0 - B3  *OCT *OCT *OCT *OCT                                   FMC
10 FORMAT B4 - B7  *OCT *OCT *OCT *OCT                                   FMC
11 FORMAT BA=*OCT   WC=*OCT   LF=*OCT   WT=*OCT                          FMC
12 FORMAT CHANNEL    CONTENTS OF NIC (OCTAL)                             FMC
13 FORMAT P0 - P4  *OCT *OCT *OCT *OCT *OCT                              FMC
14 FORMAT P5 - P9  *OCT *OCT *OCT *OCT *OCT                              FMC
15 FORMAT EA=*OCT   EC=*OCT   EM=*OCT   ES=*OCT                          FMC
16 FORMAT REGISTERS                                                      FMC
17 FORMAT PARAMETERS                                                     FMC
20 FORMAT B8 - B11 *OCT *OCT *OCT *OCT                                   FMC
21 FORMAT B12- B15 *OCT *OCT *OCT *OCT                                   FMC
22 FORMAT CHANNEL    CONTENTS OF NOC (OCTAL)                             FMC
23 FORMAT *OCT *OCT *OCT *OCT *OCT *OCT *OCT *OCT                        FMC
*  FORMAT                WORD   DETAILED STATUS (OCTAL)                  FMC
*  FORMAT GENERAL STATUS   1   *OCT *OCT *OCT *OCT *OCT                  FMC
*  FORMAT    = *OCTB       6   *OCT *OCT *OCT *OCT *OCT                  FMC
*  FORMAT                 11D  *OCT *OCT *OCT *OCT *OCT                  FMC
*  FORMAT                 16D  *OCT *OCT *OCT *OCT *OCT                  FMC
25 FORMAT    0     *OC*OC *OC*OC *OC*OC *OC*OC                           FMC
26 FORMAT    4     *OC*OC *OC*OC *OC*OC *OC*OC                           FMC
27 FORMAT    8     *OC*OC *OC*OC *OC*OC *OC*OC                           FMC
30 FORMAT   12D    *OC*OC *OC*OC *OC*OC *OC*OC                           FMC
*                                                                        FMC
*         EQUATES                                                        FMC
*                                                                        FMC
   EQUATE ENOC TO 53                                                     FMC
   EQUATE IPCS TO 52                                                     FMC
   EQUATE DSTAT20 TO 0023                                                FMC
*                                                                        FMC
31 PICTURE                                                               FMC
   BLANK                                                                 FMC
   MSG 1 TO DISPLAY, PRINT, DAYFILE                                      FMC
*                                                                        FMC
*         DISPLAY REGISTERS                                              FMC
*                                                                        FMC
32 PASS                      *GOTO 33 TO BYPASS REGISTERS 
*  GOTO 33                   *DELETE / TO AVOID REGISTERS                FMC
   MSG 16 TO LINE 1                                                      FMC
   MSG 7 (B0,B1,B2,B3) TO LINE 3                                         FMC
   MSG 10 (B4,B5,B6,B7) TO LINE 4                                        FMC
   MSG 20 (B8,B9,B10,B11) TO LINE 5                                      FMC
   MSG 21 (B12,B13,B14,B15) TO LINE 6                                    FMC
   MSG 11 (BA,WC,LF,WT) TO LINE 10                                       FMC
   MSG 15(EA,EC,EM,ES) TO LINE 11                                        FMC
*                                                                        FMC
*         DISPLAY PARAMETERS                                             FMC
*                                                                        FMC
33 PASS                      *GOTO 34 TO BYPASS PARAMETERS
*  GOTO 34                   *DELETE / TO AVOID PARAMETERS               FMC
   MSG 17 TO LINE 13                                                     FMC
   MSG 13(P0,P1,P2,P3,P4) TO LINE 15                                     FMC
   MSG 14(P5,P6,P7,P8,P9) TO LINE 16                                     FMC
*                                                                        FMC
*         DUMP STATUS BUFFER                                             FMC
*                                                                        FMC
   GOTO 34                   *PASS TO TAKE DETAILED STATUS
*  GOTO 35                   *DELETE / TO AVOID SB                       FMC
   RES, ABT 35                                                           FMC
   FUNC DSTAT20, ABT 35                                                  FMC
   STATUS 20D WORDS TO SB(1), ABT 35                                     FMC
*                                                                        FMC
34 MSG 3 TO LINE 20                                                      FMC
   MSG 23 10 WORDS FROM SB(0) TO LINE 22                                 FMC
   MSG 23 10 WORDS FROM SB(10) TO LINE 23                                FMC
   MSG 23 10 WORDS FROM SB(20) TO LINE 24                                FMC
   MSG 23 10 WORDS FROM SB(30) TO LINE 25                                FMC
   MSG 23 10 WORDS FROM SB(40) TO LINE 26                                FMC
*                                                                        FMC
*         DUMP INPUT BUFFER IB(0) - IB(37)                               FMC
*                                                                        FMC
35 PASS                      *GOTO 36 TO BYPASS INPUT BFR 
*  GOTO 36                   *DELETE / TO AVOID IB                       FMC
   MSG 2 TO LINE 30                                                      FMC
   MSG 23 10 WORDS FROM IB(0) TO LINE 32                                 FMC
   MSG 23 10 WORDS FROM IB(10) TO LINE 33                                FMC
   MSG 23 10 WORDS FROM IB(20) TO LINE 34                                FMC
   MSG 23 10 WORDS FROM IB(30) TO LINE 35                                FMC
*                                                                        FMC
*         DUMP OUTPUT BUFFER OB(0) - OB(37)                              FMC
*                                                                        FMC
36 PASS                      *GOTO 37 TO BYPASS OUTPUT BFR
*  GOTO 37                   *DELETE / TO AVOID OB                       FMC
   MSG 6 TO LINE 37                                                      FMC
   MSG 23 10 WORDS FROM OB(0) TO LINE 41                                 FMC
   MSG 23 10 WORDS FROM OB(10) TO LINE 42                                FMC
   MSG 23 10 WORDS FROM OB(20) TO LINE 43                                FMC
   MSG 23 10 WORDS FROM OB(30) TO LINE 44                                FMC
*                                                                        FMC
*         DUMP NIC-S                                                     FMC
*                                                                        FMC
37 PASS                      *GOTO 40 TO BYPASS NIC DISPLAY 
   RES, ABT 40                                                           FMC
   FUNC IPCS, ABT 40                                                     FMC
   STATUS 32D WORDS TO IB(400), ABT 40                                   FMC
   GOSUB 60                                                              FMC
   MSG 12 TO LINE 30                                                     FMC
   MSG 25 10 WORDS FROM IB(377) TO LINE 32                               FMC
   MSG 26 10 WORDS FROM IB(407) TO LINE 33                               FMC
   MSG 27 10 WORDS FROM IB(417) TO LINE 34                               FMC
   MSG 30 10 WORDS FROM IB(427) TO LINE 35                               FMC
*                                                                        FMC
*         DUMP NOC-S                                                     FMC
*                                                                        FMC
40 GOTO 41                   *PASS TO DISPLAY NOC-S 
   RES, ABT 41                                                           FMC
   FUNC ENOC, ABT 41                                                     FMC
   STATUS 32D WORDS TO IB(400), ABT 41                                   FMC
   GOSUB 60                                                              FMC
   MSG 22 TO LINE 37                                                     FMC
   MSG 25 10 WORDS FROM IB(377) TO LINE 41                               FMC
   MSG 26 10 WORDS FROM IB(407) TO LINE 42                               FMC
   MSG 27 10 WORDS FROM IB(417) TO LINE 43                               FMC
   MSG 30 10 WORDS FROM IB(427) TO LINE 44                               FMC
*                                                                        FMC
*         END                                                            FMC
*                                                                        FMC
41 GOTO 77                   *GO TO PICTURE PAUSE 
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
60 IB(440)=B0                                                            FMC
   B0=377                                                                FMC
61 IB(B0)=IB(B0+1).RS.1                                                  FMC
   IB(B0+1)=IB(B0+1).AND.1.LS.8                                          FMC
   IB(B0+1)=IB(B0+2).AND.377.+IB(B0+1)                                   FMC
   GOTO 61 WHILE (B0+2.LT.437)                                           FMC
   B0=IB(440)                                                            FMC
   RETURN                                                                FMC
*                                                                        FMC
77 PICTURE                                                               FMC
   PAUSE                                                                 FMC
   BLANK                                                                 FMC
   EXIT                                                                  FMC
   END 31                                                                FMC
COMPILE                                                                  FMC
   MODULE FMC99,6000(05,07,16),LOCK 
1  FORMAT COPYRIGHT CONTROL DATA CORP. 1978                              FMC
2  PAUSE                                                                 FMC
   EXIT TO 99A                                                           FMC
/                                                                        FMC
/         FMC IS THE 7155-1,1X CONTROLLER DIAGNOSTIC.  IT IS USED 
/         IN CONJUNCTION WITH DIAGNOSTICS FMD, D88, AND DTC TO
/         MAINTAIN THE 7155-1,1X/885-1X/844-4X SUBSYSTEM. 
/                                                                        FMC
/         FOR ADDITIONAL DOCUMENTATION, SEE THE FOLLOWING                FMC
/         MODULES--                                                      FMC
/                                                                        FMC
/         FMC99    OVERVIEW                                              FMC
/         FMC99A   PARAMETER DESCRIPTION                                 FMC
/         FMC99B   SECTION DESCRIPTION INDEX                             FMC
/         FMC99C   MESSAGE FORMAT                                        FMC
/                                                                        FMC
   END 2                                                                 FMC
COMPILE,SOURCE                                                           FMC
   MODULE FMC99A,6000(05,07,16),LOCK
1  PAUSE                                                                 FMC
   EXIT TO 99B                                                           FMC
/         P0 - N0T USED 
/ 
/         P1 - NOT USED 
/ 
/         P2 - NOT USED 
/ 
/         P3 - NOT USED 
/ 
/         P4 - XXXX - ENABLES                                            FMC
/                                                                        FMC
/              XXX1 - AUTOLOAD FROM DISK
/              4XXX - ISOLATION                                          FMC
/                                                                        FMC
/         P5 - XXXX - DISABLES                                           FMC
/                                                                        FMC
/              XXX1 - DRIVE MODULES 
/              XX1X - OPERATOR INTERVENTION                              FMC
/              XX4X - CHANNEL STATUS DISPLAY
/              1XXX - FULL CONTROLWARE DOWNLOADS                         FMC
/                                                                        FMC
*         P6 - XXXX - NOT USED
/                                                                        FMC
/         P7 - NOT USED 
/ 
/         P8 - HARDWARE DESCRIPTION                                      FMC
/                                                                        FMC
/              XXX1 - CHANNEL ACCESS A                                   FMC
/              XXX2 - CHANNEL ACCESS B (OPTIONAL)                        FMC
/              XXX4 - CHANNEL ACCESS C (OPTIONAL)                        FMC
/              XX1X - CHANNEL ACCESS D (OPTIONAL)                        FMC
/              XX2X - 844-4X INTERFACE(FV670-A/B)(OPTIONAL) 
/              XX4X - OPTIONAL 885 INTERFACES(FV671-A/B)
/              XAXX - ACCESS USED BY THIS TEST                           FMC
/                                                                        FMC
/                       A = 0 FOR ACCESS A                               FMC
/                       A = 1 FOR ACCESS B                               FMC
/                       A = 2 FOR ACCESS C                               FMC
/                       A = 3 FOR ACCESS D                               FMC
/                                                                        FMC
*IF DEF,CMSE17X 
/              1XXX - 815 OR 825 TYPE MAINFRAME. USED FOR 
/                     PARITY MODULES. 
/              2XXX - 865, 875 OR 700 TYPE MAINFRAME. 
/                     USED FOR PARITY MODULES.
*ENDIF
/ 
/         P9 - 0Y0Z  Y = THIS TEST COPY NUMBER                           FMC
/                        (0, 1, 2, OR 3)                                 FMC
/                    Z = THE NUMBER OF OTHER                             FMC
/                        ACCESSES BEING TESTED                           FMC
/                        (1, 2, OR 3)                                    FMC
/                                                                        FMC
   END 1                                                                 FMC
COMPILE,SOURCE                                                           FMC
   MODULE FMC99B,6000(05,07,16),LOCK
1  PAUSE                                                                 FMC
   EXIT TO 99C                                                           FMC
/                                                                        FMC
/                                          RUN  MIN 
/    NAME     DESCRIPTION                  TIME AL  DC
/    ----     -----------                  ---- --- --- 
/ CONTROLLER (6000) LANGUAGE MODULES (DC=5/7/16)
/    FMC00    PARAMETER VERIFICATION         1  10  5/7/16
/    FMC01    ECHO FUNCTION TEST             1  10  5/7/16
/    FMC02    AUTOLOAD TEST                  9  10  5/7/16
/    FMC03    NORMAL CHANNEL LOOP TEST       3  10  5/7/16
/    FMC04    DEAD MAN TIMER TEST           12  21  5/7/16
/    FMC07    CYBER SPECIAL CHANNEL TEST     5  10  5/7/16
*IF DEF,CMSE17X,2 
/    FMC08    PARITY TEST I                  *  10  5/7/16
/    FMC09    PARITY TEST II                 *  10  5/7/16
/    FMC11    UP/DOWN COUNTER TEST           1  10  5/7/16
/    FMC13    BUFFER MEM ADRS TEST           1  10  5/7/16
/    FMC15    DATA PATH TEST                 7  10  5/7/16
/    FMC18    CONTROL WORD REGISTER TEST     1  10  5/7/16
/    FMC19    BIT COUNTER REGISTER TEST      1  10  5/7/16
/    FMC20    MAINTENANCE LOOP TEST          6  10  5/7/16
/    FMC21    LOOP 885 DECODE TEST           8  10  5/7/16
/    FMC22    LOOP 885 BUS TEST              7  10  5/7/16
/    FMC23    LOOP 885 WRT/RD/TAG GATE TEST  1  10  5/7/16
/    FMC24    SYNC BYTE SEARCH TEST          1  10  5/7/16
/    FMC25    ECC REGISTER TEST              2  10  5/7/16
/    FMC26    ECC REGISTER CLEAR TEST        2  10  5/7/16
/    FMC27    ECC FUNCTIONAL TEST            1  10  5/7/16
/    FMC28    AUTOLOAD FROM DISK TEST        2  10  5/7/16
/    FMC29    WRITE VERIFY TEST              1  10  5/7/16
/  844-4X (844HT/844FT) LANGUAGE MODULES (DC=5) 
/    FMC30    LOOP 885 DECODE TEST (DC5)     9   4  5 
/    FMC31    LOOP 885 BUS TEST (DC5)        9   4  5 
/    FMC32    LOOP 885 WRT/RD/TAG GATE (DC5) 1   4  5 
/    FMC35    ECC REGISTER TEST (DC5)        2   3  5 
/    FMC36    ECC REGISTER CLEAR TEST (DC5)  2   3  5 
/    FMC37    ECC FUNCTIONAL TEST (DC5)      1   3  5 
/    FMC39    WRITE VERIFY TEST (DC5)        8   3  5 
*IF -DEF,MVE
/  885-1X (FMDHT/FMDFT) LANGUAGE MODULES (DC=7) 
/    FMC40    LOOP 885 DECODE TEST (DC7)     9   4  7 
/    FMC41    LOOP 885 BUS TEST (DC7)       10   4  7 
/    FMC42    LOOP 885 WRT/RD/TAG GATE (DC7) 1   4  7 
/    FMC43    SYNC BYTE SEARCH TEST I (DC7)  3   4  7 
/    FMC44    SYNC BYTE SEARCH TEST II (DC7) 3   4  7 
/    FMC45    ECC REGISTER TEST (DC7)        2   3  7 
/    FMC46    ECC REGISTER CLEAR TEST (DC7)  2   3  7 
/    FMC47    ECC FUNCTIONAL TEST (DC7)      1   3  7 
/    FMC49    WRITE VERIFY TEST (DC7)        8   3  7 
*ENDIF
/  885-1X (LSFMD1/LSFMD2) LANGUAGE MODULES (DC=16)
/    FMC60    LOOP 885 DECODE TEST (DC16)    9   4  16
/    FMC61    LOOP 885 BUS TEST (DC16)       9   4  16
/    FMC62    LOOP 885 WRT/RD/TAG GATE(DC16) 1   4  16
/    FMC63    SYNC BYTE SEARCH TEST I (DC16) 2   4  16
/    FMC64    SYNC BYTE SEARCH TEST II(DC16) 3   4  16
/    FMC65    ECC REGISTER TEST (DC16)       2   3  16
/    FMC66    ECC REGISTER CLEAR TEST (DC16) 2   3  16
/    FMC67    ECC FUNCTIONAL TEST (DC16)     1   3  16
/    FMC69    WRITE VERIFY TEST (DC16)       8   3  16
/       UTILITY MODULES 
/    FMC75    MULTI-CHANNEL CONNECT TEST     *  10  5/7/16
/    FMC76    LED TEST                       *  10  5/7/16
/         ABOVE RUN TIMES ARE IN SECONDS AND WERE MEASURED
/         UNDER THE NOS K-DISPLAY.  THEY SHALL BE CONSIDERED
/         MINIMUMS AND WILL VARY WHEN RUN IN OTHER MODES. 
/                                                                        FMC
   END 1                                                                 FMC
COMPILE,SOURCE                                                           FMC
   MODULE FMC99C,6000(05,07,16),LOCK
1  PAUSE                                                                 FMC
/                                                                        FMC
/         THE MESSAGE FORMATS USED BY FMC TO REPORT ERRORS               FMC
/         AND INSTRUCT THE OPERATOR ARE--                                FMC
/                                                                        FMC
/         00                                                             FMC
/         01  FMC - 7155-1,1X DISK CONTROLLER DIAGNOSTIC
/         02  FMCNN - MODULE TITLE                                       FMC
/         03  PRESERVICE FORECAST GROUP FMDC                             FMC
/         04                                                             FMC
/         05  FMCNN - LINE YYYY - ERROR NUMBER TTEEE                     FMC
/         06  DATA ERROR   WAAAA  EBBBB  ACCCC  DFFFF                    FMC
/         06  STATUS ERROR WAAAA  EBBBB  ACCCC  DFFFF                    FMC
/         07  MISCELLANEOUS MEANINGFUL VALUES                            FMC
/         07  DATA ERROR STSGGGG  EBBBB  ACCCC  DFFFF 
/         07  DATA ERROR    EBBBB  ACCCC  DFFFF 
/         10  MISCELLANEOUS MEANINGFUL VALUES                            FMC
/         11                                                             FMC
/         12  ERROR DESCRIPTION                                          FMC
/         13                                                             FMC
/         14  DIRECTIONS TO CE                                           FMC
/         15  DIRECTIONS TO CE                                           FMC
/         16  DIRECTIONS TO CE                                           FMC
/                                                                        FMC
/         NN IS THE MODULE NUMBER.                                       FMC
/         XXXXXXXX IS THE PRESERVICE FORECAST GROUP NUMBER.              FMC
/         YYYY IS THE ADDRESS THE ERROR OCCURRED IN THE                  FMC
/           PRIMARY MODULE.                                              FMC
/         TT IS THE TEST NUMBER (IN HEX).                                FMC
/         EEE IS THE ERROR NUMBER (IN HEX).                              FMC
/         AAAA IS THE WORD NUMBER IN THE BUFFER.                         FMC
/         BBBB IS THE EXPECTED VALUE.                                    FMC
/         CCCC IS THE ACTUAL VALUE.                                      FMC
/         FFFF IS THE LOGICAL DIFFERENCE OF BBBB AND CCCC.               FMC
/         GGGG IS THE NIC 1 CONTROLLER STATUS (IN HEX). 
/         THE MISCELLANEOUS MEANINGFUL VALUES WILL VARY                  FMC
/           FROM MODULE TO MODULE.                                       FMC
/         IF THE DIRECTIONS TO THE CE REQUIRE MORE THAN 3                FMC
/           THREE LINES, THEY WILL BE INCLUDED IN THE                    FMC
/           TROUBLESHOOTING GUIDE RATHER THAN ON THE SCREEN.             FMC
/                                                                        FMC
/                                                                        FMC
   END 1                                                                 FMC
COMPILE,SOURCE                                                           FMC
*                                                                        FMC
*                                                                        FMC
*   6.    APPLICATIONS                                                   FMC
*         ------------                                                   FMC
*         NO SPECIAL APPLICATIONS ARE ANTICIPATED.                       FMC
*                                                                        FMC
*   7.    FLOWCHARTS                                                     FMC
*         ----------                                                     FMC
*                                                                        FMC
*         THE FOLLOWING CHART ILLUSTRATES THE SEQUENCE OF OPERATIONS     FMC015 
*         PERFORMED DURING THE EXECUTION OF THE CONNECT TEST AND THE     FMC015 
*         ERROR NUMBERS WHICH MAY BE GENERATED AT EACH STEP--            FMC015 
*                                                                        FMC
*          COPY   I   I   I   I   I                                      FMC
*         NUMBER--I 0 I 1 I 2 I 3 I                                      FMC
*                 I   I   I   I   I                                      FMC
*        --------------------------                                      FMC
*                 I   I   I   I   I                                      FMC
*         TIME    I1 XI   I   I   I                                      FMC
*                 -----   I   I   I                                      FMC
*           I     I    10XI   I   I                                      FMC
*           I     I    11 I   I   I                                      FMC
*           V     I       I   I   I                                      FMC
*                 I2 X    I   I   I                                      FMC
*                 I3      I   I   I                                      FMC
*                 ---------   I   I                                      FMC
*                 I        16XI   I                                      FMC
*                 I        17 I   I                                      FMC
*                 I           I   I                                      FMC
*                 I    12X    I   I                                      FMC
*                 I    13     I   I                                      FMC
*                 I           I   I                                      FMC
*                 I        20XI   I                                      FMC
*                 I        21 I   I                                      FMC
*                 I           I   I                                      FMC
*                 I4 X        I   I                                      FMC
*                 I5          I   I                                      FMC
*                 -------------   I                                      FMC
*                 I            24XI                                      FMC
*                 I            25 I                                      FMC
*                 I               I                                      FMC
*                 I        22X    I                                      FMC
*                 I        23     I                                      FMC
*                 I               I                                      FMC
*                 I            26XI                                      FMC
*                 I            27 I                                      FMC
*                 I               I                                      FMC
*                 I    14X        I                                      FMC
*                 I    15         I                                      FMC
*                 I               I                                      FMC
*                 I            30XI                                      FMC
*                 I            31 I                                      FMC
*                 I               I                                      FMC
*                 I6 X            I                                      FMC
*                 I7              I                                      FMC
*                 -----------------                                      FMC
*                                                                        FMC
*         THE FOLLOWING FLOWCHART ILLUSTRATES THE CONNECTION OF ALL THE  FMC
*         SUBMODULES USED TO INTERPRET DETAILED STATUS--                 FMC
*                                                                        FMC
*                          ENTER                                         FMC
*                            I                                           FMC
*                            V                                           FMC
*                         +-----+                                        FMC
*                         I 98X I                                        FMC
*                         +-----+                                        FMC
*                            I               ...............             FMC
*                            V                                           FMC
*                         +-----+            GENERAL                     FMC
*                         I 98M I            STATUS                      FMC
*                         +-----+                                        FMC
*                            I               ...............             FMC
*                            V                                           FMC
*                         +-----+            DETAILED                    FMC
*                         I 98N I            STATUS                      FMC
*                         +-----+                                        FMC
*                            I                                           FMC
*                            V                                           FMC
*                            &               ...............             FMC
*                           / \                                          FMC
*                     844  /   \  885                                    FMC
*                   +-----<     >-----+                                  FMC
*                   I      \   /      I                                  FMC
*                   V       \ /       V                                  FMC
*                +-----+     V     +-----+                               FMC
*                I 98P I           I 98R I                               FMC
*                +-----+           +-----+                               FMC
*                   I                 I      DETAILED                    FMC
*                   V                 V      STATUS                      FMC
*                +-----+           +-----+                               FMC
*                I 98Q I           I 98S I                               FMC
*                +-----+           +-----+                               FMC
*                   I                 I                                  FMC
*                   I                 V                                  FMC
*                   I              +-----+                               FMC
*                   I              I 98T I                               FMC
*                   I              +-----+                               FMC
*                   I                 I                                  FMC
*                   +-----------------+      ...............             FMC
*                            I                                           FMC
*                            V                                           FMC
*                         +-----+                                        FMC
*                         I 98U I                                        FMC
*                         +-----+                                        FMC
*                            I                                           FMC
*                            V                                           FMC
*                         +-----+                                        FMC
*                         I 98V I            EXTENDED                    FMC
*                         +-----+            DETAILED                    FMC
*                            I               STATUS                      FMC
*                            V                                           FMC
*                         +-----+                                        FMC
*                         I 98W I                                        FMC
*                         +-----+                                        FMC
*                            I               ...............             FMC
*                            V                                           FMC
*                      TO 98X (EXIT)                                     FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
*              LOGIC USED BY EACH OPERATION IN THE DATA PATH TEST        FMC
*                                                                        FMC
*                                      TEST NO.               A B C D E 
* 
*                                                                     1 
*         OPERATION                    RULE NO.  1 2 3 4 5    6 7 8 9 0 
*         ---------                              ---------    ----------
*         BLOCK TRANSFER BUFFER WRITE (BTBMW)  I X            X X 
*         BLOCK TRANSFER BUFFER READ  (BTBMR)  I   X          X   X 
*         BUFFER WRITE                (BMW)    I     X            X X X 
*         BUFFER READ                 (BMR)    I       X        X   X X 
*         MAINTENANCE LOOP                     I         X            X 
*                                              I
*         -------------------------------------I------------------------
*         LOGIC USED                           I
*         ----------                           I
*         R/T BOARDS (AA AT A01,A02,A03,A04)   I
*         1  RECEIVER, CATCHING, AND HOLDING   I X   X        X X X X X 
*         2  2-TO-1 MUX, TRANSMITTER           I   X   X      X X X X X 
*         CYBER CHANNEL MUX (AB AT A08)        I
*         3  DATA CHANNEL MUX                  I     X            X X X 
*         4  CHANNEL PARITY (NIC 1/10)         I X   X        X X X X X 
*         5  NIC SELECT MUX                    I X            X X 
*         6  NIC PARITY (NIC 0/2)              I X            X X 
*         BUFFER CONTROL (AD AT A15)           I
*         7  CATCHING REGISTER                 I     X   X        X X X 
*         SPECIAL CYBER CHANNEL (AE AT A16)    I
*         8  DATA IN                           I X            X X 
*         9  HOLDING, PARITY, 1-TO-4 DECODER   I   X          X   X 
*         R/W DATA PATH (AR AT B19,B20)        I
*         10 OUTPUT REG, BUFFER PARITY(NIC 1/5)I       X X      X   X X 
*         11 WPI, SHIFT, DESKEW REGISTERS      I         X            X 
*         BUFFER TO DATA PATH CONTROL(AS AT B21I         X            X 
*         DATA PATH CONTROL (AT AT B22)        I         X            X 
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
*                            DLT FOR DATA PATH TEST                      FMC
*                                              RULE NUMBER
*                                                      1 1 1 1 1 1 1
*         FAILING CONDITION        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
*         -----------------        ---------------------------------
*         1 TEST A FAILS(BTBMW/R)  N N N N N N N N Y Y Y Y Y Y Y Y N
*         2 TEST B FAILS(BTBMW/BMR)N N N N Y Y Y Y N N N N Y Y Y Y N
*         3 TEST C FAILS(BMW/BTBMR)N N Y Y N N Y Y N N Y Y N N Y Y N
*         4 TEST D FAILS(BMW/BMR)  N Y N Y N Y N Y N Y N Y N Y N Y N
*         5 TEST E FAILS(BMW/BMR)  - - - - - - - - - - - - - - - - Y
* 
*           ERROR                  N 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 -
*           CODE  (IN OCTAL)       O 4 4 6 4 5 4 4 4 4 3 4 2 4 7 1 -
* 
*         BOARDS TO REPLACE               ORDER OF REPLACEMENT
*         -----------------        ---------------------------------
*         R/T (A01/A02/A03/A04)      5 5   5 3 5 5 5 5 2 5   5   1
*         CHANNEL MUX (A08)          2 2 2 2   2 2 2 2   2 1 2   2
*         SPEC. CYBER CHAN. (A16)    4 4   4   4 4 4 4 1 4 2 4 1
*         BUFFER CONTROL (A15)       1 1 1 1   1 1 1 1   1   1     2
*         BUFFER MEMORY (A23-A26)    6 6 3 6 2 6 6 6 6   6   6 2   5
*         PROGRAM ROM (A27)          7 7 4 7 5 7 7 7 7   7   7 3
*         R/W DATA PATH (B19/B20)    8 8   8 1 8 8 8 8   8   8     1
*         BUFFER TO DATA PATH (B21)  3 3   3 4 3 3 3 3   3   3     4
*         DATA PATH CONTROL (B22)                                  3
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
*         DATA PACKING IN THE ECC TESTS--                                FMC
*                                                                        FMC
*                 OB(B2+100)      OB(B2+101)                             FMC
*             \/              \/              \/                         FMC
*              XXX XXX XXX XXX  XXX XXX XXX XXX                          FMC
*             /\        /\          /\        /\                         FMC
*                OB(1)      OB(2)      OB(1)                             FMC
*                   OB(0)=12           OB(0)=13                          FMC
*                                                                        FMC
*                                                                        FMC
*                 OB(B2+102)      OB(B2+103)                             FMC
*             \/              \/              \/                         FMC
*              XXX XXX XXX XXX  XXX XXX XXX XXX                          FMC
*             /\        /\          /\        /\                         FMC
*                OB(2)      OB(1)      OB(2)                             FMC
*              OB(0)=13          OB(0)=14                                FMC
*                                                                        FMC
*                                                                        FMC
*         DATA UNPACKING--                                               FMC
*                                                                        FMC
*             OB(3)            OB(4)            OB(5)                    FMC
*        \/              \/               \/              \/             FMC
*         000 0XX XXX XXX  000 0XX XXX XXX  000 0XX XXX XXX              FMC
*        /\                         /\                    /\             FMC
*                    OB(11)                 OB(12)                       FMC
*                                                                        FMC
*                                                                        FMC
*             OB(6)            OB(7)            OB(10)                   FMC
*        \/              \/               \/              \/             FMC
*         000 0XX XXX XXX  000 0XX XXX XXX  000 0XX XXX XXX              FMC
*        /\                         /\                    /\             FMC
*                    OB(13)                 OB(14)                       FMC
*                                                                        FMC
*                                                                        FMC
*                                                                        FMC
