*DECK LPE                                                                LPE
   MODULE LPE00,580(22,23,24,25,26,27,30),LOCK                           VER1045
*** LPE - 512/580 PRINTER REPAIR EXERCISER                               LPE
**                                                                       LPE
*                                                                        LPE
*   AUTHOR - J.E. SIPPER                                                 LPE
*            CONSULTANT - SOUTHEAST REGION                               LPE
*            ENGINEERING SERVICES                                        LPE
*                                                                        LPE
*   DATE   - 78/10/26                                                    LPE
*                                                                        LPE
*   OVERVIEW -                                                           LPE
*                                                                        LPE
*         LPE IS A 512/580 PRINTER EXERCISER THAT RUNS UNDER THE         LPE
*         MALET SOFTWARE SUBSYSTEM.  IT IS DESIGNED TO TEST ONE          LPE
*         PRINTER/CONTROLLER AT A TIME.                                  LPE
*                                                                        LPE
*         THE GOAL IS TO INTRODUCE THE FIELD CUSTOMER ENGINEER TO        LPE
*         THE USE OF A SOFTWARE PRODUCT TO BE USED IN PLACE OF A         LPE
*         HARDWARE BLACK-BOX EXERCISER.  THIS TECHNIQUE IS CURRENTLY     LPE
*         PLANNED FOR FUTURE PERIPHERALS.                                LPE
*                                                                        LPE
*         LPE IS DESIGNED TO DRIVE A 512 OR 580 PRINTER SUCH THAT        LPE
*         SCOPING, SHOCK TESTING, ETC. CAN BE PERFORMED WHILE IT         LPE
*         IS EXECUTING TO ASSIST IN THE REPAIR OF A FAILING PRINTER.     LPE
*         LPE PERFORMS PRINTING AND PAPER MOTION ACCORDING TO THE        LPE
*         PARAMETERS PROVIDED IN P0-P9.                                  LPE
*                                                                        LPE
*         IF PARAMETER REGISTER P9 BIT 0 IS A ZERO, P0-P4 CONTROL        LPE
*         THE DATA THAT IS TO BE PRINTED.  IF P9 BIT 0 IS A ONE,         LPE
*         P0-P4 ARE IGNORED AND DATA TO BE PRINTED IS OBTAINED FROM      LPE
*         THE SCRATCH FILE.                                              LPE
*                                                                        LPE
*         IF PRINT DATA IS PROVIDED BY THE USER VIA THE SCRATCH          LPE
*         FILE, IT IS ASSUMED THAT THIS FILE CONTAINS FOUR PUNCHED       LPE
*         CARD IMAGES IN DISPLAY CODE THAT REPRESENTS TWO LINES OF       LPE
*         DATA TO BE PRINTED (ONE LINE IS REPRESENTED BY TWO CARD        LPE
*         IMAGES - COLUMNS 1-80 OF THE FIRST CARD CONTAIN DATA TO        LPE
*         BE PRINTED IN COLUMNS 1-80 AND COLUMNS 1-56 OF THE SECOND      LPE
*         CARD CONTAIN THE DATA TO BE PRINTED IN COLUMNS 81-136 AND      LPE
*         COLUMNS 57-80 OF THE SECOND CARD ARE IGNORED).  THE SCRATCH    LPE
*         FILE IS REWOUND, READ AND THE DATA CONVERTED FROM DISPLAY      LPE
*         CODE TO INTERNAL BCD AS TWO PRINT LINES.  WHEN PRINTING IS     LPE
*         STARTED, PRINTING WILL ALTERNATE BETWEEN THE TWO LINES OF      LPE
*         DATA SUPPLIED.  THIS FEATURE ENABLES THE USER TO RECREATE      LPE
*         A FAILING SITUATION UNDER NORMAL CUSTOMER OPERATION WHEN A     LPE
*         PRINT ERROR IS DETECTED.  NORMALLY THE USER WOULD DETERMINE    LPE
*         THE DATA PRINTED ONE LINE PRIOR TO THE PRINT ERROR AND ALSO    LPE
*         THE DATA THAT SHOULD BE PRINTED ON THE LINE THAT HAD A PRINT   LPE
*         ERROR, PUNCH THIS DATA ON CARDS AND RUN THIS JOB TO SEE IF     LPE
*         THE FAILURE CAN BE DUPLICATED.  THE FOLLOWING JOB STRUCTURE    LPE
*         IS REQUIRED AND IT ASSUMES THAT A FILE CALLED TOOLS            LPE
*         IS A PERMANENT RANDOM FILE CREATED BY A PREVIOUS RUN OF        LPE
*         MALET THAT CONTAINS THE BINARY OF LPE.                         LPE
***                                                                      LPE
**                                                                       LPE
*                                                                        LPE
*           ATTACH,TOOLS.                                                LPE
*           COPYBR,INPUT,SCRATCH.                                        LPE
*           MALET,R=TOOLS.                                               LPE
*           7/8/9                   END OF RECORD                        LPE
*           CARD 1  (COLUMNS 1-80 OF FIRST PRINT LINE)                   LPE
*           CARD 2  (COLUMNS 81-136 OF FIRST PRINT LINE)                 LPE
*           CARD 3  (COLUMNS 1-80 OF SECOND PRINT LINE)                  LPE
*           CARD 4  (COLUMNS 81-136 OF SECOND PRINT LINE)                LPE
*           7/8/9                   END OF RECORD                        LPE
*             .                                                          LPE
*             .      MALET EXECUTIVE DIRECTIVES (ASSIGN,PARAM,RUN,ETC)   LPE
*             .                                                          LPE
*           6/7/8/9                 END OF FILE                          LPE
*                                                                        LPE
*                                                                        LPE
*                                                                        LPE
*         LPE MAINTAINS A DISPLAY OF ERROR INFORMATION (SEE              LPE
*         ERROR MESSAGES DESCRIPTION). IF STOP-ON-ERROR IS SELECTED,     LPE
*         A PICTURE OF THESE STATISTICS IS TAKEN ON EACH FAILURE.        LPE
*         IF STOP-ON-ERROR IS NOT SELECTED, ONLY THE DISPLAY IS          LPE
*         MAINTAINED.  A HARD COPY OF THE DISPLAY CAN BE OBTAINED        LPE
*         BY USING THE MALET EXECUTIVE DIRECTIVE *PICTURE,PPU*.          LPE
*                                                                        LPE
*** LPE PARAMETERS                                                       LPE
**                                                                       LPE
*   PARAMETERS -                                                         LPE
*                                                                        LPE
*         DATA IN PARAMETER REGISTERS P0-P6 AND P9 CONTROL THE           LPE
*         ACTIONS PERFORMED BY LPE AS FOLLOWS:                           LPE
*                                                                        LPE
*         P0 - PRIMARY CHARACTER TO USE FOR PRINTING. (0XXX).            LPE
*              IF NOT USING EXTENDED ARRAY, THE LOWER 6 BITS             LPE
*              OF THIS WORD IS USED AS THE INTERNAL BCD CODE             LPE
*              OF THE CHARACTER TO PRINT AS THE PRIMARY                  LPE
*              CHARACTER (SEE P1 DESCRIPTION - ALTERNATE PRINT           LPE
*              CHARACTER). IF USING EXTENDED ARRAY, THE LOWER            LPE
*              9 BITS ARE USED AS THE CODE FOR THE CHARACTER             LPE
*              TO PRINT.                                                 LPE
*                                                                        LPE
*         P1 - ALTERNATE CHARACTER TO USE FOR PRINTING. (0XXX).          LPE
*              IF (P1) IS ZERO, THERE IS NO ALTERNATE CHARACTER          LPE
*              AND (P0) WILL BE USED AS THE ONLY CHARACTER IN            LPE
*              FORMING THE PRINT LINE.  IF (P1) IS NON-ZERO, IT          LPE
*              WILL BE USED ALTERNATELY WITH (P0) IN FORMING THE         LPE
*              PRINT LINE.  THE FORMAT OF DATA IN P1 IS THE SAME         LPE
*              AS SPECIFIED IN P0.                                       LPE
*                                                                        LPE
*         P2 - FIRST COLUMN TO PRINT (1-136 DECIMAL). IF THE             LPE
*              VALUE SPECIFIED IN P2 IS ZERO OR GREATER THAN             LPE
*              210 OCTAL (136 DECIMAL), IT DEFAULTS TO 1.                LPE
*                                                                        LPE
*         P3 - LAST COLUMN TO PRINT (1-136 DECIMAL). IF THE              LPE
*              VALUE SPECIFIED IN P3 IS ZERO OR GREATER THAN             LPE
*              210 OCTAL (136 DECIMAL), IT DEFAULTS TO 210.              LPE
*              NOTE THAT (P3) CAN BE SMALLER THAN THE (P2).              LPE
*              IF THIS IS THE CASE, PRINTING STARTS IN COLUMN            LPE
*              P2 TO THE END OF LINE, THEN FROM COLUMN 1 TO              LPE
*              AND INCLUDING P3.                                         LPE
*                                                                        LPE
*         P4 - NUMBER OF BLANKS TO INSERT AFTER EACH COLUMN              LPE
*              THAT CONTAINS PRINT DATA BEFORE THE NEXT PRINT            LPE
*              CHARACTER IS INSERTED. (0-136 DECIMAL). IF THE            LPE
*              VALUE IS ZERO OR GREATER THAN 136D, NO BLANKS             LPE
*              ARE INSERTED, SO ALL CHARACTERS BETWEEN COLUMNS           LPE
*              P2 AND P3 WILL BE PRINTED.  EXAMPLE:  IF (P4)             LPE
*              IS 1, EVERY-OTHER COLUMN BETWEEN P2 AND P3                LPE
*              WILL CONTAIN PRINT DATA WITH BLANKS IN ALL OTHER          LPE
*              COLUMNS.                                                  LPE
*                                                                        LPE
***                                                                      LPE
**                                                                       LPE
*         P5 - SPACING TO USE WITH EACH PRINT (0-21 OCTAL OR 0-17        VER1036
*              DECIMAL).  IF THE CODE SUPPLIED IS GREATER THAN 21        VER1036
*              OCTAL, IT DEFAULTS TO 0 (NORMAL AUTO SPACE).              LPE
*                                                                        LPE
*                0D OR 0B = NORMAL AUTO SPACE                            LPE
*                1D OR 1B = FORMAT LEVEL 1                               LPE
*                2D OR 2B = FORMAT LEVEL 2                               LPE
*                3D OR 3B = FORMAT LEVEL 3                               LPE
*                4D OR 4B = FORMAT LEVEL 4                               LPE
*                5D OR 5B = FORMAT LEVEL 5                               LPE
*                6D OR 6B = FORMAT LEVEL 6                               LPE
*                7D OR 7B = FORMAT LEVEL 7                               LPE
*               8D OR 10B = FORMAT LEVEL 8                               LPE
*               9D OR 11B = FORMAT LEVEL 9                               LPE
*              10D OR 12B = FORMAT LEVEL 10                              LPE
*              11D OR 13B = FORMAT LEVEL 11                              LPE
*              12D OR 14B = FORMAT LEVEL 12                              LPE
*              13D OR 15B = EXTRA SINGLE SPACE                           LPE
*              14D OR 16B = EXTRA DOUBLE SPACE                           LPE
*              15D OR 17B = BOTTOM OF FORM                               LPE
*              16D OR 20B = TOP OF FORM (PAGE EJECT)                     LPE
*              17D OR 21B = SUPPRESS SPACE.  NOTE: IF SUPPRESS           LPE
*                           SPACE IS SELECTED, DATA TO BE PRINTED        LPE
*                           DEFAULTS TO BLANKS TO INSURE THAT HOLES      LPE
*                           ARE NOT PUNCHED INTO THE PAPER DUE TO        LPE
*                           OVER-PRINTING WITH NO SPACING.               LPE
*                                                                        LPE
*         P6 - MILLISECONDS TO DELAY AFTER EACH PRINT .                  LPE
*              IF P9 BIT 1 = 0, (P6) IS A FIXED DELAY BETWEEN            LPE
*              PRINTS.  IF P9 BIT 1 = 1, (P6) IS A MASK TO USE           LPE
*              WITH THE REAL TIME CLOCK TO ESTABLISH A RANDOM            LPE
*              DELAY BETWEEN PRINTS. (THE MAXIMUM DELAY IS               LPE
*              7777 OCTAL/4095 DECIMAL MILLISECONDS OR 4.095             LPE
*              DECIMAL SECONDS).                                         LPE
*                                                                        LPE
*         P7 - NUMBER OF LINES TO PRINT AFTER INITIATING THE             LPE
*              SPACING SELECTED IN P5 PRIOR TO INITIATING SPACING        LPE
*              AGAIN (DEFAULTS TO 1).                                    LPE
*                                                                        LPE
*         P8 - NUMBER OF SEQUENCES TO PERFORM - SPACING ACCORDING TO     LPE
*              P5 AND PRINTING P7 LINES SINGLE-SPACED IS CONSIDERED      LPE
*              ONE SEQUENCE.  (DEFAULTS TO 7777).                        LPE
***                                                                      LPE
**                                                                       LPE
*                                                                        LPE
*         P9 - CONTROL BITS FOR OPTIONS (DEFAULTS TO 0000)               LPE
*                                                                        LPE
*              BIT 0 (XXX1) - 0= USE PARAMETER REGISTERS P0-P4 TO        LPE
*                                GENERATE PRINT DATA.                    LPE
*                             1= IGNORE PARAMETER REGISTERS P0-P4.       LPE
*                                READ PRINT DATA FROM THE SCRATCH FILE.  LPE
*                                                                        LPE
*              BIT 1 (XXX2) - 0= (P6) IS A FIXED DELAY                   LPE
*                             1= (P6) IS A MASK FOR RANDOM DELAY         LPE
*                                                                        LPE
*              BIT 2 (XXX4) - 0= PRINT WITH 6 LINES PER INCH SPACING     LPE
*                             1= PRINT WITH 8 LINES PER INCH SPACING     LPE
*                                                                        LPE
*              BIT 3 (XX1X) - 0= USE PRE-PRINT SPACING IF A FORMAT       LPE
*                                LEVEL IS SPECIFIED IN P5.               LPE
*                             1= USE POST-PRINT SPACING IF A FORMAT      LPE
*                                LEVEL IS SPECIFIED IN P5.               LPE
*                                                                        LPE
*              BIT 4 (XX2X) - 0= DO NOT USE AUTO EJECT.                  LPE
*                             1= USE AUTO EJECT.                         LPE
*                                                                        LPE
*              BIT 5 (XX4X) - 0= DO NOT USE EXTENDED ARRAY.              LPE
*                             1= USE EXTENDED ARRAY.                     LPE
*                                                                        LPE
*              BITS 6-11    - NOT USED                                   LPE
*** LPE DESCRIPTION                                                      LPE
**                                                                       LPE
*   DESCRIPTION -                                                        LPE
*                                                                        LPE
*         1. BUILD 2 PRINT LINES FROM PARAMETERS P0-P4 OR READ THE       LPE
*            SCRATCH FILE AND BUILD 2 PRINT LINES.                       LPE
*         2. SET BA TO 1 AND WC TO 104 IF NOT EXTENDED ARRAY OR TO       LPE
*            210 IF EXTENDED ARRAY IS SELECTED.  GO TO STEP 4.           LPE
*         3. SET BA TO POINT TO FIRST PRINT LINE AND DELAY THE NUMBER    LPE
*            OF MILLISECONDS SPECIFIED IN P6.                            LPE
*         4. POST WAIT RDY/NOT BUSY MESSAGE.                             LPE
*         5. RESERVE AND GO TO STEP 7 IF READY, NOT BUSY AND MEMORY      LPE
*            NOT BUSY.                                                   LPE
*         6. UPDATE STATUS IN THE DISPLAY, RELEASE, DELAY 50 MSEC        LPE
*            AND GO TO STEP 5.                                           LPE
*         7. CLEAR.                                                      LPE
*         8. SELECT 6LPI OR 8LPI AS REQUESTED IN P9.                     LPE
*         9. SELECT AUTO EJECT IF REQUESTED IN P9.                       LPE
*        10. CLEAR OR SELECT EXTENDED ARRAY AS REQUESTED IN P9.          LPE
*        11. GO TO STEP 15 IF NO SPACING IS SELECTED IN P5.              LPE
*        12. GO TO STEP 14 IF READY AND NOT BUSY.                        LPE
*        13. WAIT UP TO 5 SECONDS FOR READY, NOT BUSY AND MEMORY NOT     LPE
*            BUSY AND NO PRINT ERROR STATUS.  IF READY DROPS, ENTER      LPE
*            THE ERROR SEQUENCE AT STEP 20.  IF A PRINT ERROR IS         LPE
*            DETECTED, READ ERROR MEMORY, REPORT THE COLUMNS IN ERROR    LPE
*            (IF AVAILABLE) AND ENTER THE ERROR SEQUENCE AT STEP 22.     LPE
*            IF BUSY OR MEMORY BUSY HANGS FOR 5 SECONDS, ENTER THE       LPE
*            ERROR SEQUENCE AT STEP 21.                                  LPE
*            CONTINUE AT STEP 14 IF READY, NOT BUSY, MEMORY NOT BUSY     LPE
*            AND NO PRINT ERROR STATUS IS REACHED WITHIN 5 SECONDS.      LPE
*        14. SELECT THE PAPER MOTION REQUESTED IN P5.                    LPE
*        15. PRINT AND BUMP THE NUMBER OF LINES PRINTED.                 LPE
*        16. RELEASE.                                                    LPE
*        17. DELAY THE NUMBER OF MILLISECONDS SPECIFIED BY P6.           LPE
*        18. TOGGLE BA TO PRINT ALTERNATE LINE IMAGE.                    LPE
*        19. WAIT UP TO 5 SECONDS FOR READY, MEMORY NOT BUSY AND NO      LPE
*            PRINT ERROR STATUS AND GO TO STEP 15 IF THESE CONDITIONS    LPE
*            ARE MET AND P7 LINES HAVE NOT BEEN PRINTED.  IF P7 LINES    LPE
*            HAVE BEEN PRINTED, BUMP SEQUENCES PERFORMED AND TERMINATE   LPE
*            IF P8 SEQUENCES HAVE BEEN DONE.  IF NOT, GO TO STEP 11 TO   LPE
*            START THE NEXT SEQUENCE.                                    LPE
*            IF PRINTER READY DROPS, ENTER THE ERROR SEQUENCE AT STEP    LPE
*            20. IF BUSY HANGS FOR 5 SECONDS, ENTER THE ERROR SEQUENCE   LPE
*            AT STEP 21.  IF A PRINT ERROR IS DETECTED, READ ERROR       LPE
*            MEMORY, REPORT THE COLUMNS IN ERROR (IF AVAILABLE) AND      LPE
*            ENTER THE ERROR SEQUENCE AT STEP 22.                        LPE
*        20. THIS STEP IS ENTERED IF ANY COMMAND ABORTS OR IF READY      LPE
*            DROPS.  IF READY, BUMP THE PROPER ABORT COUNTER AND GO TO   LPE
*            STEP 22.  OTHERWISE, BUMP THE NOT READY COUNTER AND GO TO   LPE
*            STEP 22.                                                    LPE
*        21. THIS STEP IS ENTERED IF MEMORY BUSY OR BUSY HANGS FOR 5     LPE
*            SECONDS.  BUMP THE BUSY COUNTER.                            LPE
*        22. REPORT THE ERROR MESSAGE THAT DESCRIBES THE CURRENT         LPE
*            FAILURE.                                                    LPE
*        23. POST CURRENT STATISTICS ON THE DISPLAY.                     LPE
*        24. TAKE A PICTURE OF THE DISPLAY AND HALT IF STOP-ON-ERROR     LPE
*            IS SELECTED. OTHERWISE, DO NOT TAKE A PICTURE.              LPE
*        25. GO TO STEP 3.                                               LPE
*** LPE MESSAGES                                                         LPE
**                                                                       LPE
*   ERRORS REPORTED -                                                    LPE
*                                                                        LPE
*         1. ALL PRODUCT OVERLAY ERRORS.                                 LPE
*                                                                        LPE
*         2. LPE - WAIT RDY/NOT BUSY                                     LPE
*         3. LPE - PRINT ERROR                                           LPE
*         4. LPE - PRINTER HUNG BUSY FOR 5 SECONDS                       LPE
*         5. LPE - PRINTER DROPPED READY                                 LPE
*                                                                        LPE
*         6. LPE - ABORT ON .RES. COMMAND                                LPE
*         7. LPE - ABORT ON .REL. COMMAND                                LPE
*         8. LPE - ABORT ON .PRINT. COMMAND                              LPE
*         9. LPE - ABORT ON .READ. COMMAND                               LPE
*        10. LPE - ABORT ON .SELECT 6LPI. COMMAND                        LPE
*        11. LPE - ABORT ON .SELECT 8LPI. COMMAND                        LPE
*        12. LPE - ABORT ON .SPACE 1. COMMAND                            LPE
*        13. LPE - ABORT ON .SPACE 2. COMMAND                            LPE
*        14. LPE - ABORT ON .SELECT EXTENDED. COMMAND                    LPE
*        15. LPE - ABORT ON .SELECT CLREXT. COMMAND                      LPE
*        16. LPE - ABORT ON .SELECT PREPRINT. COMMAND                    LPE
*        17. LPE - ABORT ON .SELECT POSTPRINT. COMMAND                   LPE
*        18. LPE - ABORT ON .EJECT. COMMAND                              LPE
*        19. LPE - ABORT ON .SELECT LASTLINE. COMMAND                    LPE
*        20. LPE - ABORT ON .SELECT AUTO. COMMAND                        LPE
*        21. LPE - ABORT ON .SELECT CLEAR. COMMAND                       LPE
*        22. LPE - ABORT ON .SELECT SUPPRESS. COMMAND                    LPE
*                                                                        LPE
*         IN ADDITION TO THE ABOVE ERROR MESSAGES, A DISPLAY IS          LPE
*         MAINTAINED IN THE FOLLOWING FORMAT TO DOCUMENT RUNNING         LPE
*         TOTALS OF ERRORS, STATUS AND OTHER STATISTICS. ALL VALUES      LPE
*         DISPLAYED ARE IN DECIMAL EXCEPT THE NUMBER OF LINES            LPE
*         PRINTED AND THE LAST ERROR STATUS WHICH ARE IN OCTAL.          LPE
*                                                                        LPE
*         LPE - OCTAL LINES PRINTED = XXXXXXXX                           LPE
*                                                                        LPE
*                        ERROR STATISTICS                                LPE
*       RES--------XXXX  REL---------XXXX  PRINT------XXXX               LPE
*       READ-------XXXX  6LPI--------XXXX  8LPI-------XXXX               LPE
*       SPACE 1----XXXX  SPACE 2-----XXXX  EXTENDED---XXXX               LPE
*       CLREXT-----XXXX  PREPRINT----XXXX  POSTPRINT--XXXX               LPE
*       EJECT------XXXX  LASTLINE----XXXX  AUTO-------XXXX               LPE
*       CLEAR------XXXX  SUPPRESS----XXXX                                LPE
*       NOT READY--XXXX  PRINT ERROR-XXXX  HUNG BUSY--XXXX               LPE
*         COLUMNS FAILED LAST=XXXX,XXXX,XXXX  NUMBER=XXXX                LPE
*         LAST ERR STS-668X=XXXX EQ=XXXX- LAST ERR BELOW                 LPE
*         XXXXXXXXXX----LAST ERROR MESSAGE----XXXXXXXXXXXX               LPE
*       --------------------------------------------------               VER1066
*                                                                        LPE
*** LPE - INTERNAL DOCUMENTATION                                         LPE
*                                                                        LPE
*   REGISTER USAGE -                                                     LPE
*                                                                        LPE
*         B0 = PRIMARY CHARACTER TO PRINT                                LPE
*            = INDEX TO IB                                               LPE
*         B1 = SECONDARY CHARACTER TO PRINT                              LPE
*            = INDEX TO OB                                               LPE
*         B2 = FIRST COLUMN TO PRINT                                     LPE
*            = NUMBER OF BYTES TO PROCESS                                LPE
*            = FIRST PASS FLAG                                           LPE
*         B3 = LAST COLUMN TO PRINT                                      LPE
*            = NUMBER OF CARDS PROCESSED                                 LPE
*         B4 = NUMBER OF BLANKS TO INSERT                                LPE
*            = UPPER CHARACTER                                           LPE
*            = NUMBER OF ZERO BYTES TO ALLOW                             LPE
*         B5 = CHARACTER MASK                                            LPE
*            = BUFFER INDEX                                              LPE
*            = PRIMARY/SECONDARY CHARACTER                               LPE
*            = LOWER CHARACTER                                           LPE
*            = POINTER TO ABORT COUNTER IN IB                            LPE
*         B6 = BUFFER INDEX                                              LPE
*            = RETRY COUNT                                               LPE
*            = DELAY TIME                                                LPE
*            = LINE NUMBER                                               LPE
*         B7 = MESSAGE NUMBER                                            LPE
*         BA = FWA OF DATA TO PRINT FROM OB                              LPE
*            = FWA TO READ ERROR MEMORY INTO IB                          LPE
*         WC = NUMBER OF WORDS TO PRINT                                  LPE
*                                                                        LPE
*   BUFFER USAGE -                                                       LPE
*                                                                        LPE
*         OB(1-210)   = FIRST LINE IMAGE (1-104 IF NOT EXTENDED ARRAY)   LPE
*         OB(211-420) = SECOND LINE IMAGE (211-314 IF NOT EXTENDED)      LPE
*         OB(400-477) = DISPLAY CODE TO INTERNAL BCD CONV TABLE          LPE
*         IB(0-21)    = ABORT COUNTERS                                   LPE
*         IB(22)      = NOT READY COUNTER                                LPE
*         IB(23)      = PRINT ERROR COUNTER                              LPE
*         IB(24)      = HUNG BUSY COUNTER                                LPE
*         IB(25-26)   = LINES PRINTED COUNTER                            LPE
*         IB(40-247)  = ERROR MEMORY BUFFER                              LPE
*                                                                        LPE
*   MODULES CALLED -                                                     VER1038
*                                                                        VER1038
*         LPE00A - PREPARE PRINTER FOR MAIN LOOP                         VER1038
*         LPE00B - MAIN LOOP                                             VER1038
*                                                                        VER1038
   DATA (OB(400),CON) 00,21,22,23,24,25,26,27,30,31,41,42,               LPE
  ,43,44,45,46,47,50,51,62,63,64,65,66,67,70,71,12,1,2,3,4,              LPE
  ,5,6,7,10,11,20,40,54,61,74,34,53,13,60,73,33,76,17,72,                LPE
  ,16,14,75,52,77,55,56,32,57,15,35,36,37                                LPE
 1 FORMAT --------------------------------------------------             VER1066
