*DECK CR1 
*** CR1 - 405 CARD READER DIAGNOSTIC
**  CR1 - 405 CARD READER DIAGNOSTIC
* 
* 
*   CR1 -  CR1 405 CARD READER DIAGNOSTIC 
* 
* 
*    AUTHORS - B.MERCHANT AND L. AISTROPE              OCTOBER , 1979 
*              CE.SAGADP  STH. AUSTRALIA
* 
*    REVISED - R.V.SCHORNSTEIN                         APRIL , 1980 
* 
*    COPYRIGHT CONTROL DATA CORPORATION  1979 
*    COPYRIGHT CONTROL DATA CORPORATION  1980 
* 
* 
* 
*** 1.0        OVERVIEW - CR1 
**
* 
* 
*   1.0        OVERVIEW - CR1 
*              -------------- 
* 
*             CR1 IS A DIAGNOSTIC FOR 405 CARD READERS
*             WRITTEN IN THE M.A.L.E.T. LANGUAGE. THE 
*             DIAGNOSTIC IS COMPRISED OF TWO TYPES OF 
*             MODULES. PART I CONSISTS OF CONFIDENCE
*             LEVEL MODULES WITH THE APPROPRIATE SCOPE
*             LOOPS.
* 
*            PART II CONSISTS OF FUNCTIONAL LEVEL MOD-
*             ULES WITH NO SCOPE LOOPS. 
* 
* 
*** 1.1        RESTRICTION
**
* 
*   1.1        RESTRICTIONS 
*              ------------ 
* 
* 
*  HARDWARE - THIS DIAGNOSTIC SUPPORTS 405 CARD 
*             READERS WITH 3447-1, 3447-2 CONTROLLERS 
*             USING 668X DATA CHANNEL CONVERTERS ON 
*             A 6000/CY7X/CY17X DATA CHANNEL. THE 
*             FV149 ASCII CONVERSION KIT IS NOT 
*             SPECIFICALLY TESTED AND DOES NOT EFFECT 
*             THE OPERATION OF CR1 MODULE 03 DOES NOT 
*             TEST FUNCTION 42 (ASCII HOLLERITH)
*       SCRATCH -  THE MALET SCRATCH FILE MUST CONTAIN A
*                  COPY OF THE CR1 / CP1 DECK.
*                WHEN MALET IS CALLED THE S PARAMETER MUST BE 
*                INCLUDED EITHER TO USE THE SCRATCH FILE OR 
*                INCLUDE ANOTHER FILE NAME. 
*                  - MALET.  WHEN CR1 DECK IMAGE IS ON SCRATCH. 
*                  - MALET(S=LFN) WHERE LFN CONTAINS IMAGE. 
* 
* 
* 
* 
* 
*** 2.0        RUN PARAMETERS 
**
* 
*   2.0        RUN PARAMETERS 
*              -------------- 
* 
* 
* 
*  CR1 MODULES ARE WRITTEN IN 3000 LOW
*  LEVEL LANGUAGE. THEREFORE AN ACCESS LEVEL OF 
*  10 OR GREATER IS NECESSARY TO RUN. 
* 
*              TO RUN CR1 ALL MODULES : 
*                RUN CR1      OR   R CR1
* 
*              TO RUN SELECTED MODULES :  
*               RUN CR1(02,03,04, ... )  OR 
*               R,CR1(03,02,04, ...  )
* 
*              FOR MALET USAGE INSTRUCTIONS SEE CML 
*              OR MALET REFERENCE MANUAL. 
*              THE CR1 DECK IS TO BE PLACED IN THE INPUT TRAY, THE
*              RELOAD MEMORY AND READY SWITCH DEPRESSED PRIOR TO THE
*              RUN DIRECTIVE. UNLIKE THE CEDIAG/SMM TEST THE END OF 
*              FILE SWITCH IS NOT REQUIRED TO BE ON.
* 
*                NOTE:  
*                  THE SCRATCH FILE MUST CONTAIN THE IMAGE OF 
*                  CR1 / CP1 DECK.
*                (  MALET(S=LFN)   )
*                  THIS CAN BE OBTAINED FROM THE CML TAPE 
*                  SEE THE SOFTWARE RELEASE BULLETIN FOR DETAILS. 
* 
* 
* 
* 
*** 3.0        PROGRAM DESCRIPTION
**
* 
*   3.0        PROGRAM DESCRIPTION
*              -------------------
* 
* 
* 
* 
*      NOTE.
*       AN ACCESS LEVEL (AL) OF 10 OR GREATER 
*       IS NECESSARY TO RUN CR1.
* 
* 
*** 3.1        PART I MODULE DESCRIPTIONS 
**
* 
*   3.1        PART I MODULE DESCRIPTION
*              -------------------------
* 
*             CONFIDENCE LEVEL DIAGNOSTICS
* 
*              NO PARAMETER REGISTERS ARE USED IN CR1 MODULES.
* 
*         MODULE 01 - CONNECT AND STATUS CHECKS 
*             THIS MODULE CHECKS THE ABILITY OF THE CARD
*             READER TO CONNECT AND REPLY READY NOT BUSY. 
*             THE STATUS IS ALSO CHECKED FOR TRAY EMPTY,FEED
*             FAIL, AND STACKER FULL OR JAM.
* 
*             PARAMETERS - SCOPE LOOP, REPEAT CONDITION.
* 
*         MODULE 02 - CHECK TRANSMISSION PATH 
*             THIS MODULE CHECKS THE TRANSMISSION PATH TO 
*             THE DATA CHANNEL CONVERTER CONTROLLER. A SET
*             OF PARITY SENSITIVE WORDS ARE TRANSMITTED AS
*             LEGAL FUNCTIONS AND THE CONTROLLER STATUS 
*             IS CHECKED FOR ABSENCE OF PARITY ERRORS DUR-
*             ING TRANSMISSION. 
* 
*             PARAMETERS - SCOPE LOOP, REPEAT CONDITION.
* 
*         MODULE 03 - LEGAL FUNCTIONS CHECK 
*             THIS MODULE CHECKS THE ABILITY OF THE CARD
*             READER TO ACCEPT AND EXECUTE ALL LEGAL FUNC-
*             TIONS.
* 
*             PARAMETERS -SCOPE LOOP, REPEAT CONDITION. 
* 
*** 3.2        PART II MODULE DESCRIPTION 
**
* 
*   3.2        PART II MODULE DESCRIPTION 
*              -------------------------- 
* 
*              FUNCTIONAL LEVEL CHECKS (NO SCOPE LOOPS) 
*             NO PARAMETER REGISTERS ARE USED IN CR1 MODULES. 
* 
*         MODULE 04 - CHECKS THE ABILITY OF THE C.R.
*             TO READ SECTIONS A-B OF THE CR1 DECK. 
*             THE READ DATA IS COMPARED TO A SCRATCH
*              FILE IMAGE OF THE CR1 DECK.
*              A DATA MISCOMPARE ON A READ TITLE CARD IS FLAGGED
*              AS AN ERROR AND THE TEST IS ENDED. ALL OTHER DATA
*              MISCOMPARES ARE FLAGGED AND AFTER FOUR COMPARE 
*              ERRORS THE TEST IS ENDED.
*                  -NO PARAMETERS ARE REQUIRED
* 
*         SUBMODULE 04A - CHECKS THE ABILITY OF THE C.R.
*              TO READ SECTIONS C-D OF THE CR1 DECK.
*              THE READ DATA IS COMPARED TO A SCRATCH 
*              FILE IMAGE OF THE CR1 DECK.
*              A DATA MISCOMPARE ON A READ TITLE CARD IS FLAGGED
*              AS AN ERROR AND THE TEST IS ENDED. ALL OTHER DATA
*              MISCOMPARES ARE FLAGGED AND AFTER FOUR COMPARE 
*              ERRORS THE TEST IS ENDED.
*                  -NO PARAMETERS ARE REQUIRED
* 
*         SUBMODULE 04B - CHECKS THE ABILITY OF THE C.R.
*              TO READ SECTIONS E-F OF THE CR1 DECK 
*              THE READ DATA IS COMPARED TO A SCRATCH 
*              FILE IMAGE OF THE CR1 DECK.
*              A DATA MISCOMPARE ON A READ TITLE CARD IS FLAGGED
*              AS AN ERROR AND THE TEST IS ENDED. ALL OTHER DATA
*              MISCOMPARES ARE FLAGGED AND AFTER FOUR COMPARE 
*              ERRORS THE TEST IS ENDED.
*              THIS MODULE ALSO READS RANDOM CARDS IN SECT F
*              RANDOM SECTIONS OF CR1 DO NOT COMPARE DATA 
*              PUNCHED. ONLY CHECK FOR HARDWARE COMPARE ERRORS. 
*              BECAUSE OF THIS THE SECTIONS ARE CONTROLLED BY 
*              CARD COUNTS. ** IF THIS SECTION IS ONE CARD
*              LONG THE ERROR MAY BE REPORTED IN
*              THE NEXT SECTION.*** 
* 
*                  -NO PARAMETERS REQUIRED
* 
*         SUBMODULE 04C - CHECKS THE ABILITY OF THE C.R.
*              TO READ SECTIONS G-H OF THE CR1 DECK 
*              THE READ DATA IS COMPARED TO A SCRATCH 
*              FILE IMAGE OF THE CR1 DECK.
*              A DATA MISCOMPARE ON A READ TITLE CARD IS FLAGGED
*              AS AN ERROR AND THE TEST IS ENDED. ALL OTHER DATA
*              MISCOMPARES ARE FLAGGED AND AFTER FOUR COMPARE 
*              ERRORS THE TEST IS ENDED.
*                  -NO PARAMETERS REQUIRED
* 
*         SUBMODULE 04D - CHECKS THE ABILITY OF THE C.R.
*              TO READ SECTIONS I-J OF THE CR1 DECK.
*              CHECKING FOR C.R. DETECTED COMPARE ERRORS
*              WHILE READING RANDOM PATTERNS
*              A DATA MISCOMPARE ON A READ TITLE CARD IS FLAGGED
*              AS AN ERROR AND THE TEST IS ENDED. ALL OTHER DATA
*              MISCOMPARES ARE FLAGGED AND AFTER FOUR COMPARE 
*              ERRORS THE TEST IS ENDED.
*              SECTION J IS A RANDOM DATA TEST LOOKING FOR
*              C.R. DETECTED COMPARE ERRORS.
*              SECTION J READS UNTIL THE E.O.F.CARD IS
*              DETECTED THEN THE TEST INDICATES END OF TEST 
*              SERIES.
*              RANDOM SECTIONS OF CR1 DO NOT COMPARE DATA 
*              PUNCHED. ONLY CHECK FOR HARDWARE COMPARE ERRORS. 
*              BECAUSE OF THIS THE SECTIONS ARE CONTROLLED BY 
*              CARD COUNTS. ** IF THIS SECTION IS ONE CARD
*              LONG THE ERROR MAY BE REPORTED AS
*              FILE CARD STATUS ERRORS. 
* 
* 
*                  -NO PARAMETERS ARE REQUIRED
* 
* 
* 
*** 3.3        ERROR PROCESSING MODULES 
**
* 
*   3.3         ERROR PROCESSING MODULES
*               ------------------------
* 
* 
*         MODULE 96A - IS A UTILITY MODULE CALLED BY PRIMARY
*              LOW LEVEL MODULES FOR PROCESSING ERRORS. 
* 
*         MODULE 96B - IS A UTILITY MODULE CALLED BY
*              MODULE *96A* FOR PROCESSING ERRORS.
* 
* 
*         MODULE 96C - IS A UTILITY MODULE CALLED BY *96A*
*              FOR PROCESSING ERRORS. 
* 
* 
*         MODULE 96D - IS A UTILITY MODULE CALLED BY
*               MODULE *96A* FOR PROCESSING ERRORS. 
* 
* 
*         MODULE 96E - IS A UTILITY MODULE CALLED BY
*              MODULE *96A* FOR PROCESSING ERRORS.
* 
* 
*         MODULE 96F - IS A UTILITY MODULE CALLED BY
*              MODULE *96A* FOR PROCESSING ERRORS.
* 
* 
*         MODULE 96W - IS A UTILITY MODULE CALLED 
*              TO PRESENT 6681 STATUS ERRORS. 
* 
* 
*         MODULE 96X - IS A UTILITY MODULE CALLED 
*              TO PRESENT 405 STATUS ERRORS.
* 
* 
*         MODULE 96Y - IS A UTILITY MODULE CALLED 
*              TO PRESENT DATA BUFFERS IB AND OB IF A DATA
*              COMPARE ERROR IS DETECTED BETWEEN CARDS READ 
*              AND SCRATCH FILE IMAGE OF EXPECTED CARD. 
* 
* 
*         MODULE 96Z - IS A UTILITY MODULE CALLED 
*              TO PRESENT GENERAL ERROR INFORMATION.
* 
* 
*** 3.4        MESSAGES ISSUED
**
* 
*   3.4         MESSAGES ISSUED 
*               --------------- 
*              MODULE RUNNING MESSAGES. 
* 
* 
*         1. MMMMM (MODULE DESCRIPTION) 
*         2. MMMMM LC=(NUMBER) EC=(NUMBER) ST=(NUMBER)
*         3. MMMMM -PAUSE WAIT ON RNB 
*         4. // SECTION IS (NUMBER)BCD -READ CR1 DECK- // 
*                 MMMMM = MODULE NAME 
* 
*            MODULE ERROR MESSAGES. 
* 
*         1. (NUMBER) ERROR(S) IN MMMMM 
*         2. MMMMM ABORT ON (CONN) AT LINE (NUMBER) 
*         3. MMMMM ABORT ON (FUNC) AT LINE (NUMBER) 
*         4. MMMMM ABORT ON (STATUS) AT LINE (NUMBER) 
*         5. MMMMM ERROR CODE (NUMBER) AT LINE (NUMBER) 
*             ERROR CODES DEFINED FOR CR1.
*              100 - STATUS IS NOT (READY-AND-NOT-BUSY) 
*              110 - SELECTED ABNORMAL END-OF-OPERATION 
*                    INTERRUPT. EXPECTED FILE STATUS
*                    AFTER READ.
*              200 - DATA COMPARE ERROR.
*              300 - 6681 STATUS ERROR
*              500 - UNEXPECTED EOI ON SCRATCH. 
* 
*         6. MMMMM ABORT ON (FUNC8) AT LINE (NUMBER)
*         7. MMMMM ABORT ON (INB) AT LINE (NUMBER)
*         8. MMMMM (NUMBER) ERROR(S) -ABNORMAL TERMINATION- 
*         9. ERROR CODE (NUMBER) -UNEXPECTED EOI ON SCRATCH-
*         10. MMMMM ABORT ON (REL) AT LINE (NUMBER) 
*            11. MMMMM ABORT ON (STATUS8) AT LINE (NUMBER)
* 
* 
* 
* 
*** 4.0        MAINTENANCE PHILOSOPHY 
**
* 
*   4.0        MAINTERANCE PHILOSOPHY 
*              ---------------------- 
* 
* 
*            MAINTENANCE PHILOSOPHY FOR CR1 -DECK STRUCTURE-
*            THIS TEST HAS BEEN WRITTEN TO UTILIZE THE EXISTING 
*            CR1 CARD DECK. 
*            *************************************************
*            * N O T E  THE CR1 DECK MUST BE PRODUCED BY     *
*            * = = = =  RUNNING CP1 EITHER MALET ON-LINE    * 
*            * CEDIAG/KEDIAG OR SMM/MSL VERSIONS OFFLINE. 
*            * DEFAULT PARAMETERS MUST BE USED. 
*            ************************************************ 
* 
*** 4.1        DETAILED DESCRIPTION OF CR1 DECK.
**
* 
*   4.1        DETAILED DESCRIPTION OF CR1 DECK.
*              ---------------------------------
* 
*  SECTION   PATTERN      NUM        DESCRIPTION OF PATTERN 
*  -------   -------      ---        ---------------------- 
*  TITLE       NUM       CARDS
*  -----       ---       -----
*   A          1           1         BCD-A IN COL 1 
*              2           1         DATA STARTS IN ROW 9 
*              3           1         AND FILL SUCCESSIVE
*              4           1         EVEN COL STARTING IN 
*              5           1         COL 2 UNTIL THE
*              6           1         PERSCRIBED NO OF HOLES 
*              7           1         ARE READ.
*              10          1         ***************
*  FILE CARD   11          1         7-8 IN COL 1 AND 4-5 IN
*                                    COL 2 ACTS AS EOF CARD 
*  FILE CARD   12          1         7-8 IN COL 1 AND 
*                                    4-5-6-7-8-9 IN COL 2 
*   B          1           1         BCD-B IN COL 1  TITLE
*              13          1         BINARY 10 IN COL 1 
*              14          1                11
*              15          1                12
*              16          1         BINARY 13 IN COL 1 
*              17          1                14
*              20          1                15
*              21          1         BINARY 16 IN COL 1 
*              22          1                17
*              23          1                20
*              24          1         BINARY 21 IN COL 1 
*              25          1                22
*              26          1                23
*              27          1         BINARY 24 IN COL 1 
*              30          1                25
*              31          1         BINARY 26 IN COL 1 
*              32          1                27
*  FILE CARD   11          1         7-8 IN COL 1 
*  FILE CARD   12          1         7-8 IN COL 1 
*   C          1           1         BCD-C IN COL 1 
*              33          3         SEQUENCED COL FROM 5 IN
*                                    COL 1 TO 124 IN COL 80 
*              34          3         ALTERNATE COL OF 5252
*                                    AND 2525 WITH 7-9 COL 1
*              35          3         ALTERNATE COL OF 2525
*                                    AND 5252.
*              36          3         12 COL 2525 12 COL 5252
*                                    ALTERNATE
*              37          1         BLANK CARD.
*  FILE CARD   11          1         7-8 IN COL 1 
*  FILE CARD   12          1         7-8 IN COL 1 
*   D          1           1         BCD-D IN COL 1 
*              40          3         ROW SEQ 12-9 AND REPEAT
*              41          3         ROW SEQ 9-12 AND REPEAT
*              42          3         HEAVY PUNCHING ON UPPER
*                                    PORTION OF CARD
*              43          3         HEAVY PUNCHING ON LOWER
*                                    PORTION OF CARD
*              44          3         12 PUNCH IN COL 1
*              45          3         9 PUNCH IN COL 1 
*              46          3         12 PUNCH IN COL 80 
*              47          3         9 PUNCH IN COL 80
*              50          3         12-9 PUNCH IN COL 1
*              51          3         12-9 PUNCH IN COL80
*  FILE CARD   11          1         7-8 IN COL 1 
*  FILE CARD   12          1         7-8 IN COL 1 
*   E          1           1         BCD-E IN COL 1 
*              52          1         ALTERNATE 4 COL OF 
*                                    2525 AND 4 COL OF 5252 
*              53          1         ALTERNATE 4 COL OF 
*                                    1463 AND 4 COL OF 6314 
*              54          1         ALTERNATE 4 COL OF 
*                                    0707 AND 4 COL OF 7070 
*              55          1         ALTERNATE 4 COL OF 
*                                    7417 AND 4 COL 0360
*              56          1         ALTERNATE 4 COL OF 
*                                    6037 AND 4 COL OF 1740 
*              57          1         EACH COL 2525
*              60          1         EACH COL 3333
*              61          1         EACH COL 3567
*              62          1         EACH COL 6757
*              63          1         EACH COL 3737
*              64          1         EACH COL 4034
*              65          1         EACH COL 1601
*              66          1         ALTERNATE 4 COL 6334 
*                                    5322 3555 5276 2450
*              67          1         ALTERNATE 4 COL 5322 
*                                    3555 5276 2450 6334
*              70          1          ALTERNATE 4 COL 3555
*                                    5276 2450 6334 5322
*              71          1         ALTERNATE 4 COL 5276 
*                                    2450 6334 5322 3555
*              72          1         ALTERNATE 4 COL 2450 
*                                    6334 5322 3555 5276
*              73          10        ALTERNATE 4 COL 3777 
*                                    7767 7577
*  FILE CARD   11          1         7-8 PUNCH IN COL 1 
*  FILE CARD   12          1         7-8 PUNCH IN COL 1 
*   F          1           1         BCD-F IN COL 1 
*              74          3         BCD CODES 00-77 IN COL 
*                                    1-64 
*              75          15        RANDOM BCD CARDS 
*              76          1         BLANK CARD 
*  FILE CARD   11          1         7-8 PUNCH IN COL 1 
*  FILE CARD   12          1         7-8 PUNCH IN COL 1 
*    G         1           1         BCD-G IN COL 1 
*              77          1         8 COL 1030 8 COL 4102
*             100          1         8 COL 0604 8 COL 2041
*             101          1         8 COL 4102 8 COL 1030
*             102          1         8 COL 2041 8 COL 0604
*             103          1         8 COL 5132 8 COL 2645
*             104          1         8 COL 2645 8 COL 5132
*             105          1         8 COL 6747 8 COL 3675
*             106          1         8 COL 7173 8 COL 5736
*             107          1         8 COL 3675 8 COL 6747
*             110          1         8 COL 5736 8 COL 7173
*             111          1         8 COL 1030 8 COL 4102
*             112          1         8 COL 6747 8 COL 3675
*             113          1         8 COL 0604 8 COL 2041
*             114          1         8 COL 7173 8 COL 5736
*             115          1         8 COL 4102 8 COL 1030
*             116          1         8 COL 3675 8 COL 6747
*             117          1         8 COL 2041 8 COL 0604
*             120          1         8 COL 5736 8 COL 7173
*  FILE CARD  11           1         7-8 IN COL 1 
*  FILE CARD  12           1         7-8 IN COL 1 
*   H          1           1         BCD-H IN COL 1 
*             121          3         FULLY LACED CARD 
*             122          1         COL 1-2 FULLY LACED
*             123          1         COL 1-4 FULLY LACED
*             124          1         COL 1-8 FULLY LACED
*             125          1         COL 1-16 FULLY LACED 
*             126          1         COL 1-32 FULLY LACED 
*             127          1         COL 79-80 FULLY LACED
*             130          1         COL 77-80 FULLY LACED
*             131          1         COL 73-80 FULLY LACED
*             132          1         COL 65-80 FULLY LACED
*             133          1         COL 49-80 FULLY LACED
*  FILE CARD  11           1         7-8 IN COL 1 
*  FILE CARD  12           1         7-8 PUNCH IN COL 1 
*   I          1           1         BCD-I IN COL 1 
*             134          10        RANDOM PATTERN PAST
*                                    COL 40 
*             135           20         RANDOM PATTERN BEFORE
*                                      COL 41 (2 CARD READ) 
*  FILE CARD  11           1         7-8 IN COL 1 
*  FILE CARD  12           1         7-8 IN COL 1 
*   J          1           1         BCD-J IN COL 1 
*             136          100       READS RANDOM CARDS 
*  FILE CARD   11          1         7-8 IN COL 1 
*  FILE CARD   12          1         7-8 IN COL 1 
* 
* 
*   --------------------------------------------------------- 
* 
*   ********************************************************* 
   MODULE CR101 3000(20),LOCK 
