*DECK,NIP 
***  NIP - NON IMPACT PRINTER MONITOR 
***  1.0  IDENTIFICATION
**
*    1.1  PROGRAM NAME
* 
*         NIP - NON IMPACT PRINTER MONITOR
* 
*    1.2  AUTHOR
* 
*         D.H. WIESE           DATE JANUARY 25, 1985
* 
*    04/22/85                CHANGES TO CORRECT MISCELLANEOUS DOC-
*                            UMENTATION ERRORS AND AN ERROR MESSAGE 
*                            IN MODULE 01.
*    1.3  COPYRIGHT 
* 
*              COPYRIGHT CONTROL DATA CORPORATION. 1985.
*                      ALL RIGHTS RESERVED
* 
*         CONTAINED HEREIN ARE SOFTWARE PRODUCTS COPYRIGHTED BY 
*         CONTROL DATA CORPORATION.  REPRODUCTION WITHOUT PERMISSION
*         IS PROHIBITED.  THE COPYRIGHT NOTICE MUST APPEAR IN ALL 
*         AUTHORIZED COMPLETE OR PARTIAL COPIES.
* 
***  2.0  INTRODUCTION
**
*    2.1  OVERVIEW
* 
*         NIP IS A MONITOR FOR THE 5870 NON IMPACT PRINTER (NIP).  THIS 
*         CODE WILL RESIDE IN A PERIPHERAL PROCESSOR (PP) AND TEST  THE 
*         ABILITY OF THE NIP HARDWARE TO CORRECTLY PERFORM THE CONTROL- 
*         WARE 77 FUNCTION.   THIS FUNCTION  INITIATES A DATA  TRANSFER 
*         INTEGRITY TEST WITH THE SUBSYSTEM.   THE CONTROLWARE MUST  BE 
*         RESIDENT IN THE CYBER CHANNEL COUPLER (CCC).
* 
*    2.2  CHARACTERISTICS 
* 
*         1.  PROGRAM NAME......................................NIP 
*         2.  TEST/DIAG/UTILITY/SYSTEM......................MONITOR 
*         3.  VIRTUAL CODE/MICROCODE/PP CODE/OTHER............MALET 
*         4.  RUN TIME (DEFAULT).............................5 SEC. 
*         5.  RUN TIME/QUICK LOOK (DEFAULT)....................N/A
*         6.  LEVEL OF ISOLATION..........................DETECTION 
*         7.  ON-LINE/OFF-LINE/BOTH............................BOTH 
*         8.  ON-LINE SYSTEM....................................NOS 
*         9.  OFF-LINE SYSTEM...................................MSL 
*         10. ASSEMBLY LANGUAGE...............................MALET 
*         11. SOURCE CODE MAINTENANCE........................UPDATE 
* 
*    2.3  FEATURES
* 
*         1.  WHEN MONITORING THE CCC, THE CODE WILL RESIDE IN A  CYBER 
*             CYBER  170  PP  AND  TEST  THE  NIP SUBSYSTEM THROUGH THE 
*             NIP CONTROLWARE IN THE CCC. 
* 
*    2.4  HARDWARE REQUIREMENTS 
* 
*         THIS TEST REQUIRES@D
*         1- CYBER 170/180
*         2- ONE CCC
*         3- ONE 844 OR 885 FOR LOADING THE TEST
*         4- ONE 5870 NON IMPACT PRINTER SUBSYSTEM. 
* 
*    2.5  RESTRICTIONS
* 
*         1.  THE TEST REQUIRES THAT CONTROLWARE BE LOADED INTO THE CCC 
*             PRIOR TO EXECUTION.  A TEST IS MADE TO DETERMINED  IF THE 
*             NIP CONTROLWARE IS LOADED AND RUNNING PRIOR  TO FUNCTION- 
*             ING THE INTEGRITY TEST.   IF NOT  LOADED,  NO  ADDITIONAL 
*             TESTING WILL OCCUR. 
* 
*         2.  THE DATA PATH FROM THE CYBER 170  MAINFRAME  TO  THE  CCC 
*             MEMORY BEING TESTED IS ASSUMED TO BE WORKING. 
* 
***  3.0  APPLICABLE DOCUMENTS
**
*         CCC ENGINEERING SPECIFICATION                       53542416
*         CCC CONTROLWARE SPEC.                               53371093
*         PROJ. PLAN/DESIGN DOC. FOR ZEROX EPS                ARH5961 
*         MALET REFERENCE MANUAL                              60456020
*         CML REFERENCE MANUAL                                60455980
*         MSL 150 REFERENCE MANUAL                            60456530
*         MALET CODING STANDARD                               ARH5000 
* 
***  4.0  DESIGN OVERVIEW 
**
*    4.1  MODULES OVERVIEW
* 
*         NIP CONSISTS OF A SINGLE MODULE ONLY.  THIS MODULE PERFORMS 
*         THREE MAJOR FUNCTIONS.  THESE ARE: VERIFY THAT THE CONTROL- 
*         WARE IS LOADED AND RUNNING,FUNCTION THE CCC TO RUN THE DATA 
*         PATH  INTEGRITY TEST, AND TAKE  STATUS TO VERIFY ITS PROPER 
*         EXECUTION.
*                                             ACCESS          RUN 
*         MODULE       DESCRIPTION            LEVEL           TIME
*         ------       -----------            ------          ----
*         NIP01        INVOKE INTEGRITY TEST    10           5 SEC
* 
*    4.2  EXECUTION SEQUENCE
* 
*         NIP MODULES ARE INDEPENDENT AND EXECUTION OF ONE  MODULE IS 
*         NOT DEPENDENT ON EXECUTION OF ANOTHER.
* 
***  5.0  PARAMETERS
**
*         NONE
* 
***  6.0  PROGRAM USE 
**
*         1.  EACH OF THE MODULES IN THE  NIP MONITOR PROVIDE  THE USER 
*             WITH THE ABILITY TO REPEAT THE MODULE, WHICH WILL  REPEAT 
*             THE INVOKING AND MONITORING OF THE INTEGRITY TEST.
* 
*         2.  THREE TYPES OF ERRORS WILL BE DISPLAYED. THESE ARE ERRORS 
*             GENERATED BY  ABORTS OF INPUT/OUTPUT COMMANDS,  AN  ERROR 
*             CAUSED BY NO CONTROLWARE BEING LOADED, AND A ERROR DUE TO 
*             A FAILURE WHEN THE DATA INTEGRITY TEST WAS EXECUTED.
* 
*         3.  THE INTEGRITY TEST IS A CONTROLWARE FUNCTION.  THEREFORE, 
*             THE NIP CONTROLWARE MUST BE LOADED  PRIOR TO EXECUTION OF 
*             THIS MONITOR.   THIS CAN BE  ACCOMPLISHED  UNDER MSL WITH 
*             THE CW,XXX,CH. COMMAND, OR UNDER NOS WITH THE LOADBC(CH). 
*             COMMAND.  NIP DOES NOT DESTROY THE CONTROLWARE. 
* 
*         4.  THE EQUIPMENT TO BE TESTED  MUST BE ASSIGNED WITH A MALET 
*             ASSIGN STATEMENT PRIOR TO EXECUTION.
* 
***  7.0  MESSAGES
**
*    7.1  NORMAL MESSAGES 
* 
*         1.  NIPNN MODULE NAME 
*             THIS MESSAGE INDICATES THAT MODULE NN IS NOW RUNNING. 
* 
*    7.2   ERROR FORMAT 
* 
*         THE FOLLOWING DISPLAY FORMAT IS USED BY NIP TO REPORT PRODUCT 
*         OVERLAY ERRORS TO THE USER WHEN MONITORING THE CCC. 
* 
*         00  NIP - NIP MONITOR 
*         01  NIPNN - (M----------------------------T)
*         02
*         03  NIPNN ABORTED ON (C-------------------M)
*         04   LAST FUNCTION = FFFFB
*         05
*         06  NIPNN EXXXXB LYYYB  (E----------------M)
*         07
* 
*         WHERE-
*         NN    = MODULE NUMBER.
*         YYY   = THE EA REGISTER WHEN THE ERROR OCCURED. 
*         C---M = COMMAND ON WHICH THE ABORT OCCURRED.
*         E---M = VERBAL DESCRIPTION OF THE ERROR CODE. 
*         FFFF  = LAST FUNCTION ISSUED TO THE CCC.
*         M---T = MODULE TITLE
*         XXXX  = THE ERROR CODE IN OCTAL.
* 
* 
*         THE  FOLLOWING DISPLAY FORMAT IS USED BY NIP TO REPORT
*         STATUS ERRORS TO THE USER.
* 
*         00  NIP01 - INVOKE INTEGRITY TEST 
*         01
*         02  NIP01 - CONTROLWARE NOT RUNNING 
*         03
*         04  NIP01 STATUS ERROR = *OCTB
*         05  NIP01 -  DETAIL STATUS
*         06       O0 *OCTB   01 *OCTB
*         07       02 *OCTB   03 *OCTB
*         08       04 *OCTB   05 *OCTB
*         09       06 *OCTB   07 *OCTB
* 
*         WHERE-
*         *OCTB = THE CONTENTS OF THE 8 DETAILED STATUS WORDS.
* 
*    7.4  DAYFILE MESSAGES
* 
*         1.  NIPNN ERROR(S) = XXXXD
*             NN   = THE NUMBER OF THE MODULE IN NIP. 
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE  INDICATES  THAT  MODULE NN DETECTED 
*             XXXX  DECIMAL  NUMBER  OF  ERRORS  BY  THE  TIME  IT  HAD 
*             COMPLETED EXECUTION.
* 
***  8.0  GLOSSARY
**
*    8.1  ABBREVIATIONS 
* 
*         CML       - CONCURRENT MAINTENANCE LIBRARY
*         CVL       - CUSTOMER ENGINEERING VALIDATION 
*         ERS       - EXTERNAL REFERENCE SPECIFICATION
*         NIP       - NON IMPACT PRINTER MONITOR
*         CCC       - CYBER CHANNEL COUPLER 
*         MALET     - MAINTENANCE APPLICATION LANGUAGE FOR EQUIPMENT
*                     TESTING 
*         NO.       - NUMBER
*         PP        - PERIPHERAL PROCESSOR
*         PUB.      - PUBLICATION 
*         SPEC.     - SPECIFICATION 
*         RAM.      - RELIABILITY, AVAILABILITY AND MAINTAINABILITY 
* 
*    8.2  MISCELLANEOUS 
* 
*         WHEN A GENERAL STATUS = 5200 (DATA INTEGRITY TEST FAILED), IS 
*         RECEIVED FOLLOWING THE TEST, A DETAIL STATUS  IS TAKEN.   THE 
*         FOLLOWING IS DESCRIPTION OF THE CONTENTS OF  THE 8 WORDS DIS- 
*         PLAYED IN THE MESSAGE@D 
*                         11 10 9 8 7 6 5 4 3 2 1 0 
*                   WD0   FIRST FAILING BYTE NUMBER 
*                   WD1        ACTUAL      / ACT+1U 
*                   WD2    ACT+1L  /   ACTUAL+2 
*                   WD3     EXPECTED       / EXP+1U 
*                   WD4    EXP+1L  /   EXPECTED+2 
*                   WD5   SEL. UNIT   / ADPTR  ID 
*                   WD6       ADAPTER SN
*                   WD7   CONTROLWARE REV. NO.
* 
   MODULE NIP00, 6000, (31,32), LOCK