20 DUP 60 TO OB(1) FOR 210   *BLANK FILL THE PRINT LINE                  LPE
   IF(P5.EQ.17D) GOTO 34     *PRINT BLANKS IF SUPPRESS SPACE             LPE
   IF(P9.AND.1.NE.0) GOTO 40  *IF PRINT DATA ON SCRATCH                  LPE
   B5 = 77                   *SET-UP FOR 6 BIT DATA                      LPE
   IF(P9.AND.40.EQ.0) GOTO 21  *IF NOT EXTENDED ARRAY                    LPE
   B5 = 777                  *SET-UP FOR 9 BIT DATA                      LPE
21 B0 = P0.AND.B5            *PRIMARY CHARACTER                          LPE
   B1 = B0                   *SECONDARY = PRIMARY                        LPE
   IF(P1.EQ.0) GOTO 22       *IF NO SECONDARY SPECIFIED                  LPE
   B1 = P1.AND.B5            *SECONDARY CHARACTER                        LPE
22 B2 = 1                    *DEFAULT FOR FIRST COLUMN                   LPE
   IF(P2.EQ.0) GOTO 23       *FIRST COLUMN NOT SPECIFIED                 LPE
   IF(P2.GT.210) GOTO 23     *FIRST COLUMN OUT OF RANGE                  LPE
   B2 = P2                   *USE USER SUPPLIED FIRST COLUMN             LPE