*** CR101 CONNECT AND STATUS
* 
**
* 
* CR101 CONNECT AND STATUS
*  ---------------------- 
* 
*   OVERVIEW - MODULE CR101 CHECKS THE ABILITY OF THE 
*              CARD READER TO CONNECT AND REPLY 
*              READY NOT BUSY STATUS. THE CARD READER 
*              IS CHECKED FOR INPUT TRAY EMPTY,FAIL TO
*              FEED OR STACKER FULL OR JAM. 
* 
* 
*   DESCRIPTION - CHECK CONNECT AND STATUS
* 
*         1.  CONNECT 
*         2.  GET STATUS
*         3.  IF NOT READY, TEST SCOPE LOOP AND LOOP OR 
*             EXIT. 
*         4.  GET STATUS
*         5.  VERIFY READY AND NOT BUSY 
*         6.  REPEAT FROM STEP 1 IF REPEAT CONDITION
* 
* 
* 
* 
*   ERRORS DETECTED 
* 
*         1.  ABORT ON (CONN) 
*         2.  ABORT ON (STATUS) 
*         3.  UNEXPECTED NOT READY AND NOT BUSY(100)
* 
* 
*   ERROR MESSAGES ISSUED 
* 
*         1.  ABORT ON (CONN) AT LINE *OCT
*         2.  ABORT ON (STATUS) AT LINE *OCT
*         3.  STATUS IS NOT READY AND NOT BUSY
*** CR101 - INTERNAL DOCUMENTATION
* 
* 
*   REGISTER USAGE
* 
*         B4 - ABORT MESSAGE POINTER
*         B5 - ERROR MESSAGE LINE POINTER 
*         B6 - SCOPE LOOP COUNTER 
*         B7 - ERROR COUNT
*   MODULES CALLED
* 
*         CR196A - ERROR PROCESSOR
*         CR196Z - ERROR PROCESSOR
* 
* 
*  *********************************************************
* 
/---------THIS MODULE CHECKS THE ABILITY
/---------OF THE CARD READER TO CONNECT 
/--------- AND REPLY READY NOT BUSY STATUS. 
1  FORMAT CR101 CONNECT AND STATUS CHECK
2  FORMAT CR101 LC=*DEC EC=*DEC ST=*OCT 
15 FORMAT CR101 ERROR CODE *OCT, AT LINE *OCT 
17 FORMAT *DEC ERROR(S) IN CR101
20 MSG 1 TO PRINT 
22 MSG 1 TO DISPLAY 
24 B4=3 
   CONN,ABT 74               *CONNECT 
   B4=5 
   STATUS 1 WORDS TO SB(1),ABT 74 
   IF(SB(1).AND.1.NE.0)GOTO 26  *IF READY 
   B7=B7+1
   IF(ES.AND.SL.EQ.SL)GOTO 30   *IF SCOPE LOOP
26 B4=5 
   STATUS 1 WORDS TO SB(1),ABT 74 
   IF(SB(1).AND.3763.NE.1)ERROR 15/100,GOSUB 71  *STAT ERR
30 IF(ES.AND.SL.EQ.0)GOTO 32
31 B6=B6+1
   MSG 2(B6,B7,SB(1)) TO DISPLAY  *POST SCOPE LOOP MESSAGE
   GOTO 24
32 IF(ES.AND.RC.NE.0)GOTO 31  *REPEAT CONDITIONS
/--------- EXIT SEQUENCE
54 IF(ES.AND.RM NE 0)GOTO 31    *IF REPEAT MODULE 
   IF(B7.EQ.0)GOTO 57 
56 MSG 17(B7) TO DAYFILE        *TERMINATION MESSAGE
57 EXIT 
/--------- ERROR SUBROUTINE ********************************* 
71 B7=B7+1                        *INCREMENT COUNTER
   IF(ES.AND.SL.NE.0)GOTO 72   *IF SCOPE LOOP 
   MSG EM (EC,EA) TO LINE 1       *POST MESSAGE 
   B5=3 
   CALL 96A 
   B4=3 
   CONN,ABT 74               *RECONNECT 
72 RETURN 
/--------- ABORT ERROR PROCESSOR **************************** 
74 ENDSUB                    *KILL ANY SUBROUTINES
   B7=B7+1                   *COUNT ERRORS
   B6=B6+1               *COUNT LOOPS 
   IF(ES.AND.SL.EQ.0)GOTO 75  *IF NOT SCOPE LOOP
   MSG 2(B6,B7,SB(1)) TO DISPLAY  *YES=POST DISPLAY MESSAGE 
   GOTO 24                   *RESTART 
75 B5=1            *LINE POINTER
   CALL 96Z                  *PROCESS ABORTS
   MSG 1 TO DISPLAY          *RESTORE RUN MESSAGE 
   IF(B7.LT.2)GOTO 24        *RESTART IF FIRST ERROR
   GOTO 56                   *ELSE ABNORMAL TERMINATE 
   END 20 
COMPILE                        - CR1 01 - CONNECT AND STATUS
*  *********************************************************
*  *********************************************************
   MODULE CR102 3000(20),LOCK 
*** CR102 - CHECK TRANSMISSION PATH 
* 
**
* 
* CR102 - CHECK TRANSMISSION PATH 
*  -------------------------
* 
*   OVERVIEW - MODULE *CR102*  CHECKS THE TRANSMISSION PATH 
*              TO THE 6681 CONTROLLER. A SET OF PARITY
*              SENSITIVE WORDS ARE TRANSMITTED AS 
*              ILLEGAL FUNCTIONS AND THE CONTROLLER 
*              STATUS IS CHECKED FOR ABSENCE OF PARITY
*              ERRORS DURING TRANSMISSION.
* 
* 
*   DESCRIPTION - CHECK TRANSMISSION PATH 
* 
*         1.  CONNECT AND CHECK STATUS
*         2.  ISSUE PARITY SENSITIVE WORD AS FUNCTION 
*         3. REPEAT FROM STEP 1 IF REPEAT CONDITION.
*         4. REPEAT FROM STEP 1 UNTIL ALL WORDS ISSUED. 
* 
* 
*   ERRORS DETECTED 
*         1.  ABORT ON (CONN) 
*         2.  ABORT ON (FUNC) 
*         3.  ABORT ON (STATUS) 
*         4.  6681 STATUS ERROR (300) 
*         5.  ABORT ON REL
*         6.  ABORT ON STATUS8
* 
* 
*   ERROR MESSAGES ISSUED 
* 
*         1.  ABORT ON (CONN) AT LINE *OCT
*         2.  ABORT ON (FUNC) AT LINE *OCT
*         3.  ABORT ON (STATUS) AT LINE *OCT
*         4.  6681 STATUS ERROR.
*         5.  ABORT ON (REL) AT LINE *OCT 
*         6.  ABORT ON (STATUS8) AT LINE *OCT 
*** CR102 - INTERNAL DOCUMENTATION
* 
* 
*   REGISTER USAGE
* 
*         B4 - ABORT MESSAGE POINTER
*         B5 - ERROR MESSAGE LINE POINTER 
*         B6 - SCOPE LOOP COUNTER 
*         B7 - ERROR COUNT
* 
*   MODULES CALLED
* 
*         CR196A - ERROR PROCESSOR
*         CR196Z - ERROR PROCESSOR
* 
* 
*  *********************************************************
* 
/---------THIS MODULE CHECKS THE TRANMIS- 
/---------SION PATH TO THE 6681.
/--------- CONTROLLER FOR PARITY ERRORS.
1  FORMAT CR102 6681 TRANSMISSION PARITY CHECK
2  FORMAT CR102 LC=*DEC EC=*DEC ST=*OCT 
15 FORMAT CR102 ERROR CODE *OCT, AT LINE *OCT 
17 FORMAT *DEC ERROR(S) IN CR102
* 
*   PARITY SENSITIVE DATA WORDS TRANSMITTED ONE AT A TIME.
*   B1 USED AS AN INDEX.
* 
   DATA(OB(1),CON)6662,6661,6264,4662,5514,5142,1451,4551,
  ,7774,7702,7071,0774,6562,5301,3064,0651,1111,2222,3333,
  ,4444 
20 MSG 1 TO PRINT 
22 MSG 1 TO DISPLAY 
   B1=1                      *INITIALIZE INDEX
24 GOSUB 60                  *CONNECT 
25 B4=4 
   FUNC OB(B1),ABT 74        *ISSUE FUNCTION
   B4=12
   STATUS8 TO SB(0),ABT 74   *GET 6681 STATUS 
   IF(SB(0).AND.4007.NE.0)ERROR 15/300,GOSUB 71  *IF ERROR
30 IF(ES.AND.SL EQ 0)GOTO 32  *IF NOT SCOPE LOOP
31 B6=B6+1
   MSG 2(B6,B7,SB(1)) TO DISPLAY  *POST SCOPE LOOP MESSAGE
   GOTO 24
32 IF(ES.AND.RC NE 0)GOTO 31  *REPEAT IF IN SCOPE LOOP
   GOTO 24 WHILE(B1+1.LT.25)     *LOOP FOR ALL PATTERNS 
/--------- EXIT SEQUENCE
54 IF(ES.AND.RM EQ 0)GOTO 55    *IF NOT REPEAT MODULE 
   B1=1 
   GOTO 31
55 IF(B7.EQ.0)GOTO 57 
56 MSG 17(B7) TO DAYFILE        *TERMINATION MESSAGE
57 EXIT 
/--------- CONNECT SUBROUTINE ******************************
60 B4=3 
   CONN,ABT 74               *CONNECT 
61 B4=5 
   STATUS 1 WORDS TO SB(1),ABT 74  *GET STATUS
   MSG 2(B6,B7,SB(1)) TO DISPLAY
   IF(SB(1).AND.3 EQ 1)GOTO 64     *CHECK STATUS
   IF(ES.AND.SL.NE.0)GOTO 60  *IF SCOPE LOOP
   B4=11
   REL,ABT 74 
   DELAY 100 MSEC            *WAIT
   GOTO 60                   *TRY AGAIN 
64 RETURN 
/--------- ERROR SUBROUTINE ********************************* 
71 B7=B7+1                        *INCREMENT COUNTER
   IF(ES.AND.SL NE 0)GOTO 72      *IF NOT SCOPE LOOP
   MSG EM (EC,EA) TO LINE 1       *POST MESSAGE 
   B5=3 
   CALL 96A 
   MSG 1 TO DISPLAY        *RESET RUN MSG 
   B4=3 
   CONN,ABT 74               *RECONNECT 
72 RETURN 
/--------- ABORT ERROR PROCESSOR **************************** 
74 ENDSUB                    *KILL ANY SUBROUTINES
   B7=B7+1                   *COUNT ERRORS
   B6=B6+1               *COUNT LOOPS 
   IF(ES.AND.SL.EQ.0)GOTO 75  *IF NOT SCOPE LOOP
   MSG 2(B6,B7,SB(1)) TO DISPLAY  *YES=POST DISPLAY MESSAGE 
   GOTO 24                   *RESTART 
75 B5=1            *LINE POINTER
   CALL 96Z                  *PROCESS ABORTS
   MSG 1 TO DISPLAY          *RESTORE RUN MESSAGE 
   IF(B7.LT.2)GOTO 24        *RESTART IF FIRST ERROR
   GOTO 56                   *ELSE ABNORMAL TERMINATE 
   END 20 
COMPILE                        - CR1 02 - CHECK TRANSMISSION PATH 
*  *********************************************************
*  *********************************************************
   MODULE CR103 3000(20),LOCK 