***  NIP00 - DUMMY MODULE 
**
* 
*   1.0   EXTERNAL MODULE DOCUMENTATION 
* 
*   1.1   PURPOSE 
* 
*         ALLOWS NIP TO WORK IN THE OFF-LINE ENVIRONMENT. 
* 
*   1.2   METHOD
* 
*         THE MODULE SIMPLY EXITS TO MODULE NIP01 
* 
*   1.3   ERRORS REPORTED 
*         NONE
/ 
*   2.0   INTERNAL MODULE DOCUMENTATION 
* 
*   2.1   ENTRY CONDITIONS
*         NONE
* 
*   2.2   REGISTERS AND BUFFERS USED
*         NONE
* 
*   2.3   SUBMODULES USED 
*         NONE
* 
* 
* ---------------------TEST---------------------------------
* 
20 EXIT 
   END 20 
COMPILE                      *NIP00 - DUMMY MODULE
   MODULE NIP01,6000(31,32)LOCK 
***       NIP01 - INVOKE INTEGRITY TEST 
**
*    1.0  EXTERNAL MODULE DOCUMENTATION 
*         ----------------------------- 
* 
*    1.1  PURPOSE-
* 
*         INVOKE THE CONTROLWARE FUNCTION 77 (DATA PATH INTEGRITY TEST) 
*         IN THE CCC.  MONITOR THE RESULTS AND REPORT ANY ERROR.
* 
*    1.2  METHOD- 
* 
*         1.  DISPLAY THE RUNNING MESSAGE FOR THE MODULE. 
*         2.  RESERVE THE CHANNEL TO THE CCC. 
*         3.  GET A GENERAL STATUS (012 FUNC) AND CHECK  FOR 0000.  EI- 
*             THER AN ABORT OR A NON-ZERO INDICATES THAT CONTROLWARE IS 
*             NOT LOADED AND RUNNING.  POST A MESSAGE IF CONTROLWARE IS 
*             FOUND TO BE NOT RUNNING, PAUSE, AND WAIT OPERATOR ACTION. 
*         4.  DISPLAY  THE RUNNING  MESSAGE IF SCOPING LOOP IS  NOT SE- 
*             LECTED, OR THE REPEAT  CONDITION MESSAGE  IF SCOPING LOOP 
*             IS SELECTED.
*         5.  FUNCTION  THE DATA  INTEGRITY TEST (077 FUNC) TO  THE CCC 
*             CONTROLWARE.
*         6.  DISPLAY  THE  RUNNING  MESSAGE  IF  SCOPING  LOOP  IS NOT 
*             SELECTED, OR THE REPEAT CONDITION MESSAGE IF SCOPING LOOP 
*             IS SELECTED.
*         7.  RESERVE THE CHANNEL TO THE CCC. 
*         8.  GET A GENERAL STATUS (012 FUNC) AND  CHECK  FOR 0000.   A 
*             STATUS OF  5200 INDICATES  THAT AN ERROR WAS  DETECTED BY 
*             THE TEST.  DISPLAY THE GENERAL STATUS.
*         9.  GET A DETAIL STATUS (013 FUNC) AND DISPLAY THE 8 WORDS ON 
*             THE SCREEN. 
*        10.  IF REPEAT CONDITION IS SELECTED,REPEAT STEPS 4 THROUGH 10 
*        11.  IF REPEAT MODULE IS SELECTED, REPEAT STEPS 1 THROUGH 11.
*        12.  IF  ANY ERRORS WERE DETECTED DURING  THE EXECUTION OF THE 
*             MODULE, SEND A MESSAGE INDICATING THE  NUMBER  OF  ERRORS 
*             DETECTED BY THE MODULE TO DISPLAY, PRINT, AND DAYFILE.
*        13.  EXIT THE MODULE.
* 
*    1.3  ERRORS REPORTED 
* 
*         NIP01 - CONTROLWARE NOT RUNNING 
*         NIP01 EC=*DECD, LC=*DECD
*         NIP01 STATUS ERROR = *OCTB
*         NIP01 - DETAIL STATUS 
*              00 *OCTB  01 *OCTB 
*              02 *OCTB  03 *OCTB 
*              04 *OCTB  05 *OCTB 
*              06 *OCTB  07 *OCTB 
*         NIP01 ERROR(S) IN *DECD 
* 
/    2.0  INTERNAL MODULE DOCUMENTATION 
* 
*    2.1  ENTRY CONDITIONS
* 
*         PARAMETER P1 - EQUIPMENT NUMBER 
* 
*    2.2  REGISTER AND BUFFER USAGE 
* 
*         B11 - NUMBER OF PRODUCT OVERLAY COMMAND ABORTED.
*         B13 - MODULE NUMBER 
*         B14 - MODULE ERROR COUNT. 
*         B15 - MODULE PASS COUNT.
*         BA  - DATA BUFFER BASE ADDRESS. 
*         EA  - STANDARD USAGE. 
*         EC  - STANDARD USAGE. 
*         EM  - STANDARD USAGE. 
*         ES  - STANDARD USAGE. 
* 
*         IB(000) TO IB(011) - CCC STATUS 
*         OB(000) - PRINTER SELECT CODE 
*         SB(071) - PRINTER EQUIPMENT NUMBER
* 
*    2.3  SUBMODULES USED 
* 
*         NIP98A - POST DRIVER/COMMAND ABORTED ERROR DISPLAY
* 
* -----------------DATA DIVISION----------------------------
* 
0  FORMAT NIP01 - INVOKE INTEGRITY TEST 
1  FORMAT NIP01 - CONTROLWARE NOT RUNNING 
2  FORMAT NIP01 EC=*DECD, LC=*DECD
3  FORMAT NIP01 STATUS ERROR = *OCTB
4  FORMAT NIP01 - DETAIL STATUS 
5  FORMAT      00 *OCTB  01 *OCTB 
6  FORMAT      02 *OCTB  03 *OCTB 
7  FORMAT      04 *OCTB  05 *OCTB 
10 FORMAT      06 *OCTB  07 *OCTB 
11 FORMAT NIP01 ERROR(S) = *DECD
12 FORMAT --------------------------------------------------
* 
*         EQUATES FOR THE MODULE. 
* 
   EQUATE GSTATUS=012, DSTATUS=013, RIT=077 