23 B3 = 210                  *DEFAULT FOR LAST COLUMN                    LPE
   IF(P3.EQ.0) GOTO 24       *LAST COLUMN NOT SPECIFIED                  LPE
   IF(P3.GT.210) GOTO 24     *LAST COLUMN OUT OF RANGE                   LPE
   B3 = P3                   *USE USER SUPPLIED LAST COLUMN              LPE
24 B4 = 0                    *DEFAULT NUMBER OF BLANKS                   LPE
   IF(P4.EQ.0) GOTO 31       *NO BLANKS SPECIFIED                        LPE
   IF(P4.GT.210) GOTO 31     *NUMBER OF BLANKS OUT OF RANGE              LPE
   B4 = P4                   *USE USER SUPPLIED NUMBER                   LPE
*                                                                        LPE
*--------CREATE PRINT LINE IMAGE BASED ON PARAMETERS                     LPE
*                                                                        LPE
31 OB(B2) = B0               *STORE 1 CHARACTER                          LPE
   B5 = B0                                                               LPE
   B0 = B1                   *SWAP PRIMARY/SECONDARY                     LPE
   B1 = B5                                                               LPE
   B5 = 0                    *CLEAR SKIP COUNT                           LPE
32 IF(B2.EQ.B3) GOTO 34      *IF CURRENT = LAST                          LPE
   GOTO 33 WHILE (B2+1.LE.210)  *BUMP CURRENT COLUMN                     LPE
   B2 = 1                    *RESET TO COLUMN 1 ON OVERFLOW              LPE