*** CR103 - CHECK LEGAL FUNCTIONS 
* 
**
* 
* CR103 - CHECK LEGAL FUNCTIONS 
*  -------------
* 
* 
*   OVERVIEW - MODULE *CR103* CHECKS THE ABILITY OF THE 
*              CARD READER TO ACCEPT AND EXECUTE ALL LEGAL
*              FUNCTIONS. THE FUNCTIONS ARE CONTAINED IN THE
*              OUTPUT BUFFER AND ARE ISSUED ONE AT A TIME 
*              USING AN INDEX.
* 
* 
*   DESCRIPTION - CHECK LEGAL FUNCTIONS 
* 
*         1.  SET NUMBER OF FUNCTIONS TO BE ISSUED
*         2.  CONNECT AND CHECK STATUS
*         3.  ISSUE FUNCTION
*         4.  REPEAT FROM STEP 2 IF REPEAT CONDITION
*         5.  REPEAT FROM STEP 2 FOR ALL LEGAL FUNCTIONS
* 
* 
*   ERRORS DETECTED 
* 
*         1.  ABORT ON (CONN) 
*         2.  ABORT ON (FUNC) 
*         3.  ABORT ON (STATUS) 
*         4.  ABORT ON REL
* 
* 
*   ERROR MESSAGES ISSUED 
* 
*         1.  ABORT ON (CONN) AT LINE *OCT
*         2.  ABORT ON (FUNC) AT LINE *OCT
*         3.  ABORT ON (STATUS) AT LINE *OCT
*         4.  ABORT ON (REL) AT LINE *OCT 
*** CR103 - INTERNAL DOCUMENTATION
* 
* 
*   REGISTER USAGE
* 
*         B4 - ABORT MESSAGE POINTER
*         B5 - ERROR MESSAGE LINE POINTER 
*         B6 - SCOPE LOOP COUNTER 
*         B7 - ERROR COUNT
* 
*   MODULES CALLED
* 
*         CR196Z - ERROR PROCESSOR
* 
* 
*  *********************************************************
* 
/--------- THIS MODULE CHECKS THE ABILITY OF THE CARD READER
/--------- TO ACCEPT AND EXECUTE LEGAL FUNCTION CODES.
1  FORMAT CR103 LEGAL FUNCTION CHECK
2  FORMAT CR103 LC=*DEC EC=*DEC ST=*OCT 
17 FORMAT *DEC ERROR(S) IN CR103
* 
*    LEGAL FUNCTIONS ISSUED USING B1 AS INDEX.
* 
*                ASCII FUNCTION 42 NOT TESTED.
   DATA (OB(1),CON) 1,2,2,4,20,21,22,23,24,2. 
20 MSG 1 TO PRINT 
22 MSG 1 TO DISPLAY 
   B1=1                      *INITIALIZE INDEX B1 
24 GOSUB 60                  *CONNECT 
25 B4=4 
   FUNC OB(B1),ABT 74        *ISSUE FUNCTION
   IF(ES.AND.SL.EQ.0)GOTO 32
30 B6=B6+1
   MSG 2(B6,B7,SB(1)) TO DISPLAY  *POST SCOPE LOOP MESSAGE
   GOTO 24
32 IF(ES.AND.RC NE 0)GOTO 30    *REPEAT CONDITION LOOP
   GOTO 24 WHILE (B1+1 LE 12) 
/--------- EXIT SEQUENCE
54 IF(ES.AND.RM EQ 0)GOTO 55    *IF NOT REPEAT MODULE 
   B1=1 
   GOTO 30
55 IF(B7.EQ.0)GOTO 57 
56 MSG 17(B7) TO DAYFILE        *TERMINATION MESSAGE
57 EXIT 
/--------- CONNECT SUBROUTINE ******************************
60 B4=3 
   CONN,ABT 74               *CONNECT 
61 B4=5 
   STATUS 1 WORDS TO SB(1),ABT 74  *GET STATUS
   MSG 2(B6,B7,SB(1)) TO DISPLAY
   IF(SB(1).AND.3 EQ 1)GOTO 64     *CHECK STATUS
   IF(ES.AND.SL.NE.0)GOTO 60  *IF SCOPE LOOP
   B4=11
   REL,ABT 74 
   DELAY 100 MSEC            *WAIT
   GOTO 60                   *TRY AGAIN 
64 RETURN 
/--------- ABORT ERROR PROCESSOR **************************** 
74 ENDSUB                    *KILL ANY SUBROUTINES
   B7=B7+1                   *COUNT ERRORS
   B6=B6+1               *COUNT LOOPS 
   IF(ES.AND.SL.EQ.0)GOTO 75  *IF NOT SCOPE LOOP
   MSG 2(B6,B7,SB(1)) TO DISPLAY  *YES=POST DISPLAY MESSAGE 
   GOTO 24                   *RESTART 
75 B5=1            *LINE POINTER
   CALL 96Z                  *PROCESS ABORTS
   MSG 1 TO DISPLAY          *RESTORE RUN MESSAGE 
   IF(B7.LT.2)GOTO 24        *RESTART IF FIRST ERROR
   GOTO 56                   *ELSE ABNORMAL TERMINATE 
   END 20 
COMPILE                        - CR1 03 - CHECK LEGAL FUNCTIONS 
*  *********************************************************
*  *********************************************************
   MODULE CR104 3000(20),LOCK 
*** CR104 - READ DATA SCT. A
* 
**
* 
* CR104 - READ DATA SECT. A 
*  -------------
*   SECTION A(21BCD) AND B(22BCD) -READ CR1 DECK- 
* 
* 
*  OVERVIEW - MODULE CR104 CHECKS THE ABILITY OF THE C.R. 
*             TO READ SECTIONS A-B OF THE CR1 DECK. 
*             THE READ DATA IS COMPARED TO A SCRATCH FILE 
*             IMAGE OF THE CR1 DECK. A DATA MISCOMPARE ON A READ
*             TITLE CARD IS FLAGGED AS AN ERROR AND THE TEST IS 
*             ENDED. ALL OTHER DATA MISCOMPARES ARE FLAGGED AND 
*             AFTER FOUR COMPARE ERRORS THE TEST IS ENDED.
* 
* 
*  DESCRIPTION - DISPLAY SECTION, READ AND COMPARE SECTIONS 
*                A-B WITH SCRATCH FILE. FLAG COMPARE ERRORS 
*          1. CHECK STATUS OF C.R.
*          2. DISPLAY TEST SECTION. 
*          3. READ SCRATCH FILE.
*          4. SET BCD MODE. 
*          5. READ TITLE CARD.
*          6. COMPARE BUFFERS, READ SCRATCH IF NECCESSARY.
*          7. SET CARD COUNT. 
*          8. SET BINARY MODE.
*          9. READ DATA CARDS.
*         10. COMPARE BUFFERS, READ SCRATCH IF NECCESSARY.
*         11. SET BCD MODE WHEN CARD COUNT = 0. 
*         12. LOOK FOR E.O.F. CARD. BY DETECTING
*             ABN. E-O-P INTERUPT AND FILE CARD STATUS. 
*         14. REPEAT STEPS 1 TO 12 FOR SECTION B. 
*         15. IN SECTION B A RANDOM COUNT TO DELAY
*             CARD PICK IS SET IN THE RANGE O-250 MSECS.
*         16. EXIT TO NEXT MODULE.
* 
* 
* 
* 
* 
*  ERRORS DETECTED
* 
*          1. ABORT ON CONN.
*          2. ABORT ON STATUS.
*          3. UNEXPECTED NOT READY AND NOT BUSY.
*          4. COMPARE OR PREREAD ERROR. 
*          5. FAIL TO FEED OR JAM.
*          6. DATA ERRORS.
*          7. ERROR CODES GENERATED IN MODULE ARE;
*               110 - SELECTED ABN.EOP INTER. 
*               200 - DATA COMPARE ERRORS 
*               300 - 6681 STATUS ERRORS
*               500 - SCRATCH FILE ERRORS 
*         8.  ABORT ON FUNC8
*         9.  ABORT ON FUNC 
*         10. ABORT ON IN 
* 
*  ERROR MESSAGES ISSUED
* 
*          1. ABORT ON (CONN) AT LINE *OCT
*          2. ABORT ON (STATUS) AT LINE *OCT
*          3. UNEXPECTED NOT READY AND NOT BUSY (100) 
*          4. ABORT ON (IN) AT LINE *OCT
*          5. ERROR CODE *OCT -UNEXPECTED EOR ON SCRATCH-(500)
*          6. ERROR CODE *OCT AT LINE *OCT
*               WHERE ERROR CODE IS 
*                 100 IF NOT(READY AND NOT BUSY)
*                 110 SELECT ABN.EOP INTER. 
*                 200 DATA COMPARE ERROR
*                 300 6681 STATUS ERROR 
*         7.  ABORT ON (FUNC8) AT LINE *OCT 
*         8.  ABORT ON (FUNC) AT LINE *OCT
*         9.  ABORT ON (INB) AT LINE *OCT 
*** CR104 - INTERNAL DOCUMENTATION
* 
*  REGISTER USAGE 
*          B1 - TITLE CARD CODE IN BCD
*          B2 - DELAY CARD PICK 
*          B3 - SYSTEM SCRATCH FILE STATUS
*          B4 - ABORT MESSAGE COUNTER 
*          B5 - ERROR MESSAGE POINTER 
*          B6 - END-SECTION FLAG
*          B7 - ERROR COUNT 
*          B14 - SCRATCH CELL 
*          B15=READY NOT BUSY LOOP COUNTER. 
* 
* 
*          OB(501) - BUFFER LOCATION POINTER
*          OB(502) - CARD COUNTER 
*          OB(503) - RANDOM NUMBER
*          IB(501) - READ MODE
* 
* 
*  MODULES CALLED 
* 
*          CR196A - ERROR PROCESSOR 
*          CR196X - ERROR PROCESSOR 
* 
* 
************************************************************
01 FORMAT CR104  // SECTION IS *OCTBCD -READ CR1 DECK- // 
07 FORMAT CR104 ERROR CODE *OCT AT LINE *OCT
10 FORMAT CR104 -PAUSE- WAIT ON RNB 
15 FORMAT CR104 *DEC ERROR(S) -ABNORMAL TERMINATION-
17 FORMAT CR104  ERROR CODE *OCT -UNEXPECTED EOR ON SCRATCH-
20 B1 = 21                   *SECTION COUNT 
   OB(501) = 0               *BUFFER LOCATION POINTER 
   WC = 80D                  *CARD IMAGE
   SYSREW                    *REWIND SCRATCH FILE 
21 MSG 1 (B1) TO PRINT, DISPLAY   *SECTION MESSAGE
   GOSUB 50                  *READ SCRATCH FILE 
   IB(501) = 0               *SET BCD MODE
   GOSUB 60                  *READ A TITLE CARD 
   GOSUB 66                  *COMPARE BUFFERS 
   OB(502) = 8D              *CARD COUNT
   IB(501) = 1               *SET BINARY MODE 
22 GOSUB 60                  *READ A CARD 
   GOSUB 66                  *COMPARE BUFFERS 
   OB(502) = OB(502) - 1
   IF (OB(502) NE 0) GOTO 22
   IB(501) = 0               *SET BCD MODE
   B6 = 1                    *READ END SECTION CARD FLAG
   GOSUB 60                  *READ IT 
23 B1 = 22                   *SECTION B 
   MSG 1 (B1) TO DISPLAY, PRINT   *SECTION MESSAGE
   IB(501) = 0
   GOSUB 60                  *READ A TITLE CARD 
   GOSUB 66                  *COMPARE BUFFERS 
   OB(502) = 17D
   IB(501) = 1
24 RANDOM TO OB(503) FOR 1   *RANDOM NUMBER FOR DELAY 
   IF (OB(503) GT 250) GOTO 24  *FIND NUMBER 0-250B 
   B2 = OB(503) 
   GOSUB 60                  *READ A CARD 
   GOSUB 66                  *COMPARE BUFFERS 
   OB(502) = OB(502) - 1
   IF (OB(502) NE 0) GOTO 24
   IB(501) = 0
   B6 = 1                    *READ END SECTION CARD FLAG
   GOSUB 60                  *READ IT 
30 EXIT TO 04A             *NEXT SECTION
50 SYSRD, STATUS TO B3       *READ SCRATCH ROUTINE *********
   IF (WT EQ 0) ERROR 17/500 GOTO 76  *NO INFOMATION
   IF (B3 NE 0) ERROR 17/500 GOTO 76  *E-O-I OR E-O-R 
   COPY IB TO OB FOR 320D    *SCRATCH COMPARE TO OUTPUT 
   DUP 0 TO IB FOR 320D      *ZERO INPUT BUFFER 
   OB(501) = 0               *BUFFER LOCATION POINTER 
51 RETURN 
* 
*          CONNECT SUBROUTINE 
* 
52 B15=20          *STATUS RETRY
53 B4 = 3 
   CONN, ABT 74 
54 B4 = 5 
   STATUS 1 WORDS TO SB(1), ABT 74  *EQUIP STATUS 
   IF (SB(1) AND 3 EQ 1) GOTO 56    *CHECK STATUS 
   B4=11
   REL,ABT 74 
   DELAY 100 MSEC            *WAIT
   GOTO 53 WHILE(B15-1.NE.0)     *CONTINUE CHECK
   MSG 10 TO PRINT , DISPLAY
   PAUSE       *WAIT OP ACTION ON NOT READY-NOT-BUSY
   MSG 1(B1)TO DISPLAY
   GOTO 52
56 RETURN 
60 GOSUB 52                  *READ SUBROUTINE ************* 
   B4 = 4 
   IF (IB(501) EQ 0) GOTO 61  *READ MODE
   WC = 80D 
   FUNC 1, ABT 74            *SET BINARY
   GOTO 62
61 WC = 40D 
   FUNC 2, ABT 74            *SET BCD 
62 IF (B6 EQ 0) GOTO 63      *READ END SECTION
   FUNC 24, ABT 74           *SET ABN E-O-P INTERRUPT 
63 B4 = 2 
   FUN8 1400, ABT 74         *READ E-O-R
   B4 = 7 
   DELAY B2 MSEC             *DELAY PICK
   IN, ABT 74                *INPUT IMAGE 1 WORD AT A TIME
   B3=0 
   B4=12
   STATUS8 TO SB, ABT 74     *668X STATUS 
   IF (SB AND 3 NE 0) ERROR 7/300 GOTO 71   *668X ERROR 
64 STATUS 1 WORDS TO SB(1), ABT 74  *GET STATUS 
   IF (B6 EQ 0) GOTO 65 
   IF (SB(1) AND 3771 NE 1011) ERROR 7/110 GOTO 67
   B6 = 0                    *CLEAR END-SECTION FLAG
   RETURN                    *FILE STATUS OK
65 IF(SB(1).AND.3761.NE.1) ERROR 7/100 GOTO 67
   RETURN 
* 
*-------COMPARE SUBROUTINE
* 
66 B14=OB(501)
   COMPARE IB TO OB(B14) FOR WC,ABT 70   *COMPARE BUFFER
72 OB(501) = OB(501) + 80D   *INCREMENT BUFFER POINTER
   IF (OB(501) EQ 320D) GOSUB 50  *MORE IMAGES FROM SCRATCH 
   RETURN 
67 GOTO 64 WHILE (B3 + 1 LT 10)  *TRY AGAIN 
   GOTO 71                   *FAILED REPORT ERROR 
70 ERROR 7/200               *ERROR ROUTINES ***************
71 B7 = B7 + 1               *INCREMENT COUNTER 
   MSG EM(EC,EA) TO LINE 0       *POST MSG
   B5=1 
   CALL 96A                  *ERROR PROCESSOR 
   IF (B7.GT.3) GOTO 75      *FOUR ERROR LIMIT
   IF (OB(502).EQ.0) GOTO 75   *TITLE CARD TERMINATE
   IF (EC.EQ.200) GOTO 72    *IF COMPARE ERROR
   RETURN 
74 ENDSUB                    *KILL ANY SUBROUTINES
   B7 = B7 + 1               *COUNT ERRORS
   B5=1            *LINE POINTER
   CALL 96Z                  *PROCESS ABORTS
75 MSG 15(B7) TO DISPLAY,PRINT,DAYFILE   *POST MESSAGE
   GOTO 77
76 MSG EM(EC) TO DISPLAY,PRINT,DAYFILE   *POST MESSAGE
77 PAUSE                     *PAUSE FOR ERROR MESSAGES
   END 20 
COMPILE                        - CR1 04 - READ SCT.A + B
*  *********************************************************
*  *********************************************************
   MODULE CR104A 3000(20),LOCK
***   -READ SECTIONS C AND D
* 
**
* 
*   SECTION C(23BCD) AND D(24BCD) -READ CR1 DECK- 
* 
* 
*  OVERVIEW SUBMODULE CR104A CHECKS THE ABILITY OF THE C.R. 
*             TO READ SECTIONS C-D OF THE CR1 DECK. THE READ
*             DATA IS COMPARED TO A SCRATCH FILE IMAGE OF 
*             THE CR1 DECK. A DATA MISCOMPARE ON A READ TITLE IS
*             FLAGGED AS AN ERROR AND THE TEST IS ENDED. ALL OTHER
*             DATA MISCOMPARES ARE FLAGGED AND AFTER FOUR COMPARE 
*             ERRORS THE TEST IS ENDED. 
* 
* 
*  DESCRIPTION - DISPLAY SECTION, READ AND COMPARE SECTIONS 
*             C-D WITH THE SCRATCH FILE. FLAG COMPARE ERRORS
*          1. CHECK STATUS OF THE C.R.
*          2. DISPLAY TEST SECTION. 
*          3. SET BCD MODE. 
*          4. READ TITLE CARD.
*          5. COMPARE BUFFERS AND READ IMAGES FROM SCRATCH
*             IF NECCESSARY.
*          6. SET CARD COUNT. 
*          7. SET BINARY MODE.
*          8. READ DATA CARDS 
*          9. COMPARE BUFFERS AND READ IMAGE FROM SCRATCH 
*             IF NECCESSARY.
*         10. SET BCD MODE WHEN CARD COUNT = 0. 
*         11. LOOK FOR E.O.F. CARD, BY DETECTING
*             ABN, E-O-P INTERRUPT AND FILE CARD STATUS.
*         12. REPEAT STEPS 1-11 FOR SECTION D.
*         13. EXIT TO NEXT SECTION. 
* 
* 
* 
* 
*  ERRORS DETECTED
* 
*          1. ABORT ON CONN.
*          2. ABORT ON STATUS.
*          3. UNEXPECTED NOT READY AND NOT BUSY.
*          4. COMPARE OR PREREAD ERROR. 
*          5. FAIL TO FEED OR JAM.
*          6. DATA ERRORS.
*          7.  ABORT ON FUNC8 
*          8.  ABORT ON FUNC
*          9.  ABORT ON INB 
*          10.. ERROR CODES GENERATED IN MODULE ARE;
*               110 - SELECTED ABN.EOP INTER. 
*               200 - DATA COMPARE ERRORS 
*               300 - 6681 STATUS ERRORS
*               500 - SCRATCH FILE ERRORS 
* 
*  ERROR MESSAGES ISSUED
* 
*          1. ABORT ON (CONN) AT LINE *OCT
*          2. ABORT ON (STATUS) AT LINE *OCT
*          3. UNEXPECTED NOT READY AND NOT BUSY (100) 
*          4. ABORT ON (INB) AT LINE *OCT 
*          5.  ABORT ON (FUNC8) AT LINE *OCT
*          6.  ABORT ON (FUNC) AT LINE *OCT 
*          7. ERROR CODE *OCT AT LINE *OCT
*               WHERE ERROR CODE IS 
*                 100 IF NOT(READY AND NOT BUSY)
*                 110 SELECT ABN.EOP INTER. 
*                 200 DATA COMPARE ERROR
*                 300 6681 STATUS ERROR 
*                 500 SCRATCH FILE ERRORS 
***   INTERNAL DOCUMENTATION
* 
*  REGISTER USAGE 
*          B1 - TITLE CARD CODE IN BCD
*          B2 - DELAY CARD PICK 
*          B3 - SYSTEM SCRATCH FILE STATUS
*          B4 - ABORT MESSAGE COUNTER 
*          B5 - ERROR MESSAGE POINTER 
*          B6 - END-SECTION FLAG
*          B7 - ERROR COUNT 
*          B14 - SCRATCH CELL 
*          B15=READY NOT BUSY LOOP COUNTER. 
* 
* 
*          OB(501) - BUFFER LOCATION POINTER
*          OB(502) - CARD COUNTER 
*          OB(503) - RANDOM NUMBER
*          IB(501) - READ MODE
* 
* 
*  MODULES CALLED 
* 
*          CR196A - ERROR PROCESSOR 
*          CR196X - ERROR PROCESSOR 
* 
* 
************************************************************
1  FORMAT CR104A // SECTION IS *OCTBCD -READ CR1 DECK- // 
7  FORMAT CR104A ERROR CODE *OCT AT LINE *OCT 
10 FORMAT CR104A -PAUSE- WAIT ON RNB
15 FORMAT CR104A *DEC ERROR(S) -ABNORMAL TERMINATION- 
17 FORMAT CR104A ERROR CODE *OCT -UNEXPECTED EOR ON SCRATCH-
20 B1 = 23                   *SECTION COUNT 
   WC = 80D                  *CARD IMAGE