* 
* -----------------INITIALIZATION---------------------------
* 
*         DISPLAY MODULE RUNNING MESSAGE. 
* 
30 MSG 0 TO DISPLAY,PRINT    *DISPLAY RUNNING MESSAGE 
   B13=1                     *MODULE NUMBER 
* 
* 
* -----------------TEST-------------------------------------
* 
32 GOSUB 70                  *RESERVE CCC CHANNEL 
* 
   B11=2                     *CHECK FOR STATUS = 0
   FUNC GSTATUS, ABT 34 
   B11=3
   INB 1 WORDS TO IB(0), ABT 74   *READ STATUS
   IF(IB(0).EQ.0) GOTO 36    *CONTINUE STATUS OK
   B14=B14+1                 *UPDATE ERROR COUNT
   IF (ES.AND.SL.NE.0)GOTO 32 
   MSG 3 (IB(0)) TO LINE 4   *POST NON-ZERO STATUS
34 MSG 0 TO LINE 0
   MSG 1 TO LINE 2           *POST CW NOT LOADED
   HALT 
   GOTO 50                   *GO TO END OF MODULE 
* 
*            FUNCTION INTEGRITY TEST AND OUTPUT EQ NO.
* 
36 B11=2                     *FUNCTION NUMBER COMMAND 
   FUNC RIT, ABT 74          *FUNC RUN INTEGRITY TEST 
   OB(0)=SB(71)              *ENTER OB(0) WITH EQ NUM.