33 GOTO 32 WHILE (B5+1.LE.B4)   *INSERT BLANKS                           LPE
   GOTO 31                   *CONTINUE STORING WHEN DONE                 LPE
34 WC = 210                  *EXTENDED ARRAY WORD COUNT                  LPE
   BA = 1                    *FIRST WORD ADDRESS FOR DATA                LPE
   IF(P9.AND.40.NE.0) GOTO 36  *IF EXTENDED ARRAY                        LPE
   B5 = 1                                                                LPE
   B6 = 1                                                                LPE
35 OB(B5) = OB(B6).LS.6 + OB(B6+1)  *PACK DATA-NORMAL MODE               LPE
   B6 = B6 + 2                                                           LPE
   GOTO 35 WHILE (B5+1.LE.104)      *PACK TOTAL LINE IMAGE               LPE
   WC = 104                         *NORMAL LINE LENGTH                  LPE
36 COPY OB(1) TO OB(211) FOR WC  *FORM TWO PRINT LINES                   LPE
   GOTO 50                    *GO EXIT TO EXERCISER                      LPE
*                                                                        LPE
*--------PRINT DATA IS ON SCRATCH FILE.  READ AND CONVERT IT.            LPE
*                                                                        LPE
40 SYSREW                                                                LPE
   SYSRD, STATUS TO B1                                                   LPE
   B0 = 0                    *INDEX TO INPUT DATA                        LPE
   B1 = 1                    *INDEX FOR STORING DATA                     LPE
   B2 = 50                   *BYTES TO PROCESS FROM CARD                 LPE
   B3 = 0                    *NUMBER OF CARDS PROCESSED                  LPE
   BA = 1                                                                LPE
   WC = 104                                                              LPE
   DUP 6060 TO OB(1) FOR WC  *BLANK FILL BOTH LINES                      LPE
   DUP 6060 TO OB(211) FOR WC                                            LPE