/--------- CARD SECTIONS             *******************************
21 MSG 1 (B1) TO PRINT, DISPLAY   *SECTION MESSAGE
   IB(501) = 0               *SET BCD MODE
   GOSUB 60                  *READ A TITLE CARD 
   GOSUB 66                  *COMPARE BUFFERS 
   OB(502) = 14D             *CARD COUNT
   IB(501) = 1               *SET BINARY MODE 
22 GOSUB 60                  *READ A CARD 
   GOSUB 66                  *COMPARE BUFFERS 
   OB(502) = OB(502) - 1
   IF (OB(502) NE 0) GOTO 22
   IB(501) = 0               *SET BCD MODE
   B6 = 1                    *READ END SECTION CARD FLAG
   GOSUB 60                  *READ IT 
23 B1 = 24                   *SECTION D 
   MSG 1 (B1) TO DISPLAY, PRINT   *SECTION MESSAGE
   IB(501) = 0
   GOSUB 60                  *READ A TITLE CARD 
   GOSUB 66                  *COMPARE BUFFERS 
   OB(502) = 31D
   IB(501) = 1
24 GOSUB 60                  *READ A CARD 
   GOSUB 66                  *COMPARE BUFFERS 
   OB(502) = OB(502) - 1
   IF (OB(502) NE 0) GOTO 24
   IB(501) = 0
   B6 = 1                    *READ END SECTION CARD FLAG
   GOSUB 60                  *READ IT 
30 EXIT TO 04B             *NEXT SECTION
/--------- READ SCRATCH FILE SUBROUTINE *************************** 
50 SYSRD, STATUS TO B3       *READ THE SCRATCH FILE 
   IF (WT EQ 0) ERROR 17/500 GOTO 76  *NO INFOMATION
   IF (B3 NE 0) ERROR 17/500 GOTO 76  *E-O-I OR E-O-R 
   COPY IB TO OB FOR 320D    *SCRATCH COMPARE TO OUTPUT 
   DUP 0 TO IB FOR 320D      *ZERO INPUT BUFFER 
   OB(501) = 0               *BUFFER LOCATION POINTER 
51 RETURN 
* 
*          CONNECT SUBROUTINE 
* 
52 B15=20          *STATUS RETRY
53 B4 = 3 
   CONN, ABT 74 
54 B4 = 5 
   STATUS 1 WORDS TO SB(1), ABT 74  *EQUIP STATUS 
   IF (SB(1) AND 3 EQ 1) GOTO 56    *CHECK STATUS 
   B4=11
   REL,ABT 74 
   DELAY 100 MSEC            *WAIT
   GOTO 53 WHILE(B15-1.NE.0)     *CONTINUE CHECK
   MSG 10 TO PRINT , DISPLAY
   PAUSE       *WAIT OP ACTION ON NOT READY-NOT-BUSY
   MSG 1(B1)TO DISPLAY
   GOTO 52
56 RETURN 
60 GOSUB 52                  *READ SUBROUTINE ************* 
   B3 = 0 
   B4 = 4 
   IF (IB(501) EQ 0) GOTO 61  *READ MODE
   WC = 80D 
   FUNC 1, ABT 74            *SET BINARY
   GOTO 62
61 WC = 40D 
   FUNC 2, ABT 74            *SET BCD 
62 IF (B6 EQ 0) GOTO 63      *READ END SECTION
   FUNC 24, ABT 74           *SET ABN E-O-P INTERRUPT 
63 B4 = 2 
   FUN8 1400, ABT 74         *READ E-O-R
   B4 = 6 
   DELAY B2 MSEC             *DELAY PICK
   INB, ABT 74               *INPUT IMAGE 
   B3=0 
   B4=12
   STATUS8 TO SB, ABT 74     *668X STATUS 
   IF (SB AND 3 NE 0) ERROR 7/300 GOTO 71   *668X ERROR 
64 STATUS 1 WORDS TO SB(1), ABT 74  *GET STATUS 
   IF (B6 EQ 0) GOTO 65 
   IF (SB(1) AND 3771 NE 1011) ERROR 7/110 GOTO 67
   B6 = 0                    *CLEAR END-SECTION FLAG
   RETURN                    *FILE STATUS OK
65 IF(SB(1).AND.3761.NE.1) ERROR 7/100 GOTO 67
   RETURN 
* 
*-------COMPARE SUBROUTINE
* 
66 B14=OB(501)
   COMPARE IB TO OB(B14) FOR WC,ABT 70   *COMPARE BUFFER
72 OB(501) = OB(501) + 80D   *INCREMENT BUFFER POINTER
   IF (OB(501) EQ 320D) GOSUB 50  *MORE IMAGES FROM SCRATCH 
   RETURN 
67 GOTO 64 WHILE (B3 + 1 LT 10)  *TRY AGAIN 
   GOTO 71
/--------- ERROR ROUTINES            *******************************
70 ERROR 7/200               *DATA COMPARE ERROR
71 B7 = B7 + 1               *INCREMENT COUNTER 
   MSG EM(EC,EA) TO LINE 0       *POST MSG
   B5=1 
   CALL 96A                  *ERROR PROCESSOR 
   IF (B7.GT.3) GOTO 75      *FOUR ERROR LIMIT
   IF (OB(502).EQ.0) GOTO 75   *TITLE CARD TERMINATE
   IF (EC.EQ.200) GOTO 72    *IF COMPARE ERROR
   RETURN 
74 ENDSUB                    *KILL ANY SUBROUTINES
   B7 = B7 + 1               *COUNT ERRORS
   B5=1            *LINE POINTER
   CALL 96Z                  *PROCESS ABORTS
75 MSG 15(B7) TO DISPLAY,PRINT,DAYFILE   *POST MESSAGE
   GOTO 77
76 MSG EM(EC) TO DISPLAY,PRINT,DAYFILE   *POST MESSAGE
77 PAUSE                     *PAUSE FOR ERROR MESSAGES
   END 20 
COMPILE        -CR1 04A - 
*  *********************************************************
*  *********************************************************
   MODULE CR104B 3000(20),LOCK
***   -READ SECTIONS E AND F
* 
**
* 
*   SECTION E(25BCD) AND F(26BCD) -READ CR1 DECK- 
* 
* 
*  OVERVIEW SUBMODULE CR104B CHECKS THE ABILITY OF THE C.R. 
*             TO READ SECTIONS E-F OF THE CR1 DECK. THE READ
*             DATA IS COMPARED TO A SCRATCH FILE IMAGE OF THE 
*             CR1 DECK FOR SECTION E. SECTION F IS RANDOM AND 
*             NO DATA COMPARE IS PERFORMED. A DATA MISCOMPARE ON A
*             READ TITLE CARD IS FLAGGED AS AN ERROR AND THE TEST IS
*             ENDED. ALL OTHER DATA MISCOMPARES ARE FLAGGED AND AFTER 
*             FOUR COMPARE ERRORS THE TEST IS ENDED.
* 
* 
*  DESCRIPTION - DISPLAY SECTION, READ AND COMPARE SECTIONS 
*         E WITH THE SCRATCH FILE. F IS RANDOM-NO DATA COMPARE
*              RANDOM SECTIONS OF CR1 DO NOT COMPARE DATA 
*              PUNCHED. ONLY CHECK FOR HARDWARE COMPARE ERRORS. 
*              BECAUSE OF THIS THE SECTIONS ARE CONTROLLED BY 
*              CARD COUNTS. ** IF THIS SECTION IS ONE CARD
*              LONG THE ERROR MAY BE REPORTED IN
*              THE NEXT SECTION.*** 
* 
*          1. CHECK STATUS OF THE C.R.
*          2. DISPLAY TEST SECTION. 
*          3. SET BCD MODE. 
*          4. READ TITLE CARD.
*          5. COMPARE BUFFERS AND READ IMAGES FROM SCRATCH
*             IF NECCESSARY.
*          6. SET CARD COUNT. 
*          7. SET BINARY MODE.
*          8. READ DATA CARDS 
*          9. COMPARE BUFFERS AND READ IMAGES FROM SCRATCH
*             IF NECCESSARY.
*         10. SET BCD MODE WHEN CARD COUNT = 0. 
*         11. LOOK FOR E.O.F. CARD, BY DETECTING
*             ABN, E-O-P INTERRUPT AND FILE CARD STATUS.
*         12. REPEAT STEPS 1-11 FOR SECTION F EXCEPT FOR
*             STEPS 7 AND 9. NO DATA IS COMPARED FOR RANDOM 
*             INFORMATION.
*         13. EXIT TO NEXT SECTION. 
* 
* 
* 
* 
*  ERRORS DETECTED
* 
*          1. ABORT ON CONN.
*          2. ABORT ON STATUS.
*          3. UNEXPECTED NOT READY AND NOT BUSY.
*          4. COMPARE OR PREREAD ERROR. 
*          5. FAIL TO FEED OR JAM.
*          6. DATA ERRORS.
*          7.  ABORT ON FUNC8 
*          8.  ABORT ON FUNC
*          9.  ABORT ON INB 
*          10.. ERROR CODES GENERATED IN MODULE ARE;
*               110 - SELECTED ABN.EOP INTER. 
*               200 - DATA COMPARE ERRORS 
*               300 - 6681 STATUS ERRORS
*               500 - SCRATCH FILE ERRORS 
* 
*  ERROR MESSAGES ISSUED
* 
*          1. ABORT ON (CONN) AT LINE *OCT
*          2. ABORT ON (STATUS) AT LINE *OCT
*          3. UNEXPECTED NOT READY AND NOT BUSY (100) 
*          4. ABORT ON (INB) AT LINE *OCT 
*          5.  ABORT ON (FUNC8) AT LINE *OCT
*          6.  ABORT ON (FUNC) AT LINE *OCT 
*          7. ERROR CODE *OCT AT LINE *OCT
*               WHERE ERROR CODE IS 
*                 100 IF NOT(READY AND NOT BUSY)
*                 110 SELECT ABN.EOP INTER. 
*                 200 DATA COMPARE ERROR
*                 300 6681 STATUS ERROR 
*                 500 SCRATCH FILE ERRORS 
***   INTERNAL DOCUMENTATION
* 
*  REGISTER USAGE 
*          B1 - TITLE CARD CODE IN BCD
*          B2 - DELAY CARD PICK 
*          B3 - SYSTEM SCRATCH FILE STATUS
*          B4 - ABORT MESSAGE COUNTER 
*          B5 - ERROR MESSAGE POINTER 
*          B6 - END-SECTION FLAG
*          B7 - ERROR COUNTER 
*          B14 - SCRATCH CELL 
*          B15 - READY-NOT-BUSY LOOP COUNTER
* 
* 
*          OB(501) - BUFFER LOCATION POINTER
*          OB(502) - CARD COUNTER 
*          OB(503) - RANDOM NUMBER
*          IB(501) - READ MODE
* 
* 
*  MODULES CALLED 
* 
*          CR196A - ERROR PROCESSOR 
*          CR196X - ERROR PROCESSOR 
* 
* 
************************************************************
1  FORMAT CR104B // SECTION IS *OCTBCD -READ CR1 DECK- // 
7  FORMAT CR104B ERROR CODE *OCT AT LINE *OCT 
10 FORMAT CR104B -PAUSE- WAIT ON RNB
15 FORMAT CR104B *DEC ERROR(S) -ABNORMAL TERMINATION- 
17 FORMAT CR104B ERROR CODE *OCT -UNEXPECTED EOR ON SCRATCH-
20 B1 = 25                   *SECTION COUNT 
   WC = 80D                  *CARD IMAGE
/--------- CARD SECTIONS             *******************************
21 MSG 1 (B1) TO PRINT, DISPLAY   *SECTION MESSAGE
   IB(501) = 0               *SET BCD MODE
   GOSUB 60                  *READ A TITLE CARD 
   GOSUB 66                  *COMPARE BUFFERS 
   OB(502) = 28D             *CARD COUNT
   IB(501) = 1               *SET BINARY MODE 
22 GOSUB 60                  *READ A CARD 
   GOSUB 66                  *COMPARE BUFFERS 
   OB(502) = OB(502) - 1
   IF (OB(502) NE 0) GOTO 22
   IB(501) = 0               *SET BCD MODE
   B6 = 1                    *READ END SECTION CARD FLAG
   GOSUB 60                  *READ IT 
23 B1 = 26                   *SECTION F 
   MSG 1 (B1) TO DISPLAY, PRINT   *SECTION MESSAGE
   IB(501) = 0
   GOSUB 60                  *READ A TITLE CARD 
   GOSUB 66                  *COMPARE BUFFERS 
   OB(502) = 20D
24 GOSUB 60                  *READ A RANDOM CARD
   OB(502) = OB(502) - 1
   IF (OB(502) NE 0) GOTO 24
   IB(501) = 0
   B6 = 1                    *READ END SECTION CARD FLAG
   GOSUB 60                  *READ IT 
30 EXIT TO 04C             *NEXT SECTION
/--------- READ SCRATCH FILE SUBROUTINE *************************** 
50 SYSRD, STATUS TO B3       *READ THE SCRATCH FILE 
   IF (WT EQ 0) ERROR 17/500 GOTO 76  *NO INFOMATION
   IF (B3 NE 0) ERROR 17/500 GOTO 76  *E-O-I OR E-O-R 
   COPY IB TO OB FOR 320D    *SCRATCH COMPARE TO OUTPUT 
   DUP 0 TO IB FOR 320D      *ZERO INPUT BUFFER 
   OB(501) = 0               *BUFFER LOCATION POINTER 
51 RETURN 
* 
*          CONNECT SUBROUTINE 
* 
52 B15=20          *STATUS RETRY
53 B4 = 3 
   CONN, ABT 74 
54 B4 = 5 
   STATUS 1 WORDS TO SB(1), ABT 74  *EQUIP STATUS 
   IF (SB(1) AND 3 EQ 1) GOTO 56    *CHECK STATUS 
   B4=11
   REL,ABT 74 
   DELAY 100 MSEC            *WAIT
   GOTO 53 WHILE(B15-1.NE.0)     *CONTINUE CHECK
   MSG 10 TO PRINT , DISPLAY
   PAUSE       *WAIT OP ACTION ON NOT READY-NOT-BUSY
   MSG 1(B1)TO DISPLAY
   GOTO 52
56 RETURN 
60 GOSUB 52                  *READ SUBROUTINE ************* 
   B3 = 0 
   B4 = 4 
   IF (IB(501) EQ 0) GOTO 61  *READ MODE
   WC = 80D 
   FUNC 1, ABT 74            *SET BINARY
   GOTO 62
61 WC = 40D 
   FUNC 2, ABT 74            *SET BCD 
62 IF (B6 EQ 0) GOTO 63      *READ END SECTION
   FUNC 24, ABT 74           *SET ABN E-O-P INTERRUPT 
63 B4 = 2 
   FUN8 1400, ABT 74         *READ E-O-R
   B4 = 6 
   DELAY B2 MSEC             *DELAY PICK
   INB, ABT 74               *INPUT IMAGE 
   B3=0 
   B4=12
   STATUS8 TO SB, ABT 74     *668X STATUS 
   IF (SB AND 3 NE 0) ERROR 7/300 GOTO 71   *668X ERROR 
64 STATUS 1 WORDS TO SB(1), ABT 74  *GET STATUS 
   IF (B6 EQ 0) GOTO 65 
   IF (SB(1) AND 3771 NE 1011) ERROR 7/110 GOTO 67
   B6 = 0                    *CLEAR END-SECTION FLAG
   RETURN                    *FILE STATUS OK
65 IF(SB(1).AND.3761.NE.1) ERROR 7/100 GOTO 67
   RETURN 