38 B11=4                     *OUTPUT COMMAND NUMBER 
   OUT 1 WORDS FROM OB(0), ABT 74  *OUTPUT EQUIP NO.
   DELAY 1 MSEC 
   GOSUB 70                  *RESERVE CCC CHANNEL 
* 
   GOSUB 54                  *CHECK FOR STATUS = 0
* 
* -----------------REPEAT/EXIT------------------------------
* 
*         PROCESS REPEAT CONDITION. 
* 
42 IF(ES.AND.RC.EQ.0) GOTO 50  *IF REPEAT CONDITION OFF 
* 
   IF(B14.GE.B4) B4=B14+20B  *INCR MAX ERR. CNT.
   GOTO 36                   *GO TO REPEAT THE CONDITION
* 
* 
*         PROCESS REPEAT MODULE.
* 
50 IF(ES.AND.RM.NE.0)GOTO 30   *IF REPEAT MODULE SELECTED 
* 
   IF(B14.NE.0)MSG 11(B14) TO DISPLAY,PRINT,DAYFILE 
   MSG 12 TO PRINT
   GOTO 76                   *EXIT THE MODULE 
* 
* --------------------SUBROUTINES---------------------------
* 
*         OBTAIN GENERAL/DETAIL STATUS
* 
54 B11= 2                    *STATUS COMMAND NUMBER 
   FUNC GSTATUS, ABT 74      *FUNCTION CCC FOR STATUS 
   B11=3                     *INB COMMAND NUMBER
   INB 1 WORDS TO IB(0), ABT 74  *READ STATUS 
   IF(IB(0).EQ.0) RETURN     *IF NO STAT. ERR.
   IF(ES.AND.SL.NE.0) RETURN  *IF SCOPING LOOP ON 
   MSG 3 (IB(0)) TO LINE 4   *POST NON-ZERO STATUS
   B14=B14+1                 *UPDATE ERROR COUNT
   B11=2
   FUNC DSTATUS, ABT 74      *FUNCT DETAIL STATUS 
   B11=3
   INB 8 WORDS TO IB(0), ABT 74  *INPUT STATUS
   MSG 4 TO LINE 5           *DISPLAY DETAIL STATUS 
   MSG 5(OB(0),OB(1))TO LINE 6
   MSG 6(OB(2),OB(3))TO LINE 7
   MSG 7(OB(4),OB(5))TO LINE 8
   MSG 8(OB(6),OB(7))TO LINE 9
   PICTURE
   HALT 
   MSG 12 TO PRINT
   BLANK
   GOTO 42                   *CHECK END OF CONDITION