41 IF(IB(B0).EQ.0) GOTO 42   *IF END OF CARD IMAGE                       LPE
   B4 = IB(B0).RS.6          *UPPER CHARACTER                            LPE
   B5 = IB(B0).AND.77        *LOWER CHARACTER                            LPE
   B4 = OB(B4+400)           *CONVERT DISPLAY CODE TO BCD                LPE
   B5 = OB(B5+400)                                                       LPE
   OB(B1) = B4.LS.6 + B5     *STORE CONVERTED DATA                       LPE
   B1 = B1 + 1               *BUMP STORAGE ADDRESS                       LPE
   B0 = B0 + 1               *BUMP INDEX TO DATA                         LPE
   IF(B0.NE.B2) GOTO 41      *IF NOT END OF CARD                         LPE
42 B1 = B2-B0+B1             *SKIP TO END OF CARD                        LPE
   B2 = B0+50                *SET END OF NEXT CARD                       LPE
   B3 = B3 + 1               *BUMP NUMBER OF CARDS PROCESSED             LPE
   IF(B3.EQ.4) GOTO 50       *IF 4 CARDS DONE                            LPE
   IF(B3.NE.2) GOTO 43       *IF NOT START OF 2ND LINE                   LPE
   B1 = 211                  *SET POINTER TO 2ND LINE BUFFER             LPE
43 B4 = 6                    *NUMBER OF ZERO BYTES ALLOWED+1             LPE
44 IF(IB(B0).NE.0) GOTO 41   *IF VALID DATA                              LPE
   B0 = B0 + 1               *BUMP POINTER TO DATA                       LPE
   B2 = B2 + 1               *BUMP END OF CARD POINTER                   LPE
   GOTO 44 WHILE(B4-1.NE.0)  *LOOK FOR MORE DATA                         LPE
*                                                                        LPE
*---------PRINT LINES HAVE BEEN CREATED. EXIT TO EXERCISER.              LPE
*                                                                        LPE
50 B6 = 0                    *CLEAR RETRY COUNT                          LPE
   DUP 0 TO IB FOR 40        *CLEAR COUNTERS                             LPE
   MSG 1 TO LINE 14D                                                     VER1066
   EXIT TO 00A               *EXIT TO EXERCISER                          LPE