* 
*-------COMPARE SUBROUTINE
* 
66 B14=OB(501)
   COMPARE IB TO OB(B14) FOR WC,ABT 70   *COMPARE BUFFER
72 OB(501) = OB(501) + 80D   *INCREMENT BUFFER POINTER
   IF (OB(501) EQ 320D) GOSUB 50  *MORE IMAGES FROM SCRATCH 
   RETURN 
67 GOTO 64 WHILE (B3 + 1 LT 10)  *TRY AGAIN 
   GOTO 71
/--------- ERROR ROUTINES            *******************************
70 ERROR 7/200               *DATA COMPARE ERROR
71 B7 = B7 + 1               *INCREMENT COUNTER 
   MSG EM(EC,EA) TO LINE 0       *POST MSG
   B5=1 
   CALL 96A                  *ERROR PROCESSOR 
   IF (B7.GT.3) GOTO 75      *FOUR ERROR LIMIT
   IF (OB(502).EQ.0) GOTO 75   *TITLE CARD TERMINATE
   IF (EC.EQ.200) GOTO 72    *IF COMPARE ERROR
   RETURN 
74 ENDSUB                    *KILL ANY SUBROUTINES
   B7 = B7 + 1               *COUNT ERRORS
   B5=1            *LINE POINTER
   CALL 96Z                  *PROCESS ABORTS
75 MSG 15(B7) TO DISPLAY,PRINT,DAYFILE   *POST MESSAGE
   GOTO 77
76 MSG EM(EC) TO DISPLAY,PRINT,DAYFILE   *POST MESSAGE
77 PAUSE                     *PAUSE FOR ERROR MESSAGES
   END 20 
COMPILE        -CR1 04B - 
*  *********************************************************
*  *********************************************************
   MODULE CR104C 3000(20),LOCK
***   -READ SECTIONS G AND H
* 
**
* 
*   SECTION G(27BCD) AND H(30BCD) -READ CR1 DECK- 
* 
* 
*  OVERVIEW SUBMODULE CR104C CHECKS THE ABILITY OF THE C.R. 
*             TO READ SECTIONS G-H OF THE CR1 DECK. THE READ
*             DATA IS COMPARED TO A SCRATCH FILE IMAGE OF THE 
*             CR1 DECK. A DATA MISCOMPARE ON A READ TITLE CARD IS 
*             FLAGGED AS AN ERROR AND THE TEST IS ENDED. ALL OTHER
*             DATA MISCOMPARES ARE FLAGGED AND AFTER FOUR COMPARE 
*             ERRORS THE TEST IS ENDED. 
* 
* 
*  DESCRIPTION - DISPLAY SECTION, READ AND COMPARE SECTIONS 
*             G-H WITH THE SCRATCH FILE. FLAG COMPARE ERRORS
*          1. CHECK STATUS OF THE C.R.
*          2. DISPLAY TEST SECTION. 
*          3. SET BCD MODE. 
*          4. READ TITLE CARD.
*          5. COMPARE BUFFERS AND READ IMAGES FROM SCRATCH
*             IF NECCESSARY.
*          6. SET CARD COUNT. 
*          7. SET BINARY MODE.
*          8. READ DATA CARDS 
*          9. COMPARE BUFFERS AND READ IMAGES FROM SCRATCH
*             IF NECCESSARY.
*         10. SET BCD MODE WHEN CARD COUNT = 0. 
*         11. LOOK FOR E.O.F. CARD, BY DETECTING
*             ABN, E-O-P INTERRUPT AND FILE CARD STATUS.
*         12. REPEAT STEPS 1-11 FOR SECTION D.
*         13. EXIT TO NEXT SECTION. 
* 
* 
* 
* 
*  ERRORS DETECTED
* 
*          1. ABORT ON CONN.
*          2. ABORT ON STATUS.
*          3. UNEXPECTED NOT READY AND NOT BUSY.
*          4. COMPARE OR PREREAD ERROR. 
*          5. FAIL TO FEED OR JAM.
*          6. DATA ERRORS.
*          7.  ABORT ON FUNC8 
*          8.  ABORT ON FUNC
*          9.  ABORT ON INB 
*          10.. ERROR CODES GENERATED IN MODULE ARE;
*               110 - SELECTED ABN.EOP INTER. 
*               200 - DATA COMPARE ERRORS 
*               300 - 6681 STATUS ERRORS
*               500 - SCRATCH FILE ERRORS 
* 
*  ERROR MESSAGES ISSUED
* 
*          1. ABORT ON (CONN) AT LINE *OCT
*          2. ABORT ON (STATUS) AT LINE *OCT
*          3. UNEXPECTED NOT READY AND NOT BUSY (100) 
*          4. ABORT ON (INB) AT LINE *OCT 
*          5.  ABORT ON (FUNC8) AT LINE *OCT
*          6.  ABORT ON (FUNC) AT LINE *OCT 
*          7. ERROR CODE *OCT AT LINE *OCT
*               WHERE ERROR CODE IS 
*                 100 IF NOT(READY AND NOT BUSY)
*                 110 SELECT ABN.EOP INTER. 
*                 200 DATA COMPARE ERROR
*                 300 6681 STATUS ERROR 
*                 500 SCRATCH FILE ERRORS 
***   INTERNAL DOCUMENTATION
* 
*  REGISTER USAGE 
*          B1 - TITLE CARD CODE IN BCD
*          B2 - DELAY CARD PICK 
*          B3 - SYSTEM SCRATCH FILE STATUS
*          B4 - ABORT MESSAGE COUNTER 
*          B5 - ERROR MESSAGE POINTER 
*          B6 - END-SECTION FLAG
*          B7 - ERROR COUNT 
*          B14 - SCRATCH CELL 
*          B15=READY NOT BUSY LOOP COUNTER. 
* 
* 
*          OB(501) - BUFFER LOCATION POINTER
*          OB(502) - CARD COUNTER 
*          OB(503) - RANDOM NUMBER
*          IB(501) - READ MODE
* 
* 
*  MODULES CALLED 
* 
*          CR196A - ERROR PROCESSOR 
*          CR196X - ERROR PROCESSOR 
* 
* 
************************************************************
1  FORMAT CR104C // SECTION IS *OCTBCD -READ CR1 DECK- // 
7  FORMAT CR104C ERROR CODE *OCT AT LINE *OCT 
10 FORMAT CR104C -PAUSE- WAIT ON RNB
15 FORMAT CR104C *DEC ERROR(S) -ABNORMAL TERMINATION- 
17 FORMAT CR104C ERROR CODE *OCT -UNEXPECTED EOR ON SCRATCH-
20 B1 = 27                   *SECTION COUNT 
   WC = 80D                  *CARD IMAGE
/--------- CARD SECTIONS             *******************************
21 MSG 1 (B1) TO PRINT, DISPLAY   *SECTION MESSAGE
   IB(501) = 0               *SET BCD MODE
   GOSUB 60                  *READ A TITLE CARD 
   GOSUB 66                  *COMPARE BUFFERS 
   OB(502) = 19D             *CARD COUNT
   IB(501) = 1               *SET BINARY MODE 
22 GOSUB 60                  *READ A CARD 
   GOSUB 66                  *COMPARE BUFFERS 
   OB(502) = OB(502) - 1
   IF (OB(502) NE 0) GOTO 22
   IB(501) = 0               *SET BCD MODE
   B6 = 1                    *READ END SECTION CARD FLAG
   GOSUB 60                  *READ IT 
23 B1 = 30                   *SECTION H 
   MSG 1 (B1) TO DISPLAY, PRINT   *SECTION MESSAGE
   IB(501) = 0
   GOSUB 60                  *READ A TITLE CARD 
   GOSUB 66                  *COMPARE BUFFERS 
   OB(502) = 14D
   IB(501) = 1
24 GOSUB 60                  *READ A  CARD
   GOSUB 66                  *COMPARE BUFFERS 
   OB(502) = OB(502) - 1
   IF (OB(502) NE 0) GOTO 24
   IB(501) = 0
   B6 = 1                    *READ END SECTION CARD FLAG
   GOSUB 60                  *READ IT 
30 EXIT TO 04D             *NEXT SECTION
/--------- READ SCRATCH FILE SUBROUTINE *************************** 
50 SYSRD, STATUS TO B3       *READ THE SCRATCH FILE 
   IF (WT EQ 0) ERROR 17/500 GOTO 76  *NO INFOMATION
   IF (B3 NE 0) ERROR 17/500 GOTO 76  *E-O-I OR E-O-R 
   COPY IB TO OB FOR 320D    *SCRATCH COMPARE TO OUTPUT 
   DUP 0 TO IB FOR 320D      *ZERO INPUT BUFFER 
   OB(501) = 0               *BUFFER LOCATION POINTER 
51 RETURN 
* 
*          CONNECT SUBROUTINE 
* 
52 B15=20          *STATUS RETRY
53 B4 = 3 
   CONN, ABT 74 
54 B4 = 5 
   STATUS 1 WORDS TO SB(1), ABT 74  *EQUIP STATUS 
   IF (SB(1) AND 3 EQ 1) GOTO 56    *CHECK STATUS 
   B4=11
   REL,ABT 74 
   DELAY 100 MSEC            *WAIT
   GOTO 53 WHILE(B15-1.NE.0)     *CONTINUE CHECK
   MSG 10 TO PRINT , DISPLAY
   PAUSE       *WAIT OP ACTION ON NOT READY-NOT-BUSY
   MSG 1(B1) TO DISPLAY 
   GOTO 52
56 RETURN 
60 GOSUB 52                  *READ SUBROUTINE ************* 
   B3 = 0 
   B4 = 4 
   IF (IB(501) EQ 0) GOTO 61  *READ MODE
   WC = 80D 
   FUNC 1, ABT 74            *SET BINARY
   GOTO 62
61 WC = 40D 
   FUNC 2, ABT 74            *SET BCD 
62 IF (B6 EQ 0) GOTO 63      *READ END SECTION
   FUNC 24, ABT 74           *SET ABN E-O-P INTERRUPT 
63 B4 = 2 
   FUN8 1400, ABT 74         *READ E-O-R
   B4 = 6 
   DELAY B2 MSEC             *DELAY PICK
   INB, ABT 74               *INPUT IMAGE 
   B3=0 
   B4=12
   STATUS8 TO SB, ABT 74     *668X STATUS 
   IF (SB AND 3 NE 0) ERROR 7/300 GOTO 71   *668X ERROR 
64 STATUS 1 WORDS TO SB(1), ABT 74  *GET STATUS 
   IF (B6 EQ 0) GOTO 65 
   IF (SB(1) AND 3771 NE 1011) ERROR 7/110 GOTO 67
   B6 = 0                    *CLEAR END-SECTION FLAG
   RETURN                    *FILE STATUS OK
65 IF(SB(1).AND.3761.NE.1) ERROR 7/100 GOTO 67
   RETURN 
* 
*-------COMPARE SUBROUTINE
* 
66 B14=OB(501)
   COMPARE IB TO OB(B14) FOR WC,ABT 70   *COMPARE BUFFER
72 OB(501) = OB(501) + 80D   *INCREMENT BUFFER POINTER
   IF (OB(501) EQ 320D) GOSUB 50  *MORE IMAGES FROM SCRATCH 
   RETURN 
67 GOTO 64 WHILE (B3 + 1 LT 10)  *TRY AGAIN 
   GOTO 71
/--------- ERROR ROUTINES            *******************************
70 ERROR 7/200               *DATA COMPARE ERROR
71 B7 = B7 + 1               *INCREMENT COUNTER 
   MSG EM(EC,EA) TO LINE 0       *POST MSG
   B5=1 
   CALL 96A                  *ERROR PROCESSOR 
   IF (B7.GT.3) GOTO 75      *FOUR ERROR LIMIT
   IF (OB(502).EQ.0) GOTO 75   *TITLE CARD TERMINATE
   IF (EC.EQ.200) GOTO 72    *IF COMPARE ERROR
   RETURN 
74 ENDSUB                    *KILL ANY SUBROUTINES
   B7 = B7 + 1               *COUNT ERRORS
   B5=1                 *LINE POINTER 
   CALL 96Z                  *PROCESS ABORTS
75 MSG 15(B7) TO DISPLAY,PRINT,DAYFILE   *POST MESSAGE
   GOTO 77
76 MSG EM(EC) TO DISPLAY,PRINT,DAYFILE   *POST MESSAGE
77 PAUSE                     *PAUSE FOR ERROR MESSAGES
   END 20 
COMPILE        -CR1 04C - 
*  *********************************************************
*  *********************************************************
   MODULE CR104D 3000(20),LOCK
***   -READ SECTIONS I AND J
* 
**
* 
* 
* 
*  OVERVIEW SUBMODULE CR104D CHECKS THE ABILITY OF THE C.R. 
*             TO READ SECTIONS I-J OF THE CR1 DECK. 
*             SECTION I AND SECTION J ARE RANDOM AND A DATA MISCOMPARE
*             ON A READ TITLE CARD IS FLAGGED AS AN ERROR AND THE TEST
*             IS ENDED. ALL OTHER DATA MISCOMPARES ARE FLAGGED AND AFTER
*             FOUR COMPARE ERRORS THE TEST IS ENDED.
*              RANDOM SECTIONS OF CR1 DO NOT COMPARE DATA 
*              PUNCHED. ONLY CHECK FOR HARDWARE COMPARE ERRORS. 
*              BECAUSE OF THIS THE SECTIONS ARE CONTROLLED BY 
*              CARD COUNTS. ** IF THIS SECTION IS ONE CARD
*              LONG THE ERROR MAY BE REPORTED AS A
*              FILE CARD STATUS ERROR.
* 
* 
*  DESCRIPTION - DISPLAY SECTION, READ SECTIONS I-J 
*         SECTIONS ARE RANDOM AND NO DATA COMPARISON IS MADE
*          1. CHECK STATUS OF THE C.R.
*          2. DISPLAY TEST SECTION. 
*          3. SET BCD MODE. 
*          4. READ TITLE CARD.
*          5. COMPARE BUFFERS AND READ IMAGES FROM SCRATCH
*             IF NECCESSARY.
*          6. SET CARD COUNT. 
*          7. SET BINARY MODE.
*          8. READ DATA CARDS 
*          9. NO DATA COMPARE CHECK STATUS ERRORS.
*         10. SET BCD MODE WHEN CARD COUNT = 0. 
*         11. LOOK FOR E.O.F. CARD, BY DETECTING
*             ABN, E-O-P INTERRUPT AND FILE CARD STATUS.
*         12. REPEAT STEPS 1-11 FOR SECTION J 
*         13. END OF TEST SERIES. 
* 
* 
* 
* 
*  ERRORS DETECTED
* 
*          1. ABORT ON CONN.
*          2. ABORT ON STATUS.
*          3. UNEXPECTED NOT READY AND NOT BUSY.
*          4. COMPARE OR PREREAD ERROR. 
*          5. FAIL TO FEED OR JAM.
*          6. DATA ERRORS.
*          7.  ABORT ON FUNC8 
*          8.  ABORT ON FUNC
*          9.  ABORT ON INB 
*          10.. ERROR CODES GENERATED IN MODULE ARE;
*               110 - SELECTED ABN.EOP INTER. 
*               200 - DATA COMPARE ERRORS 
*               300 - 6681 STATUS ERRORS
*               500 - SCRATCH FILE ERRORS 
* 
*  ERROR MESSAGES ISSUED
* 
*          1. ABORT ON (CONN) AT LINE *OCT
*          2. ABORT ON (STATUS) AT LINE *OCT
*          3. UNEXPECTED NOT READY AND NOT BUSY (100) 
*          4. ABORT ON (INB) AT LINE *OCT 
*          5.  ABORT ON (FUNC8) AT LINE *OCT
*          6.  ABORT ON (FUNC) AT LINE *OCT 
*          7. ERROR CODE *OCT AT LINE *OCT
*               WHERE ERROR CODE IS 
*                 100 IF NOT(READY AND NOT BUSY)
*                 110 SELECT ABN.EOP INTER. 
*                 200 DATA COMPARE ERROR
*                 300 6681 STATUS ERROR 
*                 500 SCRATCH FILE ERRORS 
***   INTERNAL DOCUMENTATION
* 
*  REGISTER USAGE 
*          B1 - TITLE CARD CODE IN BCD
*          B2 - DELAY CARD PICK 
*          B3 - SYSTEM SCRATCH FILE STATUS
*          B4 - ABORT MESSAGE COUNTER 
*          B5 - ERROR MESSAGE POINTER 
*          B6 - END-SECTION FLAG
*          B7 - ERROR COUNT 
*          B10 - SCRATCH CELL 
*          B11 - SCRATCH CELL 
*          B14 - SCRATCH CELL 
*          B15=READY NOT BUSY LOOP COUNTER. 
* 
* 
*          OB(501) - BUFFER LOCATION POINTER
*          OB(502) - CARD COUNTER 
*          OB(503) - RANDOM NUMBER
*          IB(501) - READ MODE
* 
* 
*  MODULES CALLED 
* 
*          CR196A - ERROR PROCESSOR 
*          CR196X - ERROR PROCESSOR 
* 
* 
************************************************************
1  FORMAT CR104D // SECTION IS *OCTBCD -READ CR1 DECK- // 
7  FORMAT CR104D ERROR CODE *OCT AT LINE *OCT 
10 FORMAT CR104D -PAUSE- WAIT ON RNB
15 FORMAT CR104D *DEC ERROR(S) -ABNORMAL TERMINATION- 
17 FORMAT CR104D ERROR CODE *OCT -UNEXPECTED EOR ON SCRATCH-
20 B1 = 31                   *SECTION COUNT 
   WC = 80D                  *CARD IMAGE
/--------- CARD SECTIONS             *******************************
21 MSG 1 (B1) TO PRINT, DISPLAY   *SECTION MESSAGE
   IB(501) = 0               *SET BCD MODE
   GOSUB 60                  *READ A TITLE CARD 
   GOSUB 66                  *COMPARE BUFFERS 
   OB(502) = 31D             *CARD COUNT
   IB(501) = 1               *SET BINARY MODE 