* 
*         POST RUNNING MESSAGE AND RESERVE CCC CHANNEL. 
* 
70 B15=B15+1                 *UPDATE PASS COUNT 
   IF(ES.AND.SL.EQ.0)MSG 0 TO DISPLAY 
   IF(ES.AND.SL.NE.0)MSG 2(B14,B15) TO DISPLAY
   B11= 7                    *RES COMMAND NUMBER
   RES,ABT 74                *RESERVE CCC CHANNEL 
   RETURN                    *EXIT THE SUBROUTINE 
* 
*         PROCESS COMMAND ABORTS IN THE MODULE. 
* 
74 B14=B14+1                 *UPDATE ERROR COUNT
   IF(ES.AND.SL.EQ.0) CALL 98A  *PROCESS ABORT ERROR
* 
   ENDSUB GOTO 42            *GO TO END OF THE CONDITION
* 
76 END 30                    *END OF THE MODULE 
COMPILE,SOURCE               *NIP01 INVOKE INTEGRITY TEST 
   MODULE NIP98A,6000(31,32)LOCK
***       NIP98A - POST DRIVER/COMMAND ABORTED ERROR DISPLAY
**
*    1.0  EXTERNAL MODULE DOCUMENTATION 
*         ----------------------------- 
* 
*    1.1  PURPOSE-
*         BUILD THE ERROR DISPLAY BY PLACING THE TEST TITLE AND MODULE
*         TITLE LINES IN THE ERROR  DISPLAY,  INSERT  THE DISPLAY LINE
*         FOR MALET COMMAND  ABORTED ERRORS, AND  REPORT THE ERROR  TO
*         THE USER. 
* 
* 
*    1.2  METHOD- 
*         1.  MOVE THE  TEST  TITLE AND MODULE TITLE LINES TO THE ERROR 
*             DISPLAY BEING BUILT.
*         2.  DETERMINE THE LINE IN THE ERROR DISPLAY TO POST THE MALET 
*             COMMAND ABORTED ON. 
*         3.  MOVE THE MALET  COMMAND  ABORTED  MESSAGE  TO  THE  ERROR 
*             DISPLAY.
*         4.  REPORT THE ERROR TO THE USER AND WAIT FOR A GO. 
*         5.  SEND A LINE CONTAINING ALL DASHES TO THE PRINT FILE.
*         6.  RETURN TO THE CALLING MODULE. 
* 
/    2.0  INTERNAL MODULE DOCUMENTATION 
* 
*    2.1  ENTRY CONDITIONS
* 
*         B11 - NUMBER OF PRODUCT OVERLAY COMMAND ABORTED.
*         B13 - MODULE NUMBER 
* 
*    2.2  REGISTER AND BUFFER USAGE 
* 
*         NONE
* 
*    2.3  SUBMODULES USED 
* 
*         NONE
* 
* 
0  FORMAT NIP - NIP MONITOR 
1  FORMAT NIP01 - INVOKE INTEGRITY TEST 
2  FORMAT NIP*DE ABORTED ON FUNCTION
3  FORMAT NIP*DE ABORTED ON INB COMMAND 
4  FORMAT NIP*DE ABORTED ON OUT COMMAND 
5  FORMAT NIP*DE ABORTED ON .RES. COMMAND 
11 FORMAT  LAST FUNCTION = *OCTB
27 FORMAT --------------------------------------------------
  