77 END 20                                                                LPE
COMPILE   - LPE00 -                                                      LPE
   MODULE LPE00A,580(22,23,24,25,26,27,30),LOCK                          VER1045
 1 FORMAT LPE- PRINTER DROPPED READY                                     LPE
 2 FORMAT LPE - PRINT ERROR                                              LPE
 3 FORMAT LPE- WAIT RDY/NOT BUSY                                         LPE
 4 FORMAT LPE - OCTAL LINES PRINTED = *OCT*OCT                           LPE
 5 FORMAT                  ERROR STATISTICS                              LPE
 6 FORMAT RES--------*DEC  REL---------*DEC  PRINT------*DEC             LPE
 7 FORMAT READ-------*DEC  6LPI--------*DEC  8LPI-------*DEC             LPE
10 FORMAT SPACE 1----*DEC  SPACE 2-----*DEC  EXTENDED---*DEC             LPE
11 FORMAT CLREXT-----*DEC  PREPRINT----*DEC  POSTPRINT--*DEC             LPE
12 FORMAT EJECT------*DEC  LASTLINE----*DEC  AUTO-------*DEC             LPE
13 FORMAT CLEAR------*DEC  SUPPRESS----*DEC                              LPE
14 FORMAT NOT READY--*DEC  PRINT ERROR-*DEC  HUNG BUSY--*DEC             LPE
15 FORMAT LPE - NORMAL TERMINATION - FINAL COUNTS BELOW                  VER1047
16 FORMAT                                                                LPE
17 FORMAT LAST ERR STS-668X=*OCT EQ=*OCT- LAST ERR BELOW                 LPE
20 FORMAT LPE - ABORT ON .RES. COMMAND                                   LPE
21 FORMAT LPE - ABORT ON .REL. COMMAND                                   LPE
22 FORMAT LPE - PRINTER HUNG BUSY FOR 5 SECONDS                          LPE
24 FORMAT LPE - ABORT ON .SELECT 6LPI. COMMAND                           LPE
25 FORMAT LPE - ABORT ON .SELECT 8LPI. COMMAND                           LPE
30 FORMAT LPE - ABORT ON .SELECT EXTENDED. COMMAND                       LPE
31 FORMAT LPE - ABORT ON .SELECT CLREXT. COMMAND                         LPE
36 FORMAT LPE - ABORT ON .SELECT AUTO. COMMAND                           LPE
37 FORMAT LPE - ABORT ON .SELECT CLEAR. COMMAND                          LPE
*                                                                        LPE
*--------PREPARE FOR THE MAIN LOOP.  THE FOLLOWING CODE IS               LPE
*        EXECUTED INITIALLY AND AFTER ANY FAILURE.                       LPE
*                                                                        LPE
40 GOSUB 63                  *BUILD STATUS DISPLAY                       LPE
   B3 = 0                    *CLEAR LINES PER SEQUENCE                   LPE
   B4 = 0                    *CLEAR NUMBER OF SEQUENCES                  LPE
41 MSG 3 TO DISPLAY          *POST WAIT MESSAGE                          LPE
   BA = 1                    *SET TO PRINT FIRST LINE                    LPE
42 B5 = 0                                                                LPE
   RES, ABT 70                                                           LPE
   IF(SB(1).AND.103.EQ.1) GOTO 50  *IF READY AND NOT BUSY                LPE
   MSG 17,2 WORDS FROM SB TO LINE 11D      *POST STATUS                  LPE
   B5 = 1                                                                LPE
   REL, ABT 70                                                           LPE
   DELAY 50D MSEC                                                        LPE
   GOTO 42                   *RETRY                                      LPE
*                                                                        LPE
*--------READY, NOT BUSY AND MEMORY NOT BUSY.  PREPARE THE               LPE
*        CONTROLLER WITH SELECTED OPTIONS.                               LPE
*                                                                        LPE
50 B5 = 17                                                               LPE
   SELECT CLEAR, ABT 70                                                  LPE
   IF(P9.AND.4.NE.0)GOTO 51  *IF 8LPI SELECTED                           LPE
   B5 = 4                                                                LPE
   SELECT 6LPI, ABT 70                                                   LPE
   GOTO 52                                                               LPE
51 B5 = 5                                                                LPE
   SELECT 8LPI, ABT 70                                                   LPE
52 IF(P9.AND.20.EQ.0)GOTO 53  *IF NO AUTO EJECT                          LPE
   B5 = 16                                                               LPE
   SELECT AUTO, ABT 70                                                   LPE
53 IF(P9.AND.40.NE.0) GOTO 54  *IF EXTENDED ARRAY                        LPE
   B5 = 11                                                               LPE
   SELECT CLREXT, ABT 70                                                 LPE
   GOTO 55                   *ENTER MAIN LOOP                            LPE
54 B5 = 10                                                               LPE
   SELECT EXTENDED, ABT 70                                               LPE
55 B2 = 0                    *INDICATE FIRST PASS                        LPE
   CALL 00B                  *ENTER MAIN LOOP                            LPE
   IF(B5.NE.7777) GOTO 71    *PROCESS EXIT IF NOT DONE                   LPE
   MSG 15 TO PRINT                                                       VER1047
   GOSUB 63                  *UPDATE THE DISPLAY                         LPE
   PICTURE                   *TAKE A PICTURE OF LAST RESULTS             LPE
   GOTO 77                   *TERMINATE                                  LPE
*                                                                        LPE
*--------DELAY REQUESTED NUMBER OF MILLISECONDS                          LPE
*                                                                        LPE
60 B6 = P6                                                               LPE
   IF(P9.AND.2.EQ.0) GOTO 61   *IF FIXED DELAY                           LPE
   B6 = RT.AND.P6              *RANDOM DELAY                             LPE
61 IF(B6.LE.20D) GOTO 62       *SKIP REL ON SHORT DELAY                  LPE
   B5 = 1                                                                LPE
   REL, ABT 70                 *RELEASE                                  LPE
   B6 = B6 - 20D               *ADJUST DELAY DUE TO RELEASE              LPE
62 DELAY B6 MSEC                                                         LPE
   RETURN                                                                LPE
*                                                                        LPE
*--------UPDATE THE STATUS DISPLAY                                       LPE
*                                                                        LPE
63 B5 = 0                       *BUFFER INDEX                            LPE
   B6 = 3                       *LINE NUMBER                             LPE
   B7 = 6                       *MESSAGE NUMBER                          LPE
   MSG 5 TO LINE 1                                                       LPE
64 MSG B7, 3 WORDS FROM IB(B5) TO LINE B6                                LPE
   B6 = B6 + 1                  *BUMP LINE NUMBER                        LPE
   B5 = B5 + 3                  *BUMP BUFFER INDEX                       LPE
   GOTO 64 WHILE (B7+1.LE.14)   *IF ALL MESSAGES NOT POSTED              LPE
   MSG 17, 2 WORDS FROM SB TO LINE 11D  *POST FAILURE STATUS             VER1046
   RETURN                                                                LPE
*                                                                        LPE
*---------ERROR PROCESSOR                                                LPE
*                                                                        LPE
70 B6 = B5+20                    *FORM ABORT MESSAGE NUMBER              LPE
   MSG B6 TO LINE 12D                                                    LPE
   MSG B6 TO DISPLAY                                                     VER1047
   GOTO 72                                                               LPE