22 GOSUB 60                  *READ A CARD 
   OB(502) = OB(502) - 1
   IF (OB(502) NE 0) GOTO 22
   IB(501) = 0               *SET BCD MODE
   B6 = 1                    *READ END SECTION CARD FLAG
   GOSUB 60                  *READ IT 
23 B1 = 41                   *SECTION J-RANDOM CARDS- 
   MSG 1 (B1) TO DISPLAY, PRINT   *SECTION MESSAGE
   IB(501) = 0
   GOSUB 60                  *READ A TITLE CARD 
   GOSUB 66                  *COMPARE BUFFERS 
   OB(502) = 101D 
   IB(501) = 1
24 GOSUB 60                  *READ A  CARD
   OB(502) = OB(502) - 1
   IF(OB(502).NE.0) GOTO 24 
   IB(501) = 0
   B6=7                      *SET LAST CARD OF TEST 
   GOSUB 60                  *READ IT 
30 GOTO 77                   *END IT
/--------- READ SCRATCH FILE SUBROUTINE *************************** 
50 SYSRD, STATUS TO B3       *READ THE SCRATCH FILE 
   IF (WT EQ 0) GOTO 51               *NO INFOMATION
   IF (B3 NE 0) ERROR 17/500 GOTO 76  *E-O-I OR E-O-R 
   COPY IB TO OB FOR 320D    *SCRATCH COMPARE TO OUTPUT 
   DUP 0 TO IB FOR 320D      *ZERO INPUT BUFFER 
   OB(501) = 0               *BUFFER LOCATION POINTER 
51 RETURN 
* 
*          CONNECT SUBROUTINE 
* 
52 B15=20          *STATUS RETRY
53 B4 = 3 
   CONN, ABT 74 
54 B4 = 5 
   STATUS 1 WORDS TO SB(1), ABT 74  *EQUIP STATUS 
   IF (SB(1) AND 3 EQ 1) GOTO 56    *CHECK STATUS 
   B4=11
   REL,ABT 74 
   DELAY 100 MSEC            *WAIT
   GOTO 53 WHILE(B15-1.NE.0)     *CONTINUE CHECK
   MSG 10 TO PRINT , DISPLAY
   PAUSE       *WAIT OP ACTION ON NOT READY-NOT-BUSY
   MSG 1(B1) TO DISPLAY 
   GOTO 52
56 RETURN 
60 GOSUB 52                  *READ SUBROUTINE ************* 
   B3 = 0 
   B4 = 4 
   IF (IB(501) EQ 0) GOTO 61  *READ MODE
   WC = 80D 
   FUNC 1, ABT 74            *SET BINARY
   GOTO 62
61 WC = 40D 
   FUNC 2, ABT 74            *SET BCD 
62 IF (B6 EQ 0) GOTO 63      *READ END SECTION
   FUNC 24, ABT 74           *SET ABN E-O-P INTERRUPT 
63 B4 = 2 
   FUN8 1400, ABT 74         *READ E-O-R
   B4 = 6 
   DELAY B2 MSEC             *DELAY PICK
   INB, ABT 74               *INPUT IMAGE 
   B3=0 
   B4=12
   STATUS8 TO SB, ABT 74     *668X STATUS 
   IF (SB AND 3 NE 0) ERROR 7/300 GOTO 71   *668X ERROR 
64 STATUS 1 WORDS TO SB(1), ABT 74  *GET STATUS 
   IF (B6 EQ 0) GOTO 65 
   B10=3771                  *FILE CARD MASK
   B11=1011                  *FILE CARD EXP.
   IF(B6.EQ.7)B10=3731       *LAST CARD MASK
   IF(B6.EQ.7)B11=1010       *LAST CARD EXP.
   IF(SB(1).AND.B10.NE.B11) ERROR 7/110 GOTO 67 
   B6 = 0                    *CLEAR END-SECTION FLAG
   RETURN                    *FILE STATUS OK
65 IF(SB(1).AND.3761.NE.1) ERROR 7/100 GOTO 67
   RETURN 
66 B14=OB(501)
   COMPARE IB TO OB(B14) FOR WC,ABT 70   * COMPARE BUFFER 
72 OB(501) = OB(501) + 80D   *INCREMENT BUFFER POINTER
   IF (OB(501) EQ 320D) GOSUB 50  *MORE IMAGES FROM SCRATCH 
   RETURN 
67 GOTO 64 WHILE (B3 + 1 LT 10)  *TRY AGAIN 
   GOTO 71
/--------- ERROR ROUTINES            *******************************
70 ERROR 7/200               *DATA COMPARE ERROR
71 B7 = B7 + 1               *INCREMENT COUNTER 
   MSG EM(EC,EA) TO LINE 0       *POST MSG
   B5=1 
   CALL 96A                  *ERROR PROCESSOR 
   IF (B7.GT.3) GOTO 75      *FOUR ERROR LIMIT
   IF (OB(502).EQ.0) GOTO 75   *TITLE CARD TERMINATE
   IF (EC.EQ.200) GOTO 72    *IF COMPARE ERROR
   RETURN 
74 ENDSUB                    *KILL ANY SUBROUTINES
   B7 = B7 + 1               *COUNT ERRORS
   B5=1            *LINE POINTER
   CALL 96Z                  *PROCESS ABORTS
75 MSG 15(B7) TO DISPLAY,PRINT,DAYFILE   *POST MESSAGE
   PAUSE                     *PAUSE FOR ERROR MESSAGES
   GOTO 77
76 MSG EM(EC) TO DISPLAY,PRINT,DAYFILE   *POST MESSAGE
   PAUSE                     *PAUSE FOR ERROR MESSAGES
77 END 20 
COMPILE        -CR1 04D - 
*  *********************************************************
*  *********************************************************
   MODULE CR196A 3000(20),LOCK
*** CR196A - ERROR PROCESSOR
* 
**
* 
* CR196A - ERROR PROCESSOR
*  -------------
* 
* 
*   OVERVIEW - MODULE *CR196A* IS A UTILITY MODULE CALLED BY
*              PRIMARY LOW-LEVEL MODULES FOR PROCESSING 
*              ERRORS.
* 
* 
*   DESCRIPTION - ERROR PROCESSOR 
* 
*         1.  IF ERROR CODE 110-117 EXIT TO CR196B. 
*         2.  IF ERROR CODE 120-127 EXIT TO CR196C. 
*         3.  IF ERROR CODE 200-207 EXIT TO CR196D. 
*         4.  IF ERROR CODE 300-307 EXIT TO CR196E. 
*         5.  IF ERROR CODE 400-407 EXIT TO CR196F. 
*         6.  POST ERROR MESSAGE TEXT 
*         7.  EXIT TO CR196X
*** CR196A - INTERNAL DOCUMENTATION 
* 
* 
*   REGISTER USAGE
* 
*         REGISTERS ARE NOT DISTURBED 
* 
*   MODULES CALLED
* 
*         CR196B - ERROR PROCESSOR
*         CR196C - ERROR PROCESSOR
*         CR196D - ERROR PROCESSOR
*         CR196E - ERROR PROCESSOR
*         CR196F - ERROR PROCESSOR
*         CR196X - ERROR PROCESSOR
* 
* 
************************************************************
/--------- ERROR CODE PROCESSOR PART 1
1  FORMAT ILLEGAL ERROR CODE *OCT 
/--------- ERROR CODE = 100 
10 FORMAT STATUS IS NOT (READY AND NOT BUSY)
/--------- ERROR CODE = 101 
/--------- ERROR CODE = 102 
/--------- ERROR CODE = 103 
/--------- ERROR CODE = 107 
50 IB(200)=B0                *SAVE REGISTERS
   IB(201)=B1                *SAVE REGISTERS
   IB(202)=B2                *SAVE REGISTERS
   IB(203)=B3                *SAVE REGISTERS
   IB(204)=B4                *SAVE REGISTERS
   IB(206)=B6                *SAVE REGISTERS
   IB(207)=B7                *SAVE REGISTERS
   IB(210)=B14               *SAVE REGISTERS
   B14=0                    *CLEAR ERROR FLAG ILLEGAL 
   IF(EC.LT.100)GOTO 62 
   IF(EC.GT.107)GOTO 61 
   IF(EC.NE.100)GOTO 62 
   B2=10                     *FIRST MSG 
   B3=10                     *LAST MSG
   GOSUB 60                  *POST DISPLAY
   B1=3763                   *MASK
   B0=1                      *EXPECTED STATUS 
   GOTO 77                   *GO PUT UP STATUS DISPL
60 MSG B2 TO LINE B5
   B5=B5+1
   GOTO 60 WHILE (B2+1.LE.B3) 
   B5=B5+1
   RETURN 
61 IF(EC.LT.120)GOTO 66 
   IF(EC.LT.130)GOTO 67 
   IF(EC.LT.200)GOTO 62 
   IF(EC.LT.210)GOTO 70 
   IF(EC.LT.300)GOTO 62 
   IF(EC.LT.310)GOTO 71 
   IF(EC.LT.400)GOTO 62 
   IF(EC.LT.410)GOTO 72 
   IF(EC.LT.500)GOTO 62 
62 MSG 1 (EC) TO LINE B5     *BAD ERROR CODE
   B14=777                  *SET ILLEGAL CODE FLAG
   B5=B5+1
   B1=3763                   *MASK
   B0=1                      *EXPECTED STATUS 
   GOTO 77                   *GO PUT UP STATUS DISPL
66 EXIT TO 96B
67 EXIT TO 96C
70 EXIT TO 96D
71 EXIT TO 96E
72 EXIT TO 96F
77 EXIT TO 96X
   END 50 
COMPILE                       - CR1 96A - ERROR PROCESSOR 
*  *********************************************************
*  *********************************************************
   MODULE CR196B 3000(20),LOCK
*** CR196B - ERROR PROCESSOR
* 
**
* 
* CR196B - ERROR PROCESSOR
*  -------------
* 
* 
*   OVERVIEW - MODULE *CR196B* IS A UTILITY MODULE CALLED BY
*              MODULE *CR196A* FOR PROCESSING ERRORS. 
* 
* 
*   DESCRIPTION - ERROR PROCESSOR 
* 
*         1.  POST ERROR MESSAGE TEXT 
*         2.  EXIT TO CR196X
*** CR196B - INTERNAL DOCUMENTATION 
* 
* 
*   REGISTER USAGE
* 
*         REGISTERS ARE NOT DISTURBED 
* 
*   MODULES CALLED
* 
*         CR196X - ERROR PROCESSOR
* 
* 
************************************************************
/--------- ERROR CODE PROCESSOR PART 2
1  FORMAT ILLEGAL ERROR CODE *OCT 
/--------- ERROR CODE = 110 
10 FORMAT SELECTED ABNORMAL-END-OF-OPERATION
11 FORMAT INTERRUPT. EXPECTED FILE STATUS AFTER READ
/--------- ERROR CODE = 111 
/--------- ERROR CODE = 112 
/--------- ERROR CODE = 113 
/--------- ERROR CODE = 114 
/--------- ERROR CODE = 115 
/--------- ERROR CODE = 116 
/--------- ERROR CODE = 117 
/ 
/ 
50 IF(EC.NE.110)GOTO 62 
   B2=10                     *FIRST MSG 
   B3=11                     *LAST MSG
   GOSUB 60                  *POST DISPLAY
   B1=3771                   *MASK
   B0=1011                   *EXPECTED STATUS 
   IF(IB(206).EQ.7) B0=1010  *LAST CARD TEST
   IF(IB(206).EQ.7) B1=3731  *LAST CARD MASK
   GOTO 77                   *GO PUT UP STATUS DISPL
/MESSAGE DISPLAY SUBROUTINE 
60 MSG B2 TO LINE B5
   B5=B5+1
   GOTO 60 WHILE (B2+1.LE.B3) 
   B5=B5+1
   RETURN 
/ 
62 MSG 1 (EC) TO LINE B5     *BAD ERROR CODE
   B14=777                 *SET ILLEGAL FLAG
   B5=B5+1
   B1=3763                   *MASK
   B0=1                      *EXPECTED STATUS 
   GOTO 77                   *GO PUT UP STATUS DISPL
77 EXIT TO 96X
   END 50 
COMPILE                       - CR1 96B - ERROR PROCESSOR 
*  *********************************************************
*  *********************************************************
   MODULE CR196C 3000(20),LOCK
*** CR196C - ERROR PROCESSOR
* 
**
* 
* CR196C - ERROR PROCESSOR
*  -------------
* 
* 
*   OVERVIEW - MODULE *CR196C* IS A UTILITY MODULE CALLED BY
*              MODULE *CR196A* FOR PROCESSING ERRORS. 
* 
* 
*   DESCRIPTION - ERROR PROCESSOR 
* 
*         1.  POST ERROR MESSAGE TEXT 
*         2.  EXIT TO CR196X
*** CR196C - INTERNAL DOCUMENTATION 
* 
* 
*   REGISTER USAGE
* 
*         REGISTERS ARE NOT DISTURBED 
* 
*   MODULES CALLED
* 
*         CR196X - ERROR PROCESSOR
* 
* 
************************************************************
/--------- ERROR CODE PROCESSOR PART 3
1  FORMAT ILLEGAL ERROR CODE *OCT 
/--------- ERROR CODE = 120 
/--------- ERROR CODE = 121 
/--------- ERROR CODE = 122 
/--------- ERROR CODE = 123 
/--------- ERROR CODE = 124 
/--------- ERROR CODE = 125 
/--------- ERROR CODE = 126 
/--------- ERROR CODE = 127 
/ 
/ 
50 GOTO 62
/MESSAGE DISPLAY SUBROUTINE 
60 MSG B2 TO LINE B5
   B5=B5+1
   GOTO 60 WHILE (B2+1.LE.B3) 
   B5=B5+1
   RETURN 
/ 
62 MSG 1 (EC) TO LINE B5     *BAD ERROR CODE
   B14=777                 *SET ILLEGAL FLAG
   B5=B5+1
   B1=3763                   *MASK
   B0=1                      *EXPECTED STATUS 
   GOTO 77                   *GO PUT UP STATUS DISPL
77 EXIT TO 96X
   END 50 
COMPILE                       - CR1 96C - ERROR PROCESSOR 
*  *********************************************************
*  *********************************************************
   MODULE CR196D 3000(20),LOCK
*** CR196D - ERROR PROCESSOR
* 
**
* 
* CR196D - ERROR PROCESSOR
*  -------------
* 
* 
*   OVERVIEW - MODULE *CR196D* IS A UTILITY MODULE CALLED BY
*              MODULE *CR196A* FOR PROCESSING ERRORS. 
* 
* 
*   DESCRIPTION - ERROR PROCESSOR 
* 
*         1.  POST ERROR MESSAGE TEXT 
*         2.  EXIT TO CR196Y
*** CR196D - INTERNAL DOCUMENTATION 
* 
* 
*   REGISTER USAGE
* 
*         REGISTERS ARE NOT DISTURBED 
* 
*   MODULES CALLED
* 
*         CR196Y - ERROR PROCESSOR
*          CR196X - ERROR PROCESSOR 
* 
* 
************************************************************
/--------- ERROR CODE PROCESSOR PART 4
1  FORMAT ILLEGAL ERROR CODE *OCT 
/--------- ERROR CODE = 200 
10 FORMAT DATA COMPARE ERROR
/--------- ERROR CODE = 201 
/--------- ERROR CODE = 202 
/--------- ERROR CODE = 203 
/--------- ERROR CODE = 204 
/--------- ERROR CODE = 205 
/--------- ERROR CODE = 206 
/--------- ERROR CODE = 207 
/ 
/ 
50 IF(EC.NE.200)GOTO 62 
   B2=10                     *FIRST MSG 
   B3=10                     *LAST MSG
   GOSUB 60                  *POST DISPLAY
   B1=40                     *MASK
   B0=40                     *EXPECTED STATUS 
   GOTO 77                   *GO PUT UP STATUS DISPL
/MESSAGE DISPLAY SUBROUTINE 
60 MSG B2 TO LINE B5
   B5=B5+1
   GOTO 60 WHILE (B2+1.LE.B3) 
   RETURN 
/ 
62 MSG 1 (EC) TO LINE B5     *BAD ERROR CODE
   B14=777                 *SET ILLEGAL FLAG
   B5=B5+1
   B1=3763                   *MASK
   B0=1 
   EXIT TO 96X             *EXIT IF  CODE 
77 EXIT TO 96Y
   END 50 
COMPILE                       - CR1 96D - ERROR PROCESSOR 
*  *********************************************************
*  *********************************************************
   MODULE CR196E 3000(20),LOCK
*** CR196E - ERROR PROCESSOR
* 
**
* 
* CR196E - ERROR PROCESSOR
*  -------------
* 
* 
*   OVERVIEW - MODULE *CR196E* IS A UTILITY MODULE CALLED BY
*              MODULE *CR196A* FOR PROCESSING ERRORS. 
* 
* 
*   DESCRIPTION - ERROR PROCESSOR 
* 
*         1.  POST ERROR MESSAGE TEXT 
*         2.  EXIT TO CR196W
*** CR196E - INTERNAL DOCUMENTATION 
* 
* 
*   REGISTER USAGE
* 
*         REGISTERS ARE NOT DISTURBED 
* 
*   MODULES CALLED
* 
*         CR196W - ERROR PROCESSOR
* 
* 
************************************************************
/--------- ERROR CODE PROCESSOR PART 5
1  FORMAT ILLEGAL ERROR CODE *OCT 
/--------- ERROR CODE = 300 
10 FORMAT 6681 STATUS ERROR.
/--------- ERROR CODE = 301 
/--------- ERROR CODE = 302 
/--------- ERROR CODE = 303 
/--------- ERROR CODE = 304 
/--------- ERROR CODE = 305 
/--------- ERROR CODE = 306 
/--------- ERROR CODE = 307 
/ 
/ 
50 IF(EC.NE.300)GOTO 62 
   B2=10                     *FIRST MSG 
   B3=10                     *LAST MSG
   GOSUB 60                  *POST DISPLAY
   B1=7777                   *MASK
   B0=0          *EXPECTED STATUS 
   GOTO 77                   *GO PUT UP STATUS DISPL