* 
/---------BUILD THE ERROR DISPLAY.
* 
30 MSG 0 TO LINE 0           *TEST TITLE MESSAGE
   MSG B13 TO LINE 1         *MODULE TITLE MESSAGE
   MSG 11 (LF,WT) TO LINE 4  *LAST FUNCTION MESSAGE 
   MSG EM TO LINE 6          *ERROR DESCRIPTION MESSAGE 
* 
/---------POST COMMAND ABORTED AND REPORT THE ERROR.
* 
32 MSG B11 (B13) TO LINE 3   *COMMAND ABORTED MESSAGE 
   PICTURE
   HALT                      *REPORT THE ERROR
   MSG 27 TO PRINT
   BLANK                     *CLEAR THE DISPLAY BUFFER
   EXIT                      *RETURN TO CALLING MODULE
   END 30                    *END OF THE MODULE 
COMPILE                      *NIP98A  POST DRIVER ERROR DISPLAY 
   MODULE NIP99,6000(31,32)LOCK 
***  NIP99 - TABLE OF CONTENTS AND PARAMETERS 
**
* 
/ ------------------TABLE OF CONTENTS-----------------------
/ 
/  NIP99A - TEST MODULE DESCRIPTION 
/ 
/ -------------RESTRICTIONS AND LIMITATIONS-----------------
/ 
/  NIP REQUIRES THAT CONTROLWARE BE LOADED AND EXECUTING IN 
/  THE PRINTER SUBSYSTEM. 
/  THE DATA PATH BETWEEN THE MAINFRAME AND THE CCC MEMORY IS
/  ASSUMED TO BE WORKING. 
/ 
/ ---------------PARAMETER DESCRIPTION----------------------
/ 
/  NIP USES NO PARAMETERS.
/ 
2  END 2                     *END OF THE MODULE 
COMPILE,SOURCE               *NIP99 PARAMETER DOCUMENTATION 
   MODULE NIP99A,6000(31,32)LOCK
/ 
/ 
/       MODULE      MODULE NAME            ACCESS       RUN 
/       NUMBER    AND DESCRIPTION           LEVEL      TIME 
/       ------    ---------------          ------     ------
/ 
/         01   INVOKE INTEGRITY TEST         10       5  SEC
/ 
1  END 1                     *END OF THE MODULE 
COMPILE,SOURCE               *NIP99A DESCRIPTION DOCUMENTATION