71 IF(EM.GT.77) GOTO 72         *IF PRODUCT OVERLAY ABORT                LPE
   MSG 16 TO LINE 12D           *CLEAR PREVIOUR ABORT MSG                LPE
   B5 = EC                      *SET MESSAGE NUMBER                      LPE
72 MSG EM TO LINE 13D           *REPORT ERROR MESSAGE                    LPE
   IB(B5) = IB(B5) + 1          *BUMP ERROR COUNTER                      LPE
   GOSUB 63                     *UPDATE THE DISPLAY                      LPE
   IF(ES.AND.SE.NE.0) GOTO 73   *IF STOP-ON-ERROR IS SET                 LPE
   GOSUB 60                     *DELAY P6 MSEC                           LPE
   GOTO 40                      *RESUME TESTING                          LPE
73 PICTURE                                                               LPE
   HALT                         *TAKE A PICTURE AND HALT                 LPE
   GOTO 41                      *RESUME AFTER OPERATOR GO                LPE
77 END 40                                                                LPE
COMPILE   - LPE00A -                                                     LPE
   MODULE LPE00B,580(22,23,24,25,26,27,30),LOCK                          VER1045
 2 FORMAT LPE - PRINTING                                                 LPE
 4 FORMAT LPE - OCTAL LINES PRINTED = *OCT*OCT                           LPE
16 FORMAT COLUMNS FAILED LAST=*DEC,*DEC,*DEC  NUMBER=*DEC                LPE
20 FORMAT LPE - ABORT ON .RES. COMMAND                                   LPE
21 FORMAT LPE - ABORT ON .REL. COMMAND                                   LPE
22 FORMAT LPE - ABORT ON .PRINT. COMMAND                                 LPE
23 FORMAT LPE - ABORT ON .READ. COMMAND                                  LPE
26 FORMAT LPE - ABORT ON .SPACE 1. COMMAND                               LPE
27 FORMAT LPE - ABORT ON .SPACE 2. COMMAND                               LPE
32 FORMAT LPE - ABORT ON .SELECT PREPRINT. COMMAND                       LPE
33 FORMAT LPE - ABORT ON .SELECT POSTPRINT. COMMAND                      LPE
34 FORMAT LPE - ABORT ON .EJECT. COMMAND                                 LPE
35 FORMAT LPE - ABORT ON .SELECT LASTLINE. COMMAND                       LPE
40 FORMAT LPE - ABORT ON .SELECT SUPPRESS. COMMAND                       LPE
*                                                                        LPE
*---------BEGIN MAIN LOOP - SELECTS PAPER MOTION AND PRINTS.             LPE
*                                                                        LPE
41 MSG 2 TO DISPLAY                *POST RUNNING MESSAGE                 LPE
   B5 = 0                                                                LPE
   RES, ABT 70                                                           LPE
   GOTO 50                         *ENTER MAIN LOOP                      LPE
42 B6 = 0                          *CLEAR RETRY COUNTER                  LPE
   B7 = 100                        *TEST MEMORY BUSY ONLY                LPE
   GOSUB 63                        *WAIT RDY,NOT BUSY, NO PE             LPE
   B3 = B3 + 1               *BUMP INSIDE LOOP COUNTER                   LPE
   IF(B3.GE.P7) GOTO 43      *IF P7 LINES PRINTED                        LPE
   IF(P9.AND.10.NE.0) GOTO 57     *IF POSTPRINT SPACING                  LPE
   IF(P5.EQ.0) GOTO 57       *IF NOT FORMAT LEVEL 1-12                   LPE
   IF(P5.GT.12D) GOTO 57     *IF NOT FORMAT LEVEL 1-12                   LPE
   B5 = 6                                                                LPE
   SPACE 1, ABT 70           *PREPRINT FORMAT SELECTED                   LPE
   GOTO 57                                                               LPE
43 B3 = 0                          *RESET LINES COUNTER                  LPE
   GOTO 50 WHILE (B4+1.NE.P8)      *DO P8 SEQUENCES                      LPE
   B5 = 7777                                                             LPE
   GOTO 72                    *TERMINATE                                 LPE
50 IF(P5.EQ.0) GOTO 57             *IF NO SPACING REQUESTED              LPE
   B6 = 0                          *CLEAR RETRY COUNT                    LPE
   B7 = 102                        *MASK BOTH BUSY BITS                  LPE
   GOSUB 63                        *WAIT RDY,NOT BUSY, NO PE             LPE
   IF(P5.GT.14) GOTO 52            *IF NOT PRE/POST PRINT                LPE
   IF(P9.AND.10.NE.0) GOTO 51      *IF POST PRINT SELECTED               LPE
   B5 = 12                                                               LPE
   SELECT PREPRINT P5, ABT 70                                            LPE
   GOTO 57                                                               LPE
51 B5 = 13                                                               LPE
   SELECT POSTPRINT P5, ABT 70                                           LPE
   GOTO 57                                                               LPE
52 IF(P5.NE.15) GOTO 53      *IF SINGLE SPACE NOT SELECTED               LPE
   B5 = 6                                                                LPE
   SPACE 1, ABT 70                                                       LPE
   GOTO 57                                                               LPE
53 IF(P5.NE.16) GOTO 54      *IF DOUBLE SPACE NOT SELECTED               LPE
   B5 = 7                                                                LPE
   SPACE 2, ABT 70                                                       LPE
   GOTO 57                                                               LPE
54 IF(P5.NE.17) GOTO 55      *IF LAST LINE NOT SELECTED                  LPE
   B5 = 15                                                               LPE
   SELECT LASTLINE, ABT 70                                               LPE
   GOTO 57                                                               LPE
55 IF(P5.NE.20) GOTO 56     *IF NOT PAGE EJECT SELECTED                  LPE
   B5 = 14                                                               LPE
   EJECT, ABT 70                                                         LPE
   GOTO 57                                                               LPE
56 IF(P5.NE.21) GOTO 57     *IF NOT SUPPRESS SPACE                       LPE
   B5 = 20                                                               LPE
   SELECT SUPPRESS, ABT 70                                               LPE
57 B5 = 2                                                                LPE
   PRINT, ABT 70                                                         LPE
   B2 = 1                      *INDICATE NOT FIRST PASS                  LPE
   B5 = IB(26)+1.RS.12D        *BUMP LINES PRINTED                       LPE
   IB(25) = IB(25) + B5        *BUMP UPPER IF OVERFLOW                   LPE
   IB(26) = IB(26) + 1         *BUMP LOWER                               LPE
   MSG 4, 2 WORDS FROM IB(25) TO LINE 0   *REPORT LINES                  LPE
   GOSUB 60                    *DELAY SELECTED MILLISECONDS              LPE
   BA = BA+210.AND.211         *TOGGLE BA FROM 1/211/1                   LPE
   GOTO 42                                                               LPE