/MESSAGE DISPLAY SUBROUTINE 
60 MSG B2 TO LINE B5
   B5=B5+1
   GOTO 60 WHILE (B2+1.LE.B3) 
   B5=B5+1
   RETURN 
/ 
62 MSG 1 (EC) TO LINE B5     *BAD ERROR CODE
   B14=777                 *SET ILLEGAL FLAG
   B5=B5+1
   B1=3763                   *MASK
   B0=0          *EXPECTED STATUS 
   GOTO 77                   *GO PUT UP STATUS DISPL
77 EXIT TO 96W
   END 50 
COMPILE                       - CR1 96E - ERROR PROCESSOR 
*  *********************************************************
*  *********************************************************
   MODULE CR196F 3000(20),LOCK
*** CR196F - ERROR PROCESSOR
* 
**
* 
* CR196F - ERROR PROCESSOR
*  -------------
* 
* 
*   OVERVIEW - MODULE *CR196F* IS A UTILITY MODULE CALLED BY
*              MODULE *CR196A* FOR PROCESSING ERRORS. 
* 
* 
*   DESCRIPTION - ERROR PROCESSOR 
* 
*         1.  POST ERROR MESSAGE TEXT 
*         2.  EXIT TO CR196Z
*** CR196F - INTERNAL DOCUMENTATION 
* 
* 
*   REGISTER USAGE
* 
*         REGISTERS ARE NOT DISTURBED 
* 
*   MODULES CALLED
* 
*         CR196Z - ERROR PROCESSOR
* 
* 
************************************************************
/--------- ERROR CODE PROCESSOR PART 6
1  FORMAT ILLEGAL ERROR CODE *OCT 
/--------- ERROR CODE = 400 
/--------- ERROR CODE = 401 
/--------- ERROR CODE = 402 
/--------- ERROR CODE = 403 
/--------- ERROR CODE = 404 
/--------- ERROR CODE = 405 
/--------- ERROR CODE = 406 
/--------- ERROR CODE = 407 
/ 
/ 
50 GOTO 62
/MESSAGE DISPLAY SUBROUTINE 
60 MSG B2 TO LINE B5
   B5=B5+1
   GOTO 60 WHILE (B2+1.LE.B3) 
   B5=B5+1
   RETURN 
/ 
62 MSG 1 (EC) TO LINE B5     *BAD ERROR CODE
   B14=777                 *SET ILLEGAL FLAG
   B5=B5+1
   B1=3763                   *MASK
   B0=1                      *EXPECTED STATUS 
   GOTO 77                   *GO PUT UP STATUS DISPL
77 EXIT TO 96Z
   END 50 
COMPILE                       - CR1 96F - ERROR PROCESSOR 
*  *********************************************************
*  *********************************************************
   MODULE CR196W 3000(20),LOCK
*** CR196W - ERROR PROCESSOR
* 
**
* 
* CR196W - ERROR PROCESSOR
*  -------------
* 
* 
*   OVERVIEW - MODULE *CR196W* IS A UTILITY MODULE CALLED 
*              TO PRESENT 6681 STATUS ERRORS. 
* 
* 
*   DESCRIPTION - ERROR PROCESSOR 
* 
*         1.  POST STATUS MESSAGES
*         2.  EXIT TO CR196Z
*** CR196W - INTERNAL DOCUMENTATION 
* 
* 
*   REGISTER USAGE
* 
*         REGISTERS ARE NOT DISTURBED 
* 
*   MODULES CALLED
* 
*         CR196Z - ERROR PROCESSOR
* 
* 
************************************************************
/--------- 6681 STATUS ERROR PROC(B0=EXP,SB(1)=ACT,B1=MASK) 
1  FORMAT UNEXPECTED STATUS BIT *DEC
2  FORMAT MISSING STATUS BIT *DEC 
3  FORMAT ACTUAL 6681 STATUS = *OCT, EXPECTED = *OCT
10 FORMAT -----------1 REJECT 
11 FORMAT ----------1- INTERNAL REJECT
12 FORMAT ---------1-- TRANSMISSION PARITY ERROR
13 FORMAT --------1--- UNUSED 
14 FORMAT -------1---- UNUSED 
15 FORMAT ------1----- UNUSED 
16 FORMAT -----1------ UNUSED 
17 FORMAT ----1------- UNUSED 
20 FORMAT ---1-------- UNUSED 
21 FORMAT --1--------- UNUSED 
22 FORMAT -1---------- UNUSED 
23 FORMAT 1----------- PARITY ERROR ON DATA CHANNEL 
/ 
30 B2=B1 XOR 7777 
   B2=B2 AND SB(0)
   B0=B0 OR B2            *SET DONT CARES IN EXPECT 
   MSG 3 (SB(0),B0) TO LINE B5
   B5=B5+1
   B2=0 
   B3=1 
   IF(B14.EQ.777) GOTO 77     *EXIT IF ILLEGAL
36 IF(B0.AND.B3.NE.0)GOTO 40  *EXPECTED IS SET
   IF(SB(0).AND.B3.EQ.0)GOTO 44  *NO ERROR
   MSG 1 (B2) TO LINE B5  *UNEXPECTED STATUS BIT
   GOTO 42
40 IF(SB(0).AND.B3.NE.0)GOTO 44 
   MSG 2 (B2) TO LINE B5  *MISSING STATUS BIT 
42 B5=B5+1
   B4=B2+10 
   MSG B4 TO LINE B5   *TELL WHICH ONE
   B5=B5+1
44 B3=B3 LS 1 
   GOTO 36 WHILE (B2+1.LT.12D)
   B5=B5+1
77 EXIT TO 96Z
   END 30 
COMPILE                       -CR1 96W - ERROR PROCESSOR
*  *********************************************************
*  *********************************************************
   MODULE CR196X 3000(20),LOCK
*** CR196X - ERROR PROCESSOR
* 
**
* 
* CR196X - ERROR PROCESSOR
*  -------------
* 
* 
*   OVERVIEW - MODULE *CR196X* IS A UTILITY MODULE CALLED 
*              TO PRESENT 405 STATUS ERRORS.
* 
* 
*   DESCRIPTION - ERROR PROCESSOR 
* 
*         1.  POST STATUS MESSAGES
*         2.  EXIT TO CR196Z
*** CR196X - INTERNAL DOCUMENTATION 
* 
* 
*   REGISTER USAGE
* 
*         REGISTERS ARE NOT DISTURBED 
* 
*   MODULES CALLED
* 
*         CR196Z - ERROR PROCESSOR
* 
* 
************************************************************
/--------- STATUS ERROR PROC(B0=EXP,SB(1)=ACT,B1=MASK)
1  FORMAT UNEXPECTED STATUS BIT *DEC
2  FORMAT MISSING STATUS BIT *DEC 
3  FORMAT ACTUAL STATUS = *OCT, EXPECTED = *OCT 
10 FORMAT -----------1 READY
11 FORMAT ----------1- BUSY 
12 FORMAT ---------1-- BINARY CARD
13 FORMAT --------1--- FILE CARD
14 FORMAT -------1---- FAIL TO FEED OR JAM
15 FORMAT ------1----- I-P TRAY EMPTY 
16 FORMAT -----1------ END OF FILE
17 FORMAT ----1------- READY NOT BUSY INTERRUPT 
20 FORMAT ---1-------- END-OF-OP INTERRUPT
21 FORMAT --1--------- ABNORMAL END-OF-OP INTERRUPT 
22 FORMAT -1---------- COMPARE OR PREREAD ERROR 
23 FORMAT 1----------- RESERVED 
/ 
30 B2=B1 XOR 7777 
   B2=B2 AND SB(1)
   B0=B0 OR B2            *SET DONT CARES IN EXPECT 
   MSG 3 (SB(1),B0) TO LINE B5
   B5=B5+1
   B2=0 
   B3=1 
   IF(B14.EQ.777) GOTO 77     *EXIT IF ILLEGAL
36 IF(B0.AND.B3.NE.0)GOTO 40  *EXPECTED IS SET
   IF(SB(1).AND.B3.EQ.0)GOTO 44  *NO ERROR
   MSG 1 (B2) TO LINE B5  *UNEXPECTED STATUS BIT
   GOTO 42
40 IF(SB(1).AND.B3.NE.0)GOTO 44 
   MSG 2 (B2) TO LINE B5  *MISSING STATUS BIT 
42 B5=B5+1
   B4=B2+10 
   MSG B4 TO LINE B5   *TELL WHICH ONE
   B5=B5+1
44 B3=B3 LS 1 
   GOTO 36 WHILE (B2+1.LT.12D)
   B5=B5+1
77 EXIT TO 96Z
   END 30 
COMPILE                        - CR1 96X - ERROR PROCESSOR
*  *********************************************************
*  *********************************************************
   MODULE CR196Y 3000(20),LOCK
*** CR196Y - ERROR PROCESSOR
* 
**
* 
* CR196Y - ERROR PROCESSOR
*  -------------
* 
* 
*  OVERVIEW - MODULE *CR196Y* IS A UTILITY MODULE CALLED
*             TO PRESENT DATA BUFFERS IB AND OB IF A DATA 
*             COMPARE IS DETECTED BETWEEN CARD READ AND 
*             SCRATCH FILE IMAGE OF EXPECTED CARD.
* 
* 
*  DESCRIPTION - ERROR PROCESSOR
*        1. DISPLAY IB BUFFER AND OB AT SAME TIME.
* 
*** CR196Y - INTERNAL DOCUMENTATION 
* 
* 
*  REGISTER USAGE 
* 
*  MODULES CALLED 
* 
*             NONE
* 
******************************************************
01 FORMAT IMAGE FROM CARD IN 40 COL. (BCD)... 
02 FORMAT  *OCT*OCT*OCT*OCT*OCT*OCT*OCT*OCT 
03 FORMAT IMAGE EXPECTED....
04 FORMAT IMAGE FROM CARD IN 80 COL. (BINARY)...
20 IF(IB(501).NE.0) GOTO 21  *BCD MESSAGE 
   MSG 1 TO LINE B5 
   GOTO 22
21 MSG 4 TO LINE B5 
22 B5 = B5 + 1
   B3 = 0 
   B13 = 0
23 MSG 2 10 WORDS FROM IB(B3) TO LINE B5  *DISPLAY IMAGE
   B3 = B3 + 10 
   B5 = B5 + 1               *INC LINE COUNT
   B13 = B13 + 1
   IF(IB(501).EQ.0) GOTO 30  *BCD CARD
   IF(B13.LE.11) GOTO 23     *LOOP UNTIL 80 COL DISP. 
25 B5 = B5 + 1
   B13 = 0
   MSG 3 TO LINE B5 
   B5 = B5 + 1
   B1 = OB(501) 
   GOTO 40
30 IF(B13.LE.4) GOTO 23      *LOOP UNTIL 40 COL DISP. 
   B5 = B5 + 5
   GOTO 25
40 MSG 2 10 WORDS FROM OB(B1) TO LINE B5  *DISPLAY OB 
   B1 = B1 + 10 
   B5 = B5 + 1
   B13 = B13 + 1
   IF(IB(501).EQ.0) GOTO 50  *BCD CARD
   IF(B13.LE.11) GOTO 40     *LOOP UNTIL 80 COL DISP. 
   GOTO 60
50 IF(B13.LE.4) GOTO 40      *LOOP UNTIL 40 COL DISP. 
60 PICTURE
   HALT 
   BLANK
   IF(EM.GT.200)GOTO 61 
   B0=IB(200)                *RESTORE REGISTERS 
   B1=IB(201)                *RESTORE REGISTERS 
   B2=IB(202)                *RESTORE REGISTERS 
   B3=IB(203)                *RESTORE REGISTERS 
   B4=IB(204)                *RESTORE REGISTERS 
   B6=IB(206)                *RESTORE REGISTERS 
   B7=IB(207)                *RESTORE REGISTERS 
   B14=IB(210)               *RESTORE REGISTERS 
61 EXIT 
   END 20 
COMPILE                        -CR196Y - ERROR PROCESSOR
*  ******************************************************** 
*  ******************************************************** 
   MODULE CR196Z 3000(20),LOCK
*** CR196Z - ERROR PROCESSOR
* 
**
* 
* CR196Z - ERROR PROCESSOR
*  -------------
* 
* 
*   OVERVIEW - MODULE *CR196Z* IS A UTILITY MODULE CALLED 
*              TO PRESENT GENERAL ERROR INFORMATION 
* 
* 
*   DESCRIPTION - ERROR PROCESSOR 
* 
*         1.  POST ERROR INFORMATION
*         2.  RETURN
*** CR196Z - INTERNAL DOCUMENTATION 
* 
* 
*   REGISTER USAGE
* 
*         REGISTERS ARE NOT DISTURBED 
* 
*   MODULES CALLED
* 
*         NONE
* 
* 
************************************************************
/ 
/---------        PROCESS ERRORS FOR LOW LEVEL MODULES
/ 
2  FORMAT ABORT ON (FUNC8) AT LINE *OCT 
3  FORMAT ABORT ON (CONN) AT LINE *OCT
4  FORMAT ABORT ON (FUNC) AT LINE *OCT
5  FORMAT ABORT ON (STATUS) AT LINE *OCT
6  FORMAT ABORT ON (INB) AT LINE *OCT 
7  FORMAT ABORT ON (IN) AT LINE *OCT
11 FORMAT ABORT ON (REL) AT LINE *OCT 
12 FORMAT ABORT ON (STATUS8) AT LINE *OCT 
14 FORMAT CH=*OCT, EQ=*OCT, UN=*OCT, LF=*OCT, DC=*OCT 
15 FORMAT ERRCNT=*OCT, WDCNT=*OCT, WD XMITTED=*OCT
16 FORMAT 668X STATUS=*OCT, READER STATUS=*OCT
17 FORMAT ------------------------------------------
/ 
20 IF(EM.LT.100) GOTO 22       *DO NOT POST ABORT MSG 
   MSG B4(EA) TO LINE B5        *ERROR MESSAGE
   B5=B5+1
   MSG EM TO LINE B5            *POST PRODUCT OVERLAY MSG 
   B5=B5+1
22 MSG 14(SB(70),SB(71),SB(72),LF,DC) TO LINE B5
   B5=B5+1
   MSG 15(B7,WC,WT) TO LINE B5
   B5=B5+1
   MSG 16(SB(0),SB(1)) TO LINE B5 
   B5=B5+1
   MSG 17 TO LINE B5
   PICTURE
   HALT 
   BLANK
   IF(EM.GE.100)GOTO 50      *IF NOT ABORT ERROR
   B0=IB(200)                *RESTORE REGISTERS 
   B1=IB(201)                *RESTORE REGISTERS 
   B2=IB(202)                *RESTORE REGISTERS 
   B3=IB(203)                *RESTORE REGISTERS 
   B4=IB(204)                *RESTORE REGISTERS 
   B6=IB(206)                *RESTORE REGISTERS 
   B7=IB(207)                *RESTORE REGISTERS 
   B14=IB(210)               *RESTORE REGISTERS 
50 EXIT 
   END 20 
COMPILE                        - CR1 96Z - ERROR PROCESSOR
*  *********************************************************
*  *********************************************************
   MODULE CR199 3000(20),LOCK 