*                                                                        LPE
*--------DELAY REQUESTED NUMBER OF MILLISECONDS                          LPE
*                                                                        LPE
60 B6 = P6                                                               LPE
   IF(P9.AND.2.EQ.0) GOTO 61   *IF FIXED DELAY                           LPE
   B6 = RT.AND.P6              *RANDOM DELAY                             LPE
61 IF(B6.LE.20D) GOTO 62       *SKIP REL ON SHORT DELAY                  LPE
   B5 = 1                                                                LPE
   REL, ABT 70                 *RELEASE                                  LPE
   B6 = B6 - 20D               *ADJUST DELAY DUE TO RELEASE              LPE
62 DELAY B6 MSEC                                                         LPE
   B6 = 0                      *CLEAR RETRY COUNT                        LPE
   RETURN                                                                LPE
*                                                                        LPE
*---------WAIT READY,MEMORY NOT BUSY, NOT BUSY,NO PRINT ERROR            LPE
*                                                                        LPE
63 B5 = 0                                                                LPE
   RES, ABT 70                                                           LPE
   IF(SB(1).AND.1.EQ.0) ERROR 1/22, GOTO 72  *IF NOT READY               LPE
   IF(SB(1).AND.2000.EQ.0) GOTO 66  *IF NO PRINT ERROR                   LPE
   IF(B2.EQ.0) GOTO 66              *IF FIRST PASS                       LPE
   B5 = 3                                                                LPE
   IB(40) = 0                      *CLEAR BUFFER                         LPE
   IB(41) = 0                                                            LPE
   IB(42) = 0                                                            LPE
   BA = 40                                                               LPE
   READ, ABT 70                    *READ ERROR MEMORY                    LPE
   B6 = WT                                                               LPE
64 IF(B6.EQ.0) GOTO 65             *IF ALL WORDS UPDATED                 LPE
   IB(BA) = IB(BA) + 1             *ADJUST COLUMN DATA + 1               LPE
   B6 = B6 - 1                     *DECREMENTS WORDS TO DO               LPE
   GOTO 64 WHILE (BA+1.LE.42)      *ONLY DO THREE WORDS                  LPE
65 MSG 16 (IB(40), IB(41), IB(42), WT) TO LINE 10D                       LPE
   ERROR 2/23, GOTO 72             *REPORT PRINT ERROR                   LPE
66 IF(SB(1).AND.B7.EQ.0) GOTO 67   *IF NOT BUSY                          VER1046
   DELAY 500D USEC                                                       LPE
   GOTO 63 WHILE (B6+1.NE.4000D)   *IF 5 SECONDS NOT ELAPSED             LPE
   ERROR 22/24, GOTO 72            *REPORT BUSY ERROR                    LPE
67 RETURN                                                                LPE
*                                                                        LPE
*---------ERROR PROCESSOR                                                LPE
*                                                                        LPE
70 IF(SB(1).AND.1.NE.0) GOTO 71   *IF READY                              LPE
   ERROR 1/22, GOTO 72          *CHANGE ABORT TO READY DROP              LPE
71 B6 = B5+20                      *FORM MESSAGE NUMBER                  LPE
   MSG B6 TO LINE 12D              *REPORT COMMAND NAME                  LPE
   MSG B6 TO DISPLAY                                                     VER1047
72 ENDSUB                                                                LPE
   EXIT                            *EXIT TO PROCESS ERROR                LPE
   END 41                                                                LPE
COMPILE   - LPE00B -                                                     LPE
   MODULE LPE99,580(22,23,24,25,26,27,30),LOCK  PARAMETERS               VER1045
/                                                                        LPE
/                                                                        LPE
/         P0 = PRIMARY DATA (DEFAULTS TO 0000)                           LPE
/                                                                        LPE
/         P1 = ALTERNATE DATA (DEFAULTS TO 0000 - NONE)                  LPE
/                                                                        LPE
/         P2 = FIRST COLUMN TO PRINT (DEFAULTS TO 1)                     LPE
/                                                                        LPE
/         P3 = LAST COLUMN TO PRINT  (DEFAULTS TO 136D)                  LPE
/                                                                        LPE
/         P4 = NUMBER OF BLANKS TO INSERT (DEFAULTS TO 0)                LPE
/                                                                        LPE
/         P5 = SPACING OPTIONS (DEFAULTS TO 0)                           LPE
/                 0D OR 0B = NORMAL AUTO SPACE                           LPE
/                 1D OR 1B = FORMAT LEVEL 1                              LPE
/                 2D OR 2B = FORMAT LEVEL 2                              LPE
/                 3D OR 3B = FORMAT LEVEL 3                              LPE
/                 4D OR 4B = FORMAT LEVEL 4                              LPE
/                 5D OR 5B = FORMAT LEVEL 5                              LPE
/                 6D OR 6B = FORMAT LEVEL 6                              LPE
/                 7D OR 7B = FORMAT LEVEL 7                              LPE
/                8D OR 10B = FORMAT LEVEL 8                              LPE
/                9D OR 11B = FORMAT LEVEL 9                              LPE
/               10D OR 12B = FORMAT LEVEL 10                             LPE
/               11D OR 13B = FORMAT LEVEL 11                             LPE
/               12D OR 14B = FORMAT LEVEL 12                             LPE
/               13D OR 15B = EXTRA SINGLE SPACE                          LPE
/               14D OR 16B = EXTRA DOUBLE SPACE                          LPE
/               15D OR 17B = BOTTOM OF FORM                              LPE
/               16D OR 20B = TOP OF FORM (PAGE EJECT)                    LPE
/               17D OR 21B = SUPPRESS SPACE (BLANKS PRINTED)             LPE
/                                                                        LPE
/         P6 = DELAY BETWEEN PRINTS (DEFAULTS TO 0)                      LPE
/                                                                        LPE
/         P7 = LINES TO PRINT PER SEQUENCE (DEFAULTS TO 1)               LPE
/                                                                        LPE
/         P8 = NUMBER OF SEQUENCE (DEFAULTS TO 7777)                     LPE
/                                                                        LPE
/         P9 = CONTROL BITS (DEFAULTS TO 0)                              LPE
/                        CLEAR          /     SET                        VER1037
/                       -------              -----                       VER1037
/               XXX1 - P0-P4 = DATA     / DATA ON SCRATCH FILE           VER1037
/               XXX2 - P6 = FIXED DELAY / RANDOM DELAY MASK IN P6        VER1037
/               XXX4 - 6 LPI SPACING    / 8 LPI SPACING                  VER1037
/               XX1X - PREPRINT SPACING / POSTPRINT SPACING              VER1037
/               XX2X - NO AUTO EJECT    / AUTO EJECT                     VER1037
/               XX4X - NORMAL ARRAY     / EXTENDED ARRAY                 VER1037
/                                                                        LPE
20 PAUSE                                                                 LPE
   END 20                                                                LPE
COMPILE,SOURCE   - LPE99 -                                               LPE