*** CR199 - EXTERNAL DOCUMENTATION
* 
**
* 
* CR199 - EXTERNAL DOCUMENTATION
*  -------------
* OVERVIEW
* 
************************************************************
/ OVERVIEW - CR1 IS A DIAGNOSTIC FOR 405 CARD READERS 
/           WRITTEN IN THE M.A.L.E.T. LANGUAGE. THE 
/           DIAGNOSTIC IS COMPRISED OF TWO TYPES OF 
/           MODULES. PART I CONSISTS OF CONFIDENCE
/           LEVEL MODULES WITH THE APPROPRIATE SCOPE
/           LOOPS.
/ 
/          PART II CONSISTS OF FUNCTIONAL LEVEL MOD-
/           ULES WITH NO SCOPE LOOPS, WHICH READ THE
/           CR1 DECK (SEE DECK DESCRIPTION SECTION.)
/           P0-P9 ARE NOT USED IN ANY CR1 MODULES.
/ 
/  NOTE; CR1 IS WRITTEN IN 3000 LOW LEVEL LANGUAGE. 
/  AN ACCESS LEVEL OF 10 OR GREATER IS NEEDED TO RUN. 
/ 
/ PART I MODULE DESCRIPTIONS
/           CONFIDENCE LEVEL DIAGNOSTICS
/ 
/ MODULE 01 - CONNECT AND STATUS CHECKS 
/           THIS MODULE CHECKS THE ABILITY OF THE CARD
/           READER TO CONNECT AND REPLY READY NOT BUSY. 
/           THE STATUS IS ALSO CHECKED FOR TRAY EMPTY,FEED
/           FAIL, AND STACKER FULL OR JAM.
/ 
/ MODULE 02 - CHECK TRANSMISSION PATH 
/           THIS MODULE CHECKS THE TRANSMISSION PATH TO 
/           THE DATA CHANNEL CONVERTER CONTROLLER. A SET
/           OF PARITY SENSITIVE WORDS ARE TRANSMITTED AS
/           ILLEGAL FUNCTIONS AND THE CONTROLLER STATUS 
/           IS CHECKED FOR ABSENCE OF PARITY ERRORS DUR-
/           ING TRANSMISSION. 
/ 
/ MODULE 03 - LEGAL FUNCTIONS CHECK 
/           THIS MODULE CHECKS THE ABILITY OF THE CARD
/           READER TO ACCEPT AND EXECUTE ALL LEGAL FUNC-
/           TIONS.
/ 
/ PART II MODULE DESCRIPTION
/                  FUNCTIONAL LEVEL CHECKS (NO SCOPE LOOPS) 
/ 
/ MODULE 04 - CHECKS THE ABILITY OF THE C.R.
/           TO READ SECTIONS A-B OF THE CR1 DECK. 
/           THE READ DATA IS COMPARED TO A SCRATCH
/           FILE IMAGE OF THE CR1 DECK. A DATA MISCOMPARE ON A READ 
/           TITLE CARD IS FLAGGED AS AN ERROR AND THE TEST IS ENDED.
/           ALL OTHER DATA MISCOMPARES ARE FLAGGED AND AFTER FOUR 
/           COMPARE ERRORS THE TEST IS ENDED. 
/ 
/ MODULE 04A - CHECKS THE ABILITY OF THE C.R. 
/            TO READ SECTIONS C-D OF THE CR1 DECK.
/            THE READ DATA IS COMPARED TO A SCRATCH 
/            FILE IMAGE OF THE CR1 DECK. A DATA MISCOMPARE ON A READ
/            TITLE CARD IS FLAGGED AS AN ERROR AND THE TEST IS ENDED. 
/            ALL OTHER DATA MISCOMPARES ARE FLAGGED AND AFTER FOUR
/            COMPARE ERRORS THE TEST IS ENDED.
/ 
/ MODULE 04B - CHECKS THE ABILITY OF THE C.R. 
/            TO READ SECTIONS E-F OF THE CR1 DECK 
/            THE READ DATA IS COMPARED TO A SCRATCH 
/            FILE IMAGE OF THE CR1 DECK. A DATA MISCOMPARE ON A READ
/            TITLE CARD IS FLAGGED AS AN ERROR AND THE TEST IS ENDED. 
/            ALL OTHER DATA MISCOMPARES ARE FLAGGED AND AFTER FOUR
/            COMPARE ERRORS THE TEST IS ENDED.
/            THIS MODULE ALSO READS RANDOM CARDS IN SECT F
/  RANDOM SECTIONS OF CR1 DO NOT COMPARE DATA 
/  PUNCHED. ONLY CHECK FOR HARDWARE COMPARE ERRORS. 
/  BECAUSE OF THIS THE SECTIONS ARE CONTROLLED BY 
/  CARD COUNTS. ** IF THIS SECTION IS ONE CARD
/  LONG THE ERROR MAY BE REPORTED IN
/  THE NEXT SECTION.*** 
/ 
/ 
/ MODULE 04C - CHECKS THE ABILITY OF THE C.R. 
/            TO READ SECTIONS G-H OF THE CR1 DECK 
/            THE READ DATA IS COMPARED TO A SCRATCH 
/            FILE IMAGE OF THE CR1 DECK. A DATA MISCOMPARE ON A READ
/            TITLE CARD IS FLAGGED AS AN ERROR AND THE TEST IS ENDED. 
/            ALL OTHER DATA MISCOMPARES ARE FLAGGED AND AFTER FOUR
/            COMPARE ERRORS THE TEST IS ENDED.
/ 
/ MODULE 04D - CHECKS THE ABILITY OF THE C.R. 
/            TO READ SECTIONS I-J OF THE CR1 DECK.
/            CHECKING FOR C.R. DETECTED COMPARE ERRORS
/            WHILE READING RANDOM PATTERNS
/            A DATA MISCOMPARE ON A READ TITLE CARD IS FLAGGED AS 
/            AN ERROR AND THE TEST IS ENDED. ALL OTHER DATA MISCOMPARES 
/            ARE FLAGGED AND AFTER FOUR COMPARE ERRORS THE TEST 
/            IS ENDED.
/            SECTION J IS A RANDOM DATA TEST LOOKING FOR
/            C.R. DETECTED COMPARE ERRORS.
/            SECTION J READS UNTIL THE E.O.F.CARD IS
/            DETECTED THEN THE TEST INDICATES END OF TEST 
/            SERIES.
/     RANDOM SECTIONS OF CR1 DO NOT COMPARE DATA
/     PUNCHED. ONLY CHECK FOR HARDWARE COMPARE ERRORS.
/     BECAUSE OF THIS THE SECTIONS ARE CONTROLLED BY
/     CARD COUNTS. ** IF THIS SECTION IS ONE CARD 
/     LONG THE ERROR MAY BE REPORTED AS 
/     FILE CARD STATUS ERROR. 
/ 
20 PAUSE
   EXIT TO 991
   END 20 
COMPILE,SOURCE                 - CR1 99 - EXTERNAL DOCUMENTATION
*  *********************************************************
*  *********************************************************
   MODULE CR1991 3000(20),LOCK
*** CR1991 - EXTERNAL DOCUMENTATION 
* 
**
* 
* CR1991 - EXTERNAL DOCUMENTATION 
*  -------------
************************************************************
/ MODULE 96A - IS A UTILITY MODULE CALLED BY PRIMARY
/            LOW LEVEL MODULES FOR PROCESSING ERRORS. 
/ 
/ MODULE 96B - IS A UTILITY MODULE CALLED BY
/            MODULE *96A/FOR PROCESSING ERRORS. 
/ 
/ MODULE 96C - IS A UTILITY MODULE CALLED BY *96A/
/            FOR PROCESSING ERRORS. 
/ 
/ MODULE 96D - IS A UTILITY MODULE CALLED BY
/             MODULE *96A/FOR PROCESSING ERRORS.
/ 
/ MODULE 96E - IS A UTILITY MODULE CALLED BY
/            MODULE *96A/FOR PROCESSING ERRORS. 
/ 
/ MODULE 96F - IS A UTILITY MODULE CALLED BY
/            MODULE *96A/FOR PROCESSING ERRORS. 
/ 
/ MODULE 96W - IS A UTILITY MODULE CALLED 
/            TO PRESENT 6681 STATUS ERRORS. 
/ 
/ MODULE 96X - IS A UTILITY MODULE CALLED 
/            TO PRESENT 405 STATUS ERRORS.
/ 
/ MODULE 96Y - IS A UTILITY MODULE CALLED 
/            TO PRESENT DATA BUFFERS IB AND OB IF A DATA
/            COMPARE ERROR IS DETECTED BETWEEN CARDS READ 
/            AND SCRATCH FILE IMAGE OF EXPECTED CARD. 
/ 
/ MODULE 96Z - IS A UTILITY MODULE CALLED 
/            TO PRESENT GENERAL ERROR INFORMATION.
/ MODULE RUNNING MESSAGES 
/       1. MMMMM (MODULE DESCRIPTION) 
/       2. MMMMM LC=(NUMBER) EC=(NUMBER) ST=(NUMBER)
/       3. MMMMM // WAITING READY NOT BUSY // 
/       4. // SECTION IS (NUMBER)BCD -READ CR1 DECK- // 
/               MMMMM = MODULE NAME 
/ 
/ MODULE ERROR MESSAGES 
/ 
/       1. (NUMBER) ERROR(S) IN MMMMM 
/       2. MMMMM ABORT ON (CONN) AT LINE (NUMBER) 
/       3. MMMMM ABORT ON (FUNC) AT LINE (NUMBER) 
/       4. MMMMM ABORT ON (STATUS) AT LINE (NUMBER) 
/       5. MMMMM ERROR CODE (NUMBER) AT LINE (NUMBER) 
/        ERROR CODES DEFINED FOR CR1. 
/          100 - STATUS IS NOT (READY-AND-NOT-BUSY) 
/          110 - SELECTED ABNORMAL END-OF-OPERATION 
/              INTERRUPT. EXPECTED FILE STATUS AFTER
/              READ.
/          200 - DATA COMPARE ERROR.
/          300 - 6681 STATUS ERROR
/          500 - UNXEPECTED EOI ON SCRATCH. 
/ 
/       6. MMMMM ABORT ON (FUNC8) AT LINE (NUMBER)
/       7. MMMMM ABORT ON (INB) AT LINE (NUMBER)
/       8. MMMMM (NUMBER) ERROR(S) -ABNORMAL TERMINATION- 
/       9. ERROR CODE (NUMBER) -UNEXPECTED EOI ON SCRATCH-
/        10. MMMMM ABORT ON (REL) AT LINE (NUMBER)
/        11.MMMMM ABORT ON (STATUS8) AT LINE (NUMBER) 
/ 
/ 
/ 
/          THE SCRATCH FILE OR S=LFN FILE MUST CONTAIN
/          THE IMAGE OF THE CR1 DECK. THIS CAN BE OBTAINED
/          FROM THE CML RELEASE TAPE. 
/ 
/ TO RUN CALL CR1 (RUN ALL MODULES) 
/            R,CR1  OR  RUN CR1(01,02,03,04)
/                   RUN SELECTED MODULES. 
20 PAUSE
   EXIT TO 992
   END 20 
COMPILE,SOURCE                 - CR1 991 - EXTERNAL DOCUMENTATION 
*  ********************************************************** 
*  ********************************************************** 
   MODULE CR1992 3000(20),LOCK
*** CR1992 - EXTERNAL DOCUMENTATION 
* 
**
* 
* CR1992 - EXTERNAL DOCUMENTATION 
*  -------------
**************************************************************
/ MAINTENANCE PHILOSOPHY FOR CR1 -DECK STRUCTURE- 
/ THIS TEST HAS BEEN WRITTEN TO UTILIZE 
/ CR1 CARD DECK.
/ ************************************************* 
/ * N O T E  THE CR1 DECK MUST BE PRODUCED BY     * 
/ * = = = =  RUNNING CP1 EITHER CEDIAG ON-LINE    * 
/ *   CP1 MALET ONLINE, CP1 MSL OFFLINE,
/ *   OR SMM VERSION OFF-LINE. DEFAULT PARAMETERS * 
/ *   AS DESCRIBED IN SMM REFERENCE MANUAL MUST BE* 
/ *   USED.                                       * 
/ ************************************************* 
/ 
/ DETAILED DESCRIPTION OF CR1 DECK. 
/ SECTION   PATTERN      NUM        DESCRIPTION OF PATTERN
/ -------   -------      ---        ----------------------
/ TITLE       NUM       CARDS 
/ -----       ---       ----- 
/  A          1           1         BCD-A IN COL 1
/             2           1         DATA STARTS IN ROW 9
/             3           1         AND FILL SUCCESSIVE 
/             4           1         EVEN COL STARTING IN
/             5           1         COL 2 UNTIL THE 
/             6           1         PERSCRIBED NO OF HOLES
/             7           1         ARE READ. 
/             10          1         *************** 
/ FILE CARD   11          1         7-8 IN COL 1 AND 4-5 IN 
/                                   COL 2 ACTS AS EOF CARD
/ FILE CARD   12          1         7-8 IN COL 1 AND
/                                   4-5-6-7-8-9 IN COL 2
/  B          1           1         BCD-B IN COL 1  TITLE 
/             13          1         BINARY 10 IN COL 1
/             14          1                11 
/             15          1                12 
/             16          1         BINARY 13 IN COL 1
/             17          1                14 
/             20          1                15 
/             21          1         BINARY 16 IN COL 1
/             22          1                17 
/             23          1                20 
/             24          1         BINARY 21 IN COL 1
/             25          1                22 
/             26          1                23 
/             27          1         BINARY 24 IN COL 1
/             30          1                25 
/             31          1         BINARY 26 IN COL 1
/             32          1                27 
/ FILE CARD   11          1         7-8 IN COL 1
/ FILE CARD   12          1         7-8 IN COL 1
/  C          1           1         BCD-C IN COL 1
/             33          3         SEQUENCED COL FROM 5 IN 
/                                   COL 1 TO 124 IN COL 80
/             34          3         ALTERNATE COL OF 5252 
/                                   AND 2525 WITH 7-9 COL 1 
/             35          3         ALTERNATE COL OF 2525 
/                                   AND 5252. 
/             36          3         12 COL 2525 12 COL 5252 
/                                   ALTERNATE 
/             37          1         BLANK CARD. 
/ FILE CARD   11          1         7-8 IN COL 1
/ FILE CARD   12          1         7-8 IN COL 1
/  D          1           1         BCD-D IN COL 1
/             40          3         ROW SEQ 12-9 AND REPEAT 
/             41          3         ROW SEQ 9-12 AND REPEAT 
/             42          3         HEAVY PUNCHING ON UPPER 
/                                   PORTION OF CARD 
/             43          3         HEAVY PUNCHING ON LOWER 
/                                   PORTION OF CARD 
/             44          3         12 PUNCH IN COL 1 
/             45          3         9 PUNCH IN COL 1
/             46          3         12 PUNCH IN COL 80
/             47          3         9 PUNCH IN COL 80 
/             50          3         12-9 PUNCH IN COL 1 
/             51          3         12-9 PUNCH IN COL80 
/ FILE CARD   11          1         7-8 IN COL 1
/ FILE CARD   12          1         7-8 IN COL 1
/  E          1           1         BCD-E IN COL 1
/             52          1         ALTERNATE 4 COL OF
/                                   2525 AND 4 COL OF 5252
/             53          1         ALTERNATE 4 COL OF
/                                   1463 AND 4 COL OF 6314
/             54          1         ALTERNATE 4 COL OF
/                                   0707 AND 4 COL OF 7070
/             55          1         ALTERNATE 4 COL OF
/                                   7417 AND 4 COL 0360 
/             56          1         ALTERNATE 4 COL OF
/                                   6037 AND 4 COL OF 1740
/             57          1         EACH COL 2525 
/             60          1         EACH COL 3333 
/             61          1         EACH COL 3567 
/             62          1         EACH COL 6757 
/             63          1         EACH COL 3737 
/             64          1         EACH COL 4034 
/             65          1         EACH COL 1601 
/             66          1         ALTERNATE 4 COL 6334
/                                   5322 3555 5276 2450 
/             67          1         ALTERNATE 4 COL 5322
/                                   3555 5276 2450 6334 
/             70          1          ALTERNATE 4 COL 3555 
/                                   5276 2450 6334 5322 
/             71          1         ALTERNATE 4 COL 5276
/                                   2450 6334 5322 3555 
/             72          1         ALTERNATE 4 COL 2450
/                                   6334 5322 3555 5276 
/             73          10        ALTERNATE 4 COL 3777
/                                   7767 7577 
/ FILE CARD   11          1         7-8 PUNCH IN COL 1
/ FILE CARD   12          1         7-8 PUNCH IN COL 1
/  F          1           1         BCD-F IN COL 1
/             74          3         BCD CODES 00-77 IN COL
/                                   1-64
/             75          15        RANDOM BCD CARDS
/             76          1         BLANK CARD
/ FILE CARDD  11          1         7-8 PUNCH IN COL 1
/ FILE CARD   12          1         7-8 PUNCH IN COL 1
20 PAUSE
   EXIT TO 993
   END 20 
COMPILE,SOURCE                 - CR1 992 - EXTERNAL DOCUMENTATION 
*  *********************************************************
*  *********************************************************
   MODULE CR1993 3000(20),LOCK
*** CR1993 - EXTERNAL DOCUMENTATION 
* 
**
* 
* CR1993 - EXTERNAL DOCUMENTATION 
*  -------------
************************************************************
/  CONTINUATION OF MAINTENANCE PHILOSOPHY 
/  CR1 DECK STRUCTURE 
/ SECTION   PATTERN       NUM       DESCRIPTION OF PATTERN
/ -------   -------       ---       ----------------------
/  TITLE      NUM        CARDS
/  -----      ---        -----
/   G         1           1         BCD-G IN COL 1
/             77          1         8 COL 1030 8 COL 4102 
/            100          1         8 COL 0604 8 COL 2041 
/            101          1         8 COL 4102 8 COL 1030 
/            102          1         8 COL 2041 8 COL 0604 
/            103          1         8 COL 5132 8 COL 2645 
/            104          1         8 COL 2645 8 COL 5132 
/            105          1         8 COL 6747 8 COL 3675 
/            106          1         8 COL 7173 8 COL 5736 
/            107          1         8 COL 3675 8 COL 6747 
/            110          1         8 COL 5736 8 COL 7173 
/            111          1         8 COL 1030 8 COL 4102 
/            112          1         8 COL 6747 8 COL 3675 
/            113          1         8 COL 0604 8 COL 2041 
/            114          1         8 COL 7173 8 COL 5736 
/            115          1         8 COL 4102 8 COL 1030 
/            116          1         8 COL 3675 8 COL 6747 
/            117          1         8 COL 2041 8 COL 0604 
/            120          1         8 COL 5736 8 COL 7173 
/ FILE CARD  11           1         7-8 IN COL 1
/ FILE CARD  12           1         7-8 IN COL 1
/  H          1           1         BCD-H IN COL 1
/            121          3         FULLY LACED CARD
/            122          1         COL 1-2 FULLY LACED 
/            123          1         COL 1-4 FULLY LACED 
/            124          1         COL 1-8 FULLY LACED 
/            125          1         COL 1-16 FULLY LACED
/            126          1         COL 1-32 FULLY LACED
/            127          1         COL 79-80 FULLY LACED 
/            130          1         COL 77-80 FULLY LACED 
/            131          1         COL 73-80 FULLY LACED 
/            132          1         COL 65-80 FULLY LACED 
/            133          1         COL 49-80 FULLY LACED 
/ FILE CARD  11           1         7-8 IN COL 1
/ FILE CARD  12           1         7-8 PUNCH IN COL 1
/  I          1           1         BCD-I IN COL 1
/            134          10        RANDOM PATTERN PAST 
/                                   COL 40
/            135           20         RANDOM PATTERN BEFORE 
/                                     COL 41 (2 CARD READ)
/ FILE CARD  11           1         7-8 IN COL 1
/ FILE CARD  12           1         7-8 IN COL 1
/  J          1           1         BCD-J IN COL 1
/            136          100       READS RANDOM CARDS
/   FILE CARD 11           1        7-8 IN COL 1
/   FILE CARD 12           1        7-8 IN COL 1
20 PAUSE
   END 20 
COMPILE,SOURCE                 - CR1 993 - EXTERNAL DOCUMENTATION 
*  *********************************************************
